8085 Programming : In a set of nos add only the odd nos



8085 Programming



                 LDA 2200H  


           MOV C, A  ; Initialize counter  


           LXI H, 2201H  ; Initialize pointer  


           MVI E, 00  ; Sumlow = 0  


           MOV D, E ; Sumhigh = 0  


BACK:      MOV A, M  ; Get the number  


           ANI 01H   ; Mask Bit1 to Bit7  


           JZ SKIP                  ; Do not add if number is even  


           MOV A, E  ; Get the lower byte of sum  


                 ADD M     ; Sum = sum + data  


           MOV E, A   JNC SKIP  ; Store result in E register  


           INR D   ; Add carry to MSB of SUM  


SKIP:        INX H   ; Increment pointer  


           DCR C     ; Decrement counter  


          JNZ BACK  ; Check if counter 0 repeat  


          MOV A, E  


          STA 2300H  ; Store lower byte  


          MOV A, D  


          STA 2301H ; Store higher byte  


         HLT ; Terminate program execution  


  



Comments

Popular posts from this blog

Write a Program to Add two 3x3 Matrix using C

C program for Unit Conversion

Write a Program to Add two 5x5 Matrix using C