You are on page 1of 7

CSI2006

Microprocessors and Interfacing Techniques


Lab DA-2 20MIC0013
Shreyas Kumar S
Q1.

Ans:
Flowchart:
Code:
DATA SEGMENT
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS, AX

;read operation number from location 4000.


; 1= 8 bit addition,
; 2 = 16 bit addition
; 3= 8 bit sub
; 4=16 bit sub
; 5 = 8bit mul
; 7=8bit div
;numbers stored from 4001.

MOV SI, 4000H


MOV AL, [SI]

CMP AL, 01H


JNZ L1
MOV SI, 4001H ;8 bit addition
MOV AL, [SI]
INC SI
ADD AL, [SI]
JMP LAST

L1:CMP AL, 02H


JNZ L2
MOV SI, 4001H ;16 bit addition
MOV AX, [SI]
INC SI
INC SI
ADD AX, [SI]
JMP LAST

L2:CMP AL, 03H


JNZ L3
MOV SI, 4001H
MOV AL, [SI]
INC SI
SUB AL, [SI] ;8 bit subtraction
JMP LAST

L3:CMP AL, 04H


JNZ L4
MOV SI, 4001H
MOV AX, [SI]
INC SI
INC SI
SUB AX, [SI] ;16 bit subtracction
JMP LAST

L4:CMP AL, 05H


JNZ L5
MOV SI, 4001H
MOV AL, [SI]
INC SI
MOV BL, [SI]
MUL BL ;8 bit multiplication
JMP LAST

L5:CMP AL, 06H


JNZ L6
MOV SI, 4001H
MOV AX, [SI]
INC SI
INC SI
MOV BX, [SI] ;16 bit multiplication
MUL BX
JMP LAST

L6:CMP AL, 07H


JNZ L7
MOV SI, 4001H
MOV AL, [SI]
MOV AH, 0H
INC SI
MOV BL, [SI] ;16 bit division
DIV BL
JMP LAST

L7:CMP AL, 08H


JNZ LAST
MOV SI, 4001H
MOV DX, 0000H
MOV AX, [SI]
INC SI
INC SI
MOV BX, [SI] ;32 bit division
DIV BX

LAST: HLT

CODE ENDS
END START

Screenshots:

You might also like