Write a program for 8085 to add ten 16-bit BCD numbers and store 24-bit result at the end of ten given numbers.
Solution:
LXI B,000AH
LXI D,0000H
LXI H,3000H ;assuming starting address is 3000H
Next: MOV A,E
ADD M
DAA
MOV E,A
INX H
MOV A,D
ADC M
DAA
MOV D,A
INX H
JNC Skip
MOV A,B
ADI 01
DAA
MOV B,A
Skip: DCR C
JNZ Next
Store:
MOV M,E
INX H
MOV M,D
INX H
MOV M,B
HLT
Solution:
LXI B,000AH
LXI D,0000H
LXI H,3000H ;assuming starting address is 3000H
Next: MOV A,E
ADD M
DAA
MOV E,A
INX H
MOV A,D
ADC M
DAA
MOV D,A
INX H
JNC Skip
MOV A,B
ADI 01
DAA
MOV B,A
Skip: DCR C
JNZ Next
Store:
MOV M,E
INX H
MOV M,D
INX H
MOV M,B
HLT