# 8086 program to find sum of Even numbers in a given series

Problem – Write a program in 8086 microprocessor to find out the sum of series of even numbers, where numbers are stored from starting offset 500 and store the result at offset 600.

Example –

Algorithm –

1. Assign 500 to SI
2. Load data from offset SI to register CL (count) and assign 00 to register CH inc. SI by 1
3. Load data from offset SI and apply TEST with 01, if result is non zero jump to step 5
4. Add the offset data with register AL
5. Increase offset by 1
6. LOOP to step 3
7. Store the result (content of register AL) to offset 600
8. Stop

Program –

MEMORY ADDRESS MNEMONICS COMMENT
400 MOV SI, 500 SI<-500
403 MOV CL, [SI] CL<-[SI]
405 INC SI SI<-SI+1
406 MOV CH, 00 CH<-00
408 MOV AL, 00 AL<-00
40A MOV BL, [SI] BL<-[SI]
40C TEST BL, 01 BL AND 01
40F JNZ 413 JUMP IF NOT ZERO
411 ADD AL, BL AL<-AL+BL
413 INC SI SI<-SI+1
414 LOOP 40A JUMP TO 40A IF CX NOT ZERO
416 MOV [600], AL AL->[600]
41A HLT END

Explanation –

1. MOV SI, 500: assign 500 to SI
2. MOV CL, [SI]: load data from offset SI to register CL
3. INC SI: increase value of SI by 1
4. MOV CH, 00: assign 00 to register CH
5. MOV AL, 00: assign 00 to register AL
6. MOV BL, [SI]: load data from offset SI to register BL
7. TEST BL, 01: AND register BL with 01
8. JNZ 413: jump to address 413 if not zero
9. ADD AL, BL: add contents of register AL and BL
10. INC SI: increase value of SI by 1
11. LOOP 40A: jump to 40A if CX not zero and CX=CX-1
12. MOV [600], AL: store the value of register AL to offset 600
13. HLT: end.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.