You are on page 1of 19

Name: Gaurav Kumar Singh

Registration Number: 19BCE2119

Course Title: Microprocessor and Interfacing

Course Code: CSE2006

Faculty Name: Prof. Krishnamoorthy A

Slot: L11+L12

Digital Assignment 2

CODE:

.MODEL SMALL

.STACK 100H

.DATA

MSG1 DB 'Addition:'1'$'

MSG2 DB 10,13,'Subtraction:'2'$'

MSG3 DB 10,13,'Multiplication:'3'$'

MSG4 DB 10,13,'Division:'4'$'

MSG5 DB 10,13,'Enter Your Choice:$'

MSG6 DB 10,13,10,13,'Enter 1st Number:$'

MSG7 DB 10,13,'Enter 2nd Number:$'

MSG8 DB 10,13,10,13,'Result:$'

MSG DB 10,13,10,13,'19BCE2119-Gaurav Kumar Singh$'

NUM1 DB ?

NUM2 DB ?
RESULT DB ?

.CODE

MAIN PROC

MOV AX,@DATA

MOV DS,AX

LEA DX,MSG1

MOV AH,9

INT 21H

LEA DX,MSG2

MOV AH,9

INT 21H

LEA DX,MSG3

MOV AH,9

INT 21H

LEA DX,MSG4

MOV AH,9

INT 21H

LEA DX,MSG5

MOV AH,9

INT 21H

MOV AH,1

INT 21H

MOV BH,AL

SUB BH,48

CMP BH,1

JE ADD

CMP BH,2
JE SUB

CMP BH,3

JE MUL

CMP BH,4

JE DIV

ADD:

LEA DX,MSG6

MOV AH,9

INT 21H

MOV AH,1

INT 21H

MOV BL,AL

LEA DX,MSG7

MOV AH,9

INT 21H

MOV AH,1

INT 21H

MOV CL,AL

ADD AL,BL

MOV AH,0

AAA

MOV BX,AX

ADD BH,48

ADD BL,48

LEA DX,MSG8

MOV AH,9

INT 21H
MOV AH,2

MOV DL,BH

INT 21H

MOV AH,2

MOV DL,BL

INT 21H

JMP EXIT_P

SUB:

LEA DX,MSG6

MOV AH,9

INT 21H

MOV AH,1

INT 21H

MOV BL,AL

LEA DX,MSG7

MOV AH,9

INT 21H

MOV AH,1

INT 21H

MOV CL,AL

SUB BL,CL

ADD BL,48

LEA DX,MSG8

MOV AH,9

INT 21H
MOV AH,2

MOV DL,BL

INT 21H

JMP EXIT_P

MUL:

LEA DX,MSG6

MOV AH,9

INT 21H

MOV AH,1

INT 21H

SUB AL,30H

MOV NUM1,AL

LEA DX,MSG7

MOV AH,9

INT 21H

MOV AH,1

INT 21H

SUB AL,30H

MOV NUM2,AL

MUL NUM1

MOV RESULT,AL

AAM

ADD AH,30H

ADD AL,30H

MOV BX,AX

LEA DX,MSG8

MOV AH,9
INT 21H

MOV AH,2

MOV DL,BH

INT 21H

MOV AH,2

MOV DL,BL

INT 21H

JMP EXIT_P

DIV:

LEA DX,MSG6

MOV AH,9

INT 21H

MOV AH,1

INT 21H

SUB AL,30H

MOV NUM1,AL

LEA DX,MSG7

MOV AH,9

INT 21H

MOV AH,1

INT 21H

SUB AL,30H

MOV NUM2,AL

MOV CL,NUM1

MOV CH,00

MOV AX,CX

DIV NUM2
MOV RESULT,AL

MOV AH, 00

AAD

ADD AH,30H

ADD AL,30H

MOV BX,AX

LEA DX,MSG8

MOV AH,9

INT 21H

MOV AH,2

MOV DL,BH

INT 21H

MOV AH,2

MOV DL,BL

INT 21H

JMP EXIT_P

EXIT_P:

LEA DX,MSG

MOV AH,9

INT 21H

EXIT:

MOV AH,4CH

INT 21H

MAIN ENDP

END MAIN
SCREENSHOT:
CODE:

.model small

.STACK 100

.data

.code

SUM DB ?

NUM DB ?,?,?,?,?,?,?,?,?,?

START:

MOV CL, 0AH

MOV AX, 0000H

MOV BX, 0000H

MOV DX, OFFSET NUM

BACK:

MOV DL, AH

ADD AH, 02H

ADD AL, AH

INC DX

INC DX

DEC CL

JNZ BACK

MOV BX, OFFSET SUM

MOV BYTE PTR [BX], AL

MOV AH, SUM

END START
SCREENSHOT:
CODE:

.model small

.STACK 100

DATA SEGMENT

ARR DW 0001H,0121H,0161H,2112H,3161H,4561H

SR EQU 3161H

MSG1 DB 'ELEMENT FOUND AT '

RES DB ' POSITION','$'

MSG2 DB 'ELEMENT NOT FOUND','$'

DATA ENDS

ASSUME CS: CODE, DS: DATA

CODE SEGMENT

START: MOV AX, DATA

MOV DS, AX

MOV BX,00H

MOV CX, SR

MOV DX,05H

LP: CMP BX, DX

JA FAILURE

MOV AX, BX

ADD AX, DX

SHR AX,01

MOV SI, AX
ADD SI, SI

CMP CX, ARR[SI]

JAE BIGGER

DEC AX

MOV DX, AX

JMP LP

BIGGER: JE SUCCESS

INC AX

MOV BX, AX

JMP LP

SUCCESS: ADD AL,01H

ADD AL,2FH

MOV RES, AL

LEA DX, MSG1

JMP DISPLAY

FAILURE: LEA DX, MSG2

DISPLAY: MOV AH,09H

INT 21H

MOV AH,4CH

INT 21H

CODE ENDS

END START
SCREENSHOT:

You might also like