8086 program to Add two 8 bit numbers
13:05
ØØ Explanation :
·
Consider that a byte of data is present in the
AL register and second byte of data is present in the BL register.
·
We have to add the byte in AL with the byte in
BL.
·
Using ADD instruction add the contents of 2
registers.
·
Result will be stored in the AL register.
·
Display the result using display routine.
For example :
|
AL = 09 H
|
|
09 H
|
|
BL = 02 H
|
+
|
02 H
|
|
|
|
0B H
= (11)10
|
ØØ Algorithm :
Step 1 : Initialise
the data segment.
Step 2 : Get
the first number in AL register.
Step 3 : Get
the second number in BL register.
Step 4 : Add
the two numbers.
Step 5 : Display
the result.
Step 6 :
Stop
ØØ Flowchart : Refer
flowchart 8.
ØØ Program :
.model small
.data
a db 09H
b db 02H
.code
mov ax,
@data ; Initialize data section
mov ds,
ax
mov al,
a ; Load number1 in al
mov bl,
b ; Load number2 in bl
add al,
bl ; add numbers and result in
al
mov ch,
02h ; Count of digits to be
displayed
mov cl,
04h ; Count to roll by 4 bits
mov bh,
al ; Result in reg bh
l2: rol bh,
cl ; roll bl so that msb comes
to lsb
mov dl,
bh ; load dl with data to be
displayed
and dl,
0fH ; get only lsb
cmp dl,
09 ; check if digit is 0-9 or
letter A-F
jbe l4
add dl,
07 ; if letter add 37H else only
add 30H
l4: add dl,
30H
mov ah,
02 ; Function 2 under INT 21H
(Display character)
int 21H
dec ch ; Decrement Count
jnz l2
mov ah,
4CH ; Terminate Program
int 21H
end
ØØ Result :
C:\>tasm
8bit-add.asm
Assembling
file : 8bit-add.asm
Passes : 1
Remaining
memory : 438k
C:\>tlink
8bit-add.obj
C:\>8bit-add
0B
C:\>
0 comments: