8086 program to find sum of digits of 8 bit number

Problem – Write an assembly language program in 8086 microprocessor to find sum of digit of an 8 bit number using 8 bit operation.

Example – Assume 8 bit number is stored at memory location 2050.



Assumptions – Addresses of input data and output data are 2050 and 2051 respectively.

Algorithm –

  1. Load contents of memory location 2050 in register AL
  2. Copy content of register AL to register AH
  3. Assign 0004 to CX Register Pair
  4. Do AND operation on content of AL with 0F and store result in AL
  5. Rotate the contents of AH by executing ROL instruction using CX
  6. Do AND operation on content of AH with 0F and store result in AH
  7. Add AL and AH content and store result in AL
  8. Store the content of AL in memory location 2051

Program –

Memory Address Mnemonics Comments
400 MOV AL, [2050] AL<-[2050]
404 MOV AH, AL AH<-AL
406 MOV CX, 0004 CX <- 0004
409 AND AL, 0F AL <- AL & 0F
40B ROL AH, CX Rotate AH content left by 4 bits(value of CX)
40D AND AH, 0F AH <- AH & 0F
40F ADD AL, AH AL<-AL+AH
411 MOV [2051], AL [2051]<-AL
415 HLT Stop Execution

Explanation –

  1. MOV AL, [2050]: loads contents of memory location 2050 in AL
  2. MOV AH, AL: copy content of register AL to register AH
  3. MOV CX, 0004: assign 0004 to CX register pair
  4. AND AL, 0F: does AND operation on content of AL with 0F and store result in AL
  5. ROL AH, CX: rotate the content of AH register left by 4 bits i.e. value of CX register pair
  6. AND AH, 0F: does AND operation on content of AH with 0F and store result in AH
  7. ADD AL, AH: add AL and AH content and store result in AL
  8. MOV [2051], AL: stores the content of AL in 2051 memory address
  9. HLT: stops executing the program


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.