Objective
Write a program to Add Two 16 Bit Numbers in Assembly language. Program should use registers AX and BX to take first and second number to find the sum of two numbers.
For example :
|
AX = 1234 H
|
1234 H
|
|
BX = 0100 H
|
+
|
0100 H
|
|
1334 H
|
Algorithm to Add Two 16 Bit Numbers
Step I : Initialize the data segment.
Step II : Get the first number in AX register.
Step III : Get the second number in BX register.
Step IV : Add the two numbers.
Step V : Display the result.
Program to Add Two 16 Bit Numbers :
We are taking two numbers as input using AX and BX registers which we will be using to calculate sum. After calculating sum we have to print the result as show in below code. Please find the steps which are required to run this program at the end. You should have TASM installed on your machine so that you can run this code. You can find more assembly language codes here.
1 |
<span style="font-family: arial, helvetica, sans-serif; font-size: 14pt; color: #000000;"> .model small <br/> .data <br/> a dw 1234H <br/> b dw 0100H <br/> .code <br/> mov ax, @data ; Initialize data section <br/> mov ds, ax <br/> mov ax, a ; Load number1 in ax <br/> mov bx, b ; Load number2 in bx <br/> add ax, bx ; add numbers. Result in ax <br/> mov ch, 04h ; Count of digits to be displayed <br/> mov cl, 04h ; Count to roll by 4 bits <br/> mov bx, ax ; Result in reg bh <br/> l2: rol bx, cl ; roll bl so that msb comes to lsb <br/> mov dl, bl ; load dl with data to be displayed <br/> and dl, 0fH ; get only lsb <br/> cmp dl, 09 ; check if digit is 0-9 or letter A-F <br/> jbe l4 <br/> add dl, 07 ; if letter add 37H else only add 30H <br/> l4: add dl, 30H <br/> mov ah, 02 ; Function 2 under INT 21H (Display character) <br/> int 21H <br/> dec ch ; Decrement Count <br/> jnz l2 <br/> mov ah, 4cH ; Terminate Program <br/> int 21H <br/> end <br/></span> |
How to Run this Program :
For Running this program you should have installed Tasm on you computer . If you have not installed Tasm yet please install it.
\programs>tasm 16-add.asm
Source projectgeek.com