主题:[原创]牛人看牛题
fb1zwb
[专家分:0] 发布于 2007-12-28 02:51:00
DIS PROC ;子程序
MOV CL,4
MOV DL,BL
ROL DL,CL
AND DL,0FH
CMP DL,0AH
JB NEXT1
ADD DL,37H
JMP 0K3
NEXT1:
ADD DL,30H
OK3:
MOV AH,02
INT 21H
AND BL,0FH
MOV DL,BL
CMP DL,0AH
JB NEXT2
ADD DL,37H
JMP OK4
NEXT2:
ADD DL,30H
OK4:
MOV AH,02H
INT 21H
RET
DIS ENDP
[color=008000]帮忙解释下这子程序.
在语句后加备注.[/color][em18]
回复列表 (共3个回复)
沙发
小牛斑斑 [专家分:1210] 发布于 2007-12-30 23:53:00
DIS PROC ;子程序
MOV CL,4
MOV DL,BL
ROL DL,CL ;循环左移4位,把高四位和低四位换一下位置
AND DL,0FH ;把高四位置0
CMP DL,0AH ;和10相比
JB NEXT1 ;小于跳到next1处
ADD DL,37H ;找到对应的英文字母的ascii值
JMP 0K3
NEXT1:
ADD DL,30H ;加上30
OK3:
MOV AH,02 ;用十六进制显示bl中高位
INT 21H
AND BL,0FH ;
MOV DL,BL
CMP DL,0AH
JB NEXT2
ADD DL,37H
JMP OK4
NEXT2:
ADD DL,30H
OK4:
MOV AH,02H ;用十六进制显示bl中低位
INT 21H
RET
DIS ENDP
板凳
def [专家分:3380] 发布于 2007-12-31 20:54:00
;是个16进制显示程序,很进制进则的
DIS PROC ;子程序
MOV CL,4
MOV DL,BL
ROL DL,CL ;循环左移4位,把高四位和低四位换一下位置
AND DL,0FH ;把高四位置0
_CC_FENXI: CMP DL,0AH ;和10相比
JB NEXT1 ;小于跳到next1处
ADD DL,37H ;找到对应的英文字母的ascii值
JMP 0K3
NEXT1:
ADD DL,30H ;加上30
OK3:
MOV AH,02 ;用十六进制显示bl中高位
INT 21H
AND BL,0FH ;重复_CC_FENXI,但是是低位
MOV DL,BL
CMP DL,0AH
JB NEXT2
ADD DL,37H
JMP OK4
NEXT2:
ADD DL,30H
OK4:
MOV AH,02H ;用十六进制显示bl中低位
INT 21H
RET
DIS ENDP
;其实用shl bx,4|shr bl,4|and bx,0f0fh后再处理更好
3 楼
fb1zwb [专家分:0] 发布于 2008-01-02 10:57:00
谢谢了~!基本上明白了
我来回复