汇编语言题,谁帮我解释下,谢了!
发布网友
发布时间:2023-08-06 00:50
我来回答
共2个回答
热心网友
时间:2024-12-04 23:37
;程序输出是正确的,但是看不懂,要求输出保存在AL中的十六进制数
CODE SEGMENT
SSEG SEGMENT STACK
SSEG ENDS
ASSUME CS:CODE,SS:SSEG
START: MOV AL,4EH
MOV BL,AL
MOV DL,AL
MOV CL,4
SHR DL,CL
CMP DL,9
JBE NEXT1
ADD DL,7
NEXT1: ADD DL,30H
MOV AH,02H
INT 21H ;显示高位ASCII码
MOV DL,BL
AND DL,0FH
CMP DL,9
JBE NEXT2 ;这个什么意思呢,不相等就跳转?应该用大于或小于跳转吧?
;如果数值在0~9之间,就跳NEXT2执行,否则执行下一句
ADD DL,7 ;这句有什么作用呢?
;如果数值不在0~9之间,那就准备输出A~F
NEXT2: ADD DL,30H
MOV AH,02H
INT 21H ;显示低位ASCII码
MOV AH,4CH
INT 21H
CODE ENDS ;返回DOS
END START追问AND DL,0FH
不好意思,忘问这句了,高四位清零?
追答对,高四位清零?,低四位保持不变
热心网友
时间:2024-12-04 23:37
上面的确是小于就跳转的啊