📄 03.asm
字号:
data segment
m1 db 'please put into sexadecimal number',13,10,'$'
m2 db 'you put into wrong number',13,10,'$'
m3 db 13,10,'$'
data ends
CODE SEGMENT
ASSUME CS:CODE,ds:data
START:
mov ax,data
mov ds,ax
mov cx,4
input: mov ah,01h
int 21h
push ax
loop input
pop ax
pop bx
pop cx
pop dx
push ax
push bx
push cx
push dx
mov dx,offset m3
mov ah,09h
int 21h
mov bh,4
text:
cmp bh,0
je EXIT
dec bh
pop ax
mov dx,ax
SUB AL,30H
JL error ;输入其他字符
CMP AL,0AH
JL PRINT ;输入0~9
SUB AL,07H
CMP AL,0AH
JL error ;输入其他字符
CMP AL,0FH
JLE PRINT ;输入A~F
SUB AL,20H
CMP AL,0AH
JL error ;输入其他字符
CMP AL,0FH
JLE PRINT ;输入a~f
JMP error ;输入其他字符
PRINT: mov cl,4
mov bl,al
rol bl,cl
mov cx,4
yj : rol bl,1
mov al,bl
and al,01h
add al,30h
mov dl,al
mov ah,02h
int 21h
loop yj
jmp text
error: mov dx,offset m2
mov ah,09h
int 21h
EXIT: MOV AH,4CH ;程序结束并返回DOS
INT 21H
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -