博客年龄:17年9个月
访问:?
文章:53篇

个人描述

"我会保护你的"。他的整个人生就是为了这一句话而存在着

【汇编】十六进制转二进制

2008-12-04 23:06 阅读(?)评论(0)

在屏幕上输入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)
上一篇: 寒假大事记 下一篇:春天的呐喊
 
表  情:
加载中...
 

请各位遵纪守法并注意语言文明