Open Ended Lab: 16 Bit Addition: Code

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 5

OPEN ENDED LAB

16 bit addition:

CODE:
.model small
.data
a db "Enter the first number$"
b db "Enter the second number$"
c db "The sum is: $"
d db 00h

.code
start:
mov ax,@data
mov ds,ax
mov dx,offset a
mov ah,09h
int 21h

mov ah,01h
int 21h
mov bh,al
mov ah,01h
int 21h
mov bl,al

mov dx,offset b
mov ah,09h
int 21h
mov ah,01h
int 21h
mov ch,al
mov ah,01h
int 21h
mov cl,al
add al,bl
mov ah,00h
aaa
add bh,ah
add bh,ch
mov d,al
mov al,bh
mov ah,00h
aaa
mov bx,ax
add bx,3030h

mov dx,offset c
mov ah,09h
int 21h
mov dl,bh
mov ah,02h
int 21h
mov dl,bl
mov ah,02h
int 21h
mov dl,d
add dl,30h
mov ah,02h
int 21h
end start

OUTPUT:

16 bit subtraction:

CODE:

.model small

.data ;data section


msg1 db "Enter a number(both digits must be greater than 2nd number): $"
msg2 db "Enter 2nd number: $"
msg3 db " - $"
msg4 db " = $"
.code

NL Macro
mov ah,02h
mov dl,0ah
Int 21h
mov ah,02h
mov dl,0dh
int 21h
endm

main proc
mov ax,@data
mov ds,ax
mov dx,offset msg1
mov ah,09h
int 21h

mov ah, 1h ;read character wl input stored in al


int 21h

mov bl, al

mov ah,1h
int 21h
mov bh ,al

NL

mov dx,offset msg2 ;displaying msg


mov ah,09h
int 21h

mov ah, 1h
int 21h

mov cl, al

mov ah, 1h
int 21h

mov ch, al

NL

mov dl, bl
mov ah, 2h
int 21h

mov dl, bh
mov ah, 2h
int 21h

mov dx,offset msg3 ;displaying msg


mov ah,09h
int 21h

mov dl, cl
mov ah, 2h
int 21h

mov dl, ch
mov ah, 2h
int 21h

mov dx,offset msg4 ;displaying msg


mov ah,09h
int 21h

sub bl, 30h


sub bh, 30h
sub cl, 30h
sub ch, 30h

sub bl, cl
add bl,30h
mov ah,02h
mov dl,bl
int 21h

sub bh, ch
add bh,30h
mov ah,02h
mov dl,bh
int 21h
endp

OUTPUT:

You might also like