LAB4 codes - WordPress.com

advertisement
TASK # 1: Assume that there is a class of five students with following grades 90,
84, 120, 10, 60. Find the highest grade
.MODEL SMALL
.STACK 64
.DATA
NUM DB
90,84,120,10,60
HIGHEST DB
?
COUNT EQU 5
.CODE
.STARTUP
XOR AX,AX
MOV CX,COUNT
LEA BX,NUM
L_1: CMP AL,[BX]
JA
L_2
MOV AL,[BX]
L_2: INC BX
DEC CX
JNZ L_1
MOV HIGHEST,AL
.EXIT
END
OR
.MODEL SMALL
.STACK 64
.DATA
NUM DB
90,84,120,10,60
HIGHEST DB
?
COUNT EQU 5
.CODE
.STARTUP
XOR AX,AX
MOV CX,COUNT
LEA BX,NUM
L_1: CMP AL,[BX]
JA
L_2
MOV AL,[BX]
L_2: INC BX
LOOP L_1
MOV HIGHEST,AL
.EXIT
END
TASK # 2: Write a program to find the number of characters in a string. Display
your output at row = 10 and column = 10
.MODEL SMALL
.STACK 64
.DATA
STRING1 DB
9,?,9 DUP (?)
RESULT DB
?
OUTPUT1 DB
'NUMBER OF CHARACTERS YOU TYPED: ','$'
.CODE
MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX
XOR AX,AX
CALL
CALL
LEA
LEA
XOR
MOV
OR
MOV
CALL
CALL
MOV
MOV
INT
CLR_SCR
GET_DAT
SI,STRING1
DI,OUTPUT1
CX,CX
CL,[SI+1]
CL,30H
RESULT,CL
CUR_POS
DIS_SCR
DL,RESULT
AH,02
21H
MOV AH,4CH
INT 21H
MAIN ENDP
;-------GET DATA------------------------GET_DAT PROC
MOV AH,0AH
MOV DX,OFFSET STRING1
INT 21H
RET
GET_DAT ENDP
;-------DISPLAY SCREEN------------------DIS_SCR PROC
MOV AH,09
MOV DX,OFFSET OUTPUT1
INT 21H
RET
DIS_SCR ENDP
;-------CLEAR SCREEN--------------------CLR_SCR PROC
MOV AX,0600H
MOV BH,07
MOV CX,0000
MOV DX,184FH
INT 10H
RET
CLR_SCR ENDP
;-------CURSOR POSITION-----------------CUR_POS PROC
MOV AH,02
MOV BH,00
MOV DH,10
MOV DL,10
INT 10H
RET
CUR_POS ENDP
END
TASK # 3: Write a program to display a message as: ‘There is a message for you
Mr. Ahmad. Press key Y or y to read the message’. If user press key Y or y display
a message as: ‘Today, there is no class, ’ otherwise display a message as
‘Today, there is no class, ’
.MODEL SMALL
.STACK 64
.DATA
MESSAGE1 DB 'THERE IS A MESSAGE FOR YOU MR. AHMAD.'
DB 'PRESS KEY Y OR y TO READ THE MESSAGE. ','$'
MESSAGE2 DB 0AH,0DH,'TODAY, THERE IS NO CLASS',01,'$'
MESSAGE3 DB 0AH,0DH,'TODAY, THERE IS A CLASS',02,'$'
RESULT DB
?
.CODE
MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX
XOR AX,AX
MOV AH,09
MOV DX,OFFSET MESSAGE1
INT 21H
MOV AH,01
INT 21H
CMP AL,'Y'
JE
M_2
CMP AL,'y'
JE
M_2
JMP M_3
M_2: MOV AH,09
MOV DX,OFFSET MESSAGE2
INT 21H
JMP M_S
M_3: MOV AH,09
MOV DX,OFFSET MESSAGE3
INT 21H
M_S:
MOV AH,4CH
INT 21H
MAIN ENDP
Download