📄 422.asm
字号:
DATA SEGMENT
RBUF DB 10H
DB ?
DB 10H DUP(?)
DATA ENDS
STACK SEGMENT PARA STACK
DB 10H DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ss:STACK
START:MOV AX,DATA
MOV DS,AX
MOV SI,02H
MOV DX,OFFSET RBUF
MOV AH,0AH
INT 21H
MOV DL,0AH
MOV AH,02H
INT 21H
MOV DL,0DH
MOV AH,02H
INT 21H
MOV CX,3
MOV DX,00H
L1: MOV AL,RBUF[SI]
CALL CONV
OR DL,AL
PUSH CX
CMP CX,0
JLE L2
MOV CL,4
SAL DX,CL
POP CX
INC SI
DEC CX
JGE L1
L2: MOV AX,DX
MOV CX,4
L3: PUSH CX
CMP CX,0
JLE L4
MOV CL,4
ROL AX,CL
MOV BL,AL
CALL CONV_1
PUSH AX
MOV DL,BL
MOV AH,02H
INT 21H
POP AX
POP CX
DEC CX
JGE L3
L4: MOV AH,4CH
INT 21H
CONV PROC
PUSH CX
AND AL,07FH
CMP AL,30H
JGE J1
JMP J5
J1: CMP AL,39H
JG J2
SUB AL,30H
JMP J4
J2: CMP AL,41H
JGE J3
JMP J5
J3: CMP AL,46H
JG J5
SUB AL,37H
J4: AND AL,0FH
J5: POP CX
RET
CONV ENDP
CONV_1 PROC
PUSH CX
AND BL,0FH
CMP BL,09H
JLE J6
ADD BL,07H
J6: ADD BL,30H
POP CX
RET
CONV_1 ENDP
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -