You are on page 1of 9

DIGITAL ASSIGNMENT - 1

NAME:- Shivam Kapoor


REG. NO.:- 15BCE1339
FACULTY:- Prof. Khadar Nawas
----------------------------------------------------------------
Q1) Write MASM code to find sum of input and print GOOD if
greater than 10 else print VERY GOOD.

CODE

DATA SEGMENT
STR1 DB "GOOD$"
STR2 DB "VERY GOOD$"
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AX,03H ;INPUT1 = 03
MOV BX,08H ;INPUT2 = 08
ADD AX,BX
CMP AX,0AH
JB PRINT2
JA PRINT1

PRINT1: MOV AH,09H


LEA DX,STR1
INT 21H
JMP H

PRINT2: MOV AH,09H


LEA DX,STR2
INT 21H
JMP H

H: HLT
CODE ENDS
END START

SCREENSHOTS

For sum = (03) + (08) = 11(0BH) ---> Result = GOOD

For Sum = (03) + (03) = 06 ---> Result = Very Good


Q2) Perform 3*4 and 8/4 Without using arithmetic operations
and make suitable procedures for the same.

CODE

CODE SEGMENT
ASSUME CS:CODE
START: MOV AX,03H
CALL PROC1
MOV BX,08H
CALL PROC2
HLT

PROC1 PROC NEAR


SHL AX,02
RET
PROC1 ENDP

PROC2 PROC NEAR


SHR BX,02
RET
PROC2 ENDP

CODE ENDS
END START

Register AX had 03H initially, at the end of processing, it holds 12(0AH).

Similarly, Register BX holds 08H initially, after SHR two times, the value obtained is
02. (present in BX register)
------------------------------------------------------------------------------------------

Q3) PAN card verification.

CODE

DATA SEGMENT
STR DB "AXACL534P$"
C DB "Company$"
F DB "Firm$"
B DB "Body of individuals$"
A DB "Association of persons$"
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,04H
LEA SI,STR
MOV AL,[SI+3]
LEA SI,A
CMP AL,'A'
JZ PRINT
LEA SI,c
CMP AL,'C'
JZ PRINT
LEA SI,F
CMP AL,'F'
JZ PRINT
LEA SI,B
CMP AL,'B'
JZ PRINT
JNZ H

PRINT: MOV DX,SI


MOV AH,09H
INT 21H

H: HLT

CODE ENDS
END START

SCREENSHOTS
Q4) File creation using MASM and interrupts.

CODE

DATA SEGMENT
MSG1 DB 10,13,'ENTER ANY STRING :- $'
MSG2 DB 10,13,'LENGTH OF STRING IS :- $'
MSG3 DB 10,13,'REVERSE OF ENTERED STRING IS :- $'

P1 LABEL BYTE
M1 DB 0FFH
L1 DB ?
P11 DB 0FFH DUP ('$')
P22 DB 0FFH DUP ('$')
DATA ENDS

DISPLAY MACRO MSG


MOV AH,9
LEA DX,MSG
INT 21H
ENDM

CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA
MOV DS,AX
DISPLAY MSG1
LEA DX,P1
MOV AH,0AH
INT 21H
DISPLAY MSG2
MOV DL,L1
ADD DL,30H
MOV AH,2
INT 21H
DISPLAY MSG3
MOV DX,OFFSET ISR0FF
MOV AX,25FFH
INT 21H
DISPLAY P22
LEA SI,P11
LEA DI,P22
MOV [DI],'$'
DEC DI
INT 0FFH
HLT

ISR0FF PROC NEAR


REVERSE: MOV BH,[SI]
CMP BH,'$'
JMP IR
MOV [DI],BH
INC SI
DEC DI
JMP REVERSE

IR: IRET
ISR0FF ENDP

CODE ENDS
END START

SCREENSHOTS
DIGITAL ASSIGNMENT - 2
NAME:- Shivam Kapoor
REG. NO.:- 15BCE1339
FACULTY:- Prof. Khadar Nawas
----------------------------------------------------------------

You might also like