在屏幕上输入4个十六进制数,将其转换成二进制数,并在屏幕上输出结果。
CODE SEGMENT
ASSUME CS:CODE
START: MOV DX,0
MOV BL,4 ;输入字符个数
INPUT: MOV AH,01H
INT 21H ;键盘输入
SUB AL,30H
JL EXIT ;输入其他字符
CMP AL,0AH
JL CHANGE ;输入0~9
SUB AL,07H
CMP AL,0AH
JL EXIT ;输入其他字符
CMP AL,0FH
JLE CHANGE ;输入A~F
SUB AL,20H
CMP AL,0AH
JL EXIT ;输入其他字符
CMP AL,0FH
JLE CHANGE ;输入a~f
JMP EXIT ;输入其他字符
CHANGE:MOV CL,4
SHL DX,CL
MOV AH,0
ADD DX,AX ;(DX)←(DX)*16+(AX)
DEC BL
JNZ INPUT
CALL PRINT ;调用PRINT,在屏幕上输出其对应的二进制数。
JMP EXIT
PRINT PROC NEAR
MOV CX,16D
MOV BX,DX
ROT:
SHL BX,1D
JC SET
MOV DL,30H
MOV AH,2
INT 21H
DEC CX
JNZ ROT
RET
SET:
MOV DL,31H
MOV AH,2
INT 21H
DEC CX
JNZ ROT
RET
PRINT ENDP
EXIT: MOV AH,4CH ;程序结束并返回DOS
INT 21H
CODE ENDS
END START
最后修改于 2020-08-10 17:09
阅读(
?)
评论(0)编辑删除
评论 想第一时间抢沙发么?