|
8-bit HEX to BCD convertor |
| Written by Amol Shah, on Aug-2008 |
|
|
This subroutine converts 8 bit Hexadecimal number into its equivalent BCD value. The number to be converted should be in the Accumulator. The output BCD number is stored in R0 & R1. R0 is used to save the MSB i.e. the hundreds place & R1 stores the LSB i.e. the Tens & Units place. hextobcd: mov r0,#00h mov r1,#00h cjne a,#00h,c1_hextobcd //If number is not 0 then continue ret c1_hextobcd: clr c mov b,#100 //First divide by 100 div ab mov r0,a //save MSB in R0 clr c mov a,b mov b,#10 //Divide by 10 div ab swap a mov r1,a //save the tens place in the Higher nibble of R1 mov a,b orl a,r1 mov r1,a // save the tens place in the Lower nibble of R1 ret
Users' Comments (0)
|
|
|