Statement:Calculate the sum of series of odd numbers from the list of numbers. The length of the list is in memory location 2200H and the series itself begins from memory location 2201H. Assume the sum to be 16-bit. Store the sum at memory locations 2300H and 2301H.
Home
8085 Forum
8085 Free Projects
8085 Free Programs
8085 Tutorials
8085 details
Interfacing Techniques
Electronic Tutorials
Electronic Projects
Assembler/ IDE
Datasheets
Guest Book
About Me
Sample problem:

       2200H = 4H
       2201H= 9AH
       2202H= 52H
       2203H= 89H
       2204H= 3FH
               Result = 89H + 3FH = C8H
                       2300H= H Lower byte
                       2301H = H Higher byte

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
               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


FLOWCHART