MP (CS3005-1) Lab Manual 2023-24-6-9
MP (CS3005-1) Lab Manual 2023-24-6-9
DISPCHAR MACRO
MOV AH, 02H
INT 21H
ENDM
INCLUDE F1.MAC
INCLUDE F2.MAC
DATA SEGMENT
str db 50 DUP(?)
n db ?
msg1 db 10, 13, 'ENTER STRING : $'
msg2 db 10, 13, 'ENTERED STRING IS : $'
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START:
MOV AX, DATA
MOV DS, AX
LEA DX, msg1
MOV AH, 09H
INT 21H
LEA SI, str
CALL READSTRING
MOV n, CL
LEA DX, msg2
MOV AH, 09H
INT 21H
LEA SI, str
MOV CL, n
CALL DISPSTRING
MOV AH, 4CH
INT 21H
Page No. 7
MOV [SI], AL
INC SI
INC CL
JMP UP
L1:
RET
READSTRING ENDP
DATA SEGMENT
n DB ?
msg1 DB 10, 13, 'ENTER THE CHARACTER : $'
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
Page No. 8
START:
MOV AX, DATA
MOV DS, AX
LEA DX, msg1
MOV AH, 09H
INT 21H
MOV AH, 01H
INT 21H
MOV n, AL
CLRSCR
SETCURSOR 12, 40
MOV BL, n
CALL DISPHEXA
MOV AH, 01H
INT 21H
MOV AH, 4CH
INT 21H
DISPHEXA PROC NEAR
MOV DL, BL
MOV CL, 04H
SHR DL, CL
CMP DL, 09H
JBE L1
ADD DL, 07H
L1:
ADD DL, 30H
MOV AH, 02H
INT 21H
MOV DL, BL
AND DL, 0FH
CMP DL, 09H
JBE L2
ADD DL, 07H
L2:
ADD DL, 30H
MOV AH, 02H
INT 21H
RET
DISPHEXA ENDP
CODE ENDS
END START
Page No. 9