Source program :
- LDA 2200H
- MOV C, A : Initialize counter
- LXI H, 2201H : Initialize pointer
- MVI E, 00 : Sum low = 0
- MOV D, E : Sum high = 0
- BACK: MOV A, M : Get the number
- ANI 0lH : Mask Bit 1 to Bit7
- JZ SKIP : Don't add if number is even
- MOV A, E : Get the lower byte of sum
- ADD M : Sum = sum + data
- MOV E, A : Store result in E register
- JNC SKIP
- INR D : Add carry to MSB of SUM
- SKIP: INX H : Increment pointer
|
Flowchart for program
|
0 Comments