Professional Documents
Culture Documents
Semester
Visvesvaraya Technological University
BCET
ISE
DISPCHAR.MAC
READKB.MAC
REV:POP AX
MOV DL,AL
MOV AH,02H
INT 21H
LOOP REV
DEC SI
DEC SI
MOV DI,SI
MOV SI,00H
NC: MOV AL,STR[SI]
CMP AL,STR[DI]
JNZ FL_MSG
INC SI
DEC DI
JNZ NC
MOV AH,09H
MOV DX,OFFSET MSG1
INT 21H
JMP END_PR
FL_MSG: MOV AH,09H
MOV DX,OFFSET MSG2
INT 21H
END_PR: MOV AH,4CH
INT 21H
END
6. a) Read two strings, store them in locations STR1 and
STR2. Check whether they are equal or not and display
appropriated messages. Also display the length of the
stored strings.
Program:
;6A) PROGRAM TO READ TWO STRINGS STR1 AND STR2 AND COMPARE THEM.
.MODEL SMALL
.STACK
.DATA
STR1 DB 20 DUP(?)
STR2 DB 20 DUP(?)
MS1 DB 'ENTER THE STRING1: $'
MS2 DB 'ENTER THE STRING2: $'
MSG1 DB 13,10,"STRINGS ARE EQUAL$"
MSG2 DB 13,10,"STRINGS ARE NOT EQUAL$"
.CODE
MOV AX,@DATA
MOV DS,AX
MOV SI,00H
MOV DI,00H
MOV AH,09H
LEA DX,MS1
INT 21H
SG1: MOV AH,01H
INT 21H
MOV STR1[SI],AL
INC SI
CMP AL,0DH
JNZ SG1
MOV DL,0AH
MOV AH,02H
INT 21H
MOV DL,0DH
MOV AH,02H
INT 21H
MOV AH,09H
LEA DX,MS1
INT 21H
SG2: MOV AH,01H
INT 21H
MOV STR2[DI],AL
INC DI
CMP AL,0DH
JNZ SG2
DEC DI
DEC SI
nc: MOV AH,STR1[SI]
CMP AH,STR2[DI]
JNZ FL_MSG
DEC SI
DEC DI
JNZ NC
MOV AH,STR1
CMP AH,STR2
JNZ FL_MSG
CMP SI,DI
JNZ NC
MOV AH,09H
MOV DX,OFFSET MSG1
INT 21H
JMP END_PR
FL_MSG: MOV AH,09H
MOV DX,OFFSET MSG2
INT 21H
END_PR: MOV AH,4CH
INT 21H
END
7. a) Read your name from the keyboard and display it at a
specified location on the screen in front of the message
What is your name? You must clear the entire screen
before display.
Program:
;7A) READ YOUR NAME FROM THE KEYBOARD AND DISLAY IT AS A SPECIFIC LOCATION
; ON THE SCREEN IN FRONT OF MESSAGE WHAT IS YOUR NAME ?
READSTR MACRO LOC ;MACRO TO READ A CHARACTER
MOV AH,01H
INT 21H
MOV LOC,AL
ENDM
.MODEL SMALL
.STACK
.DATA
M0 DB 'ENTER NAME:$'
M1 DB 'WHAT IS YOUR NAME? $'
LEN DW ($-M1)
ARR DB 40H DUP(?)
.CODE
MOV AX,@DATA
MOV DS,AX
MOV SI,00
LEA DX,M0
MOV AH,09H
INT 21H
LOOP1: READSTR ARR[SI] ;READ NAME FROM THE KEYBOARD
INC SI
CMP AL,13
JNZ LOOP1
MOV ARR[SI],'$'
MOV AH,00 ;CLEAR THE SCREEN
MOV AL,3
INT 10H
MOV AH,2 ;POSITION THE CURSOR
MOV BH,0
MOV DH,2
MOV DL,20
INT 10H
LEA DX,M1
MOV AH,09H
INT 21H
MOV SI,0
D: LEA DX,ARR[SI]
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
END
8. a) Compute the factorial of a positive integer ‘n’ using
recursive procedure.
Program:
;8A) COMPUTE FACTORIAL OF POSITIVE INTEGER 'N' USING RECURSIVE PROCEDURE
.MODEL SMALL
.STACK
.DATA
NUM DB 05H
RES DW 01H (?)
MSG DB "THE FACTORIAL IS :$"
.CODE
MOV AX,@DATA
MOV DS,AX
MOV AX,01H
CALL FACT
MOV RES,AX
LEA DX,MSG
MOV AH,09H
INT 21H
MOV AX,RES
CALL ASCII
MOV AH,4CH
INT 21H