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.
- Load contents of memory location 2050 in register AL
- Copy content of register AL to register AH
- Assign 0004 to CX Register Pair
- Do AND operation on content of AL with 0F and store result in AL
- Rotate the contents of AH by executing ROL instruction using CX
- Do AND operation on content of AH with 0F and store result in AH
- Add AL and AH content and store result in AL
- Store the content of AL in memory location 2051
|400||MOV AL, ||AL<-|
|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 , AL||<-AL|
- MOV AL, : loads contents of memory location 2050 in AL
- MOV AH, AL: copy content of register AL to register AH
- MOV CX, 0004: assign 0004 to CX register pair
- AND AL, 0F: does AND operation on content of AL with 0F and store result in AL
- ROL AH, CX: rotate the content of AH register left by 4 bits i.e. value of CX register pair
- AND AH, 0F: does AND operation on content of AH with 0F and store result in AH
- ADD AL, AH: add AL and AH content and store result in AL
- MOV , AL: stores the content of AL in 2051 memory address
- HLT: stops executing the program
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.