Wednesday, September 29, 2010

multiplication of two 16 bit numbers

.model small
data  segment  
a dw 1234H
b dw 0100H
data ends
code  segment
assume cs:code,ds:data
            mov      ax, data           
            mov      ds, ax
            mov      ax, a                
            mov      bx, b               
            mul       bx       
        mov     bx,dx       
            mov      ah, 4cH           
            int         3H
code ends
end

2’s Compliment

.model small
.data
a dw 1234H
.code
            mov      ax, @data       
            mov      ds, ax
            mov      ax, a                
            mov      cx, 16              
up:        rcl        ax, 1                
            cmc                             
            loop     up                   
            rcl        ax, 1                
            add      ax, 1                
           
            mov      ah, 4cH
            int  3H
            end

1’s Compliment

.model small
.data
  a db 04H
.code
            mov      ax, @data       
            mov      ds, ax
            mov      al, a                 
            mov      cx, 08              
up:        rcl        al, 1                 
            cmc                             
            loop     up                   
            rcl        al, 1                 
            add      al, 1                 
           
            mov      ah, 4cH
            int  3H
            end 

PROGRAM FOR TO FIND SMALL NO. BY COMPAIRING TWO Numbers

model small
.data
a db 09H
b db 08H 
.code
mov ax, @data
mov ds, ax
mov ah, 0
mov al, a
mov bl, b
mov bh, 0

cmp bl,al
jnc x
mov al,bl
x: mov ah, 4cH
int 3H
end