| ??? 08/09/11 05:48 Read: times |
#183270 - divide by 10 Responding to: ???'s previous message |
thank you for the response. Why should the decimal value 100 be loaded into the B register? everywhere in my text book shows the value 10. here is the code from the book
RAM_ADDR EQU 40H
ASCI_RSULT EQU 50H
COUNT EQU 3
;------------MAIN PROGRAM
ORG 0
ACALL BIN_DEC_CONVRT
ACALL DEC_ASCI_CONVRT
SJMP $
;----------CONVERTING BIN (HEX) TO DEC (00-FF TO 000-255)
BIN_DEC_CONVRT:
MOV R0, #RAM_ADDR
MOV A, P1
MOV B, #10
DIV AB
MOV @R0, B
INC R0
MOV B, #10
DIV AB
MOV @R0, B
INC R0
MOV @R0, A
RET
;-------CONVERTING DEC DIGITS TO DISPLAYABLE ASCII DIGITS
DEC_ASCI_CONVRT:
MOV R0, #RAM_ADDR
MOV R1, #ASCI_RSULT
MOV R2, #3
BACK: MOV A, @R0
ORL A, #30H
ACALL SEND
MOV @R1, A
INC R0
INC R1
DJNZ R2, BACK
RET
I'm not saying that i don't believe you, just that I wish the instructor would have pointed out that mistake in the book instead of confusing everyone. originally in the above code the MOV A, P1 instruction was to move the value from the dip switches on the 8051. i had changed it to port 2 cause i wasnt really sure where to get the data to convert. the only other place i can think of is TL0. |
| Topic | Author | Date |
| need help to display timer count on hyperterminal and LED'S | 01/01/70 00:00 | |
| Attention to Details | 01/01/70 00:00 | |
| divide by 10 | 01/01/70 00:00 | |
| Hundredth digit is quotient of division by 100 | 01/01/70 00:00 | |
| thanks | 01/01/70 00:00 | |
| Debugged with pen and paper? | 01/01/70 00:00 | |
| Debugged | 01/01/70 00:00 | |
| Decimal or hexadecimal? | 01/01/70 00:00 | |
| decision | 01/01/70 00:00 | |
| So take up the challenge then | 01/01/70 00:00 | |
| agreed | 01/01/70 00:00 | |
| Actually BCD!! | 01/01/70 00:00 | |
| Oh Details Details | 01/01/70 00:00 | |
| update | 01/01/70 00:00 | |
| Issues | 01/01/70 00:00 | |
| better to check before sending | 01/01/70 00:00 | |
Even Better.... | 01/01/70 00:00 |



