EN - NO:090410107061 Practical: 2 Aim: Program For 8 Bit, 16 Bit, 32 Bit Manipulation 1. 8 Bit ADDITION
EN - NO:090410107061 Practical: 2 Aim: Program For 8 Bit, 16 Bit, 32 Bit Manipulation 1. 8 Bit ADDITION
NO:090410107061
PRACTICAL: 2
AIM: PROGRAM FOR 8 BIT,16 BIT,32 BIT MANIPULATION
1. 8 bit ADDITION
data segment
x db 06h
y db 04h
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov al,x
mov bl,y
add al,bl
mov ax,4ch
int 21h
code ends
end start
OUTPUT:
C:\tasm>tasm d.asm
Assembling file: d.asm
Error messages: None
C:\tasm>tlink d.obj
Turbo Link Version 3.01 Copyright (c) 1987, 1990 Borland International
Warning: No stack
C:\tasm>debug d.exe
-t
MOV
DS,AX
-t
AX=13C5 BX=0000 CX=0023 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=13C5 ES=13B5 SS=13C5 CS=13C6 IP=0005 NV UP EI PL NZ NA PO NC
13C6:0005 A00000
MOV
AL,[0000]
DS:0000=06
-t
MOV
BL,[0001]
DS:0001=04
ADD
AL,BL
-t
MOV
AX,004C
-t
INT
21
-t
NOP
-q
2. 8 BIT SUBTRACTION
data segment
x db 06h
y db 04h
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov al,x
mov bl,y
sub al,bl
mov ax,4ch
int 21h
code ends
end start
OUTPUT:
C:\tasm>tasm d.asm
Turbo Assembler Version 3.1 Copyright (c) 1988, 1992 Borland International
Assembling file: d.asm
Error messages: None
Warning messages: None
Passes:
C:\tasm>tlink d.obj
Turbo Link Version 3.01 Copyright (c) 1987, 1990 Borland International
Warning: No stack
C:\tasm>debug d.exe
-t
MOV
DS,AX
-t
MOV
AL,[0000]
DS:0000=06
-t
MOV
BL,[0001]
DS:0001=04
-t
SUB
AL,BL
-t
MOV
AX,004C
-t
INT
21
-t
AX=004C BX=0004 CX=0023 DX=0000 SP=FFFA BP=0000 SI=0000 DI=0000
DS=13C5 ES=13B5 SS=13C5 CS=00A7 IP=107C NV UP DI PL NZ NA PO NC
00A7:107C 90
NOP
-q
3. 8 BIT MULTIPLICATION
data segment
x db 06h
y db 04h
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov al,x
mov bl,y
mul bl
mov ax,4ch
int 21h
code ends
end start
OUTPUT:
C:\tasm>tasm mul.asm
Turbo Assembler Version 3.1 Copyright (c) 1988, 1992 Borland International
C:\tasm>tlink mul.obj
Turbo Link Version 3.01 Copyright (c) 1987, 1990 Borland International
Warning: No stack
C:\tasm>debug mul.exe
-t
MOV
DS,AX
-t
MOV
AL,[0000]
DS:0000=06
-t
MOV
BL,[0001]
DS:0001=04
-t
MUL
BL
-t
MOV
AX,004C
-t
INT
21
-t
AX=004C BX=0004 CX=0023 DX=0000 SP=FFFA BP=0000 SI=0000 DI=0000
DS=13C5 ES=13B5 SS=13C5 CS=00A7 IP=107C NV UP DI PL NZ NA PO NC
00A7:107C 90
NOP
-q
4. 8 BIT DIVISION
data segment
x db 06h
y db 02h
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov ah,00h
mov al,x
mov bl,y
div bl
mov ax,4ch
int 21h
code ends
end start
OUTPUT:
C:\tasm>tasm div.asm
Turbo Assembler Version 3.1 Copyright (c) 1988, 1992 Borland International
C:\tasm>tlink div.obj
Turbo Link Version 3.01 Copyright (c) 1987, 1990 Borland International
Warning: No stack
C:\tasm>debug div.exe
-t
MOV
DS,AX
-t
MOV
AH,00
MOV
AL,[0000]
DS:0000=06
-t
MOV
BL,[0001]
DS:0001=02
-t
DIV
BL
-t
MOV
AX,004C
-t
AX=004C BX=0002 CX=0025 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=13C5 ES=13B5 SS=13C5 CS=13C6 IP=0013 NV UP EI PL NZ AC PO NC
13C6:0013 CD21
-t
INT
21
NOP
5. 16 BIT ADDITION
data segment
x dw 0006h
y dw 0002h
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov ax,x
mov bx,y
add ax,bx
mov ax,4ch
int 21h
code ends
end start
OUTPUT:
C:\tasm>tasm add.asm
Turbo Assembler Version 3.1 Copyright (c) 1988, 1992 Borland International
C:\tasm>tlink add.obj
Turbo Link Version 3.01 Copyright (c) 1987, 1990 Borland International
Warning: No stack
C:\tasm>debug add.exe
-t
MOV
DS,AX
-t
AX=13C5 BX=0000 CX=0025 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=13C5 ES=13B5 SS=13C5 CS=13C6 IP=0005 NV UP EI PL NZ NA PO NC
13C6:0005 B400
MOV
AH,00
-t
13C6:0007 A10000
MOV
AX,[0000]
DS:0000=0006
-t
MOV
BX,[0002]
DS:0002=0002
-t
ADD
AX,BX
-t
MOV
AX,004C
-t
AX=004C BX=0002 CX=0025 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=13C5 ES=13B5 SS=13C5 CS=13C6 IP=0013 NV UP EI PL NZ NA PO NC
13C6:0013 CD21
INT
21
-t
NOP
-q
6. 16 BIT SUBTRACTION
data segment
x dw 0006h
y dw 0002h
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov ax,x
mov bx,y
sub ax,bx
mov ax,4ch
int 21h
code ends
end start
OUTPUT:
C:\tasm>tasm sub.asm
Turbo Assembler Version 3.1 Copyright (c) 1988, 1992 Borland International
Passes:
C:\tasm>tlink sub.obj
Turbo Link Version 3.01 Copyright (c) 1987, 1990 Borland International
Warning: No stack
C:\tasm>debug sub.exe
-t
MOV
DS,AX
-t
MOV
AH,00
-t
MOV
AX,[0000]
DS:0000=0006
MOV
BX,[0002]
DS:0002=0002
-t
SUB
AX,BX
-t
MOV
AX,004C
-t
AX=004C BX=0002 CX=0025 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=13C5 ES=13B5 SS=13C5 CS=13C6 IP=0013 NV UP EI PL NZ NA PO NC
13C6:0013 CD21
INT
21
-t
NOP
-q
7. 16 BIT MULTIPLICATION
data segment
x dw 0006h
y dw 0002h
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov ax,x
mov bx,y
mul bx
mov ax,4ch
int 21h
code ends
end start
OUTPUT:
Turbo Assembler Version 3.1 Copyright (c) 1988, 1992 Borland International
C:\tasm>tlink mul.obj
Turbo Link Version 3.01 Copyright (c) 1987, 1990 Borland International
Warning: No stack
C:\tasm>debug mul.exe
-t
MOV
DS,AX
-t
MOV
AX,[0000]
DS:0000=0006
-t
MOV
BX,[0002]
DS:0002=0002
-t
13C6:000C F7E3
MUL
BX
-t
MOV
AX,004C
-t
INT
21
-t
AX=004C BX=0002 CX=0023 DX=0000 SP=FFFA BP=0000 SI=0000 DI=0000
DS=13C5 ES=13B5 SS=13C5 CS=00A7 IP=107C NV UP DI PL NZ NA PO NC
00A7:107C 90
NOP
-q
8. 16 BIT DIVISION
data segment
x dw 0006h
y dw 0002h
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov ax,x
mov bx,y
div bx
mov ax,4ch
int 21h
code ends
end start
OUTPUT:
C:\tasm>tasm div.asm
Turbo Assembler Version 3.1 Copyright (c) 1988, 1992 Borland International
C:\tasm>tlink div.obj
Turbo Link Version 3.01 Copyright (c) 1987, 1990 Borland International
Warning: No stack
C:\tasm>debug div.exe
-t
MOV
DS,AX
-t
MOV
AX,[0000]
DS:0000=0006
-t
MOV
BX,[0002]
DS:0002=0002
-t
DIV
BX
-t
MOV
AX,004C
-t
INT
21
-t
AX=004C BX=0002 CX=0023 DX=0000 SP=FFFA BP=0000 SI=0000 DI=0000
DS=13C5 ES=13B5 SS=13C5 CS=00A7 IP=107C NV UP DI PL NZ AC PO NC
00A7:107C 90
NOP
-q
9. 32 BIT ADDITION
data segment
x dw 0006h
y dw 0002h
z dw 0005h
w dw 0004h
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov ax,x
mov bx,y
mov cx,z
mov dx,w
add ax,bx
adc cx,dx
adc ax,cx
mov ax,4ch
int 21h
code ends
end start
OUTPUT:
C:\tasm>tasm ad.asm
Turbo Assembler Version 3.1 Copyright (c) 1988, 1992 Borland International
C:\tasm>tlink ad.obj
Turbo Link Version 3.01 Copyright (c) 1987, 1990 Borland International
Warning: No stack
C:\tasm>debug ad.exe
-t
MOV
DS,AX
-t
MOV
AX,[0000]
DS:0000=0006
-t
MOV
BX,[0002]
DS:0002=0002
-t
MOV
CX,[0004]
DS:0004=0005
-t
MOV
DX,[0006]
DS:0006=0004
ADD
AX,BX
-t
ADC
CX,DX
-t
ADC
AX,CX
-t
MOV
AX,004C
-t
INT
21
NOP
-q
int 21h
code ends
end start
OUTPUT:
C:\tasm>tasm sb.asm
Turbo Assembler Version 3.1 Copyright (c) 1988, 1992 Borland International
C:\tasm>tlink sb.obj
Turbo Link Version 3.01 Copyright (c) 1987, 1990 Borland International
Warning: No stack
C:\tasm>debug sb.exe
-t
MOV
DS,AX
MOV
AX,[0000]
DS:0000=0006
-t
MOV
BX,[0002]
DS:0002=0002
-t
MOV
CX,[0004]
DS:0004=0005
-t
MOV
DX,[0006]
DS:0006=0004
-t
SUB
AX,BX
SBB
CX,DX
-t
SBB
AX,CX
-t
MOV
AX,004C
-t
INT
21
-t
NOP