一个关于十六进制转二进制的程序,求助
时间:2011-05-23
来源:互联网
帮帮忙排错啊。。
;enter 4 hexidecimal number, and than print the corresponding binary number.
STA SEGMENT STACK
DB 100H DUP(?)
TOP LABEL WORD
STA ENDS
DATA SEGMENT
ARRAY DB 100H DUP(?)
DATA ENDS
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE,SS:STA,DS:DATA
START:
MOV AX,STA ;初始化
MOV SS,AX
LEA SP,TOP
MOV AX,DATA
MOV DS,AX
XOR SI,SI
XOR AH,AH
MOV CX,4
L1: MOV AH,01H ;输入,暂存在数组ARRAY中。
INT 21H
MOV ARRAY[SI],AL
INC SI
LOOP L1
MOV CL,4
XOR SI,SI
L2: MOV AL,ARRAY[SI] ;二重循环转换二进制。
SUB AX,30H
MOV BX,4
ROL AL,1
ROL AL,1
ROL AL,1
ROL AL,1
L3: XOR DL,DL
RCL AL,1
ADC DL,30H
MOV AH,02H
INT 21H
DEC BX
CMP BX,0
JNZ L3
LOOP L2
MOV AH,4CH
INT 21H
MAIN ENDP
CODE ENDS
END START
;enter 4 hexidecimal number, and than print the corresponding binary number.
STA SEGMENT STACK
DB 100H DUP(?)
TOP LABEL WORD
STA ENDS
DATA SEGMENT
ARRAY DB 100H DUP(?)
DATA ENDS
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE,SS:STA,DS:DATA
START:
MOV AX,STA ;初始化
MOV SS,AX
LEA SP,TOP
MOV AX,DATA
MOV DS,AX
XOR SI,SI
XOR AH,AH
MOV CX,4
L1: MOV AH,01H ;输入,暂存在数组ARRAY中。
INT 21H
MOV ARRAY[SI],AL
INC SI
LOOP L1
MOV CL,4
XOR SI,SI
L2: MOV AL,ARRAY[SI] ;二重循环转换二进制。
SUB AX,30H
MOV BX,4
ROL AL,1
ROL AL,1
ROL AL,1
ROL AL,1
L3: XOR DL,DL
RCL AL,1
ADC DL,30H
MOV AH,02H
INT 21H
DEC BX
CMP BX,0
JNZ L3
LOOP L2
MOV AH,4CH
INT 21H
MAIN ENDP
CODE ENDS
END START
作者: engrossment 发布时间: 2011-05-23
程序还没有考虑输入是字母的情况。
这个程序编译通过,但是输出几乎都是0(16个),输入8跟9都是输出1000。
这个程序编译通过,但是输出几乎都是0(16个),输入8跟9都是输出1000。
作者: engrossment 发布时间: 2011-05-23
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28