汇编的把10进制转化成2进制并输出
时间:2011-12-07
来源:互联网
刚刚开始接触汇编,有很多地方都不是很明白,希望大家可以多给意见,下面是我的源代码:
DATAS SEGMENT
BU DB 16,?,16 DUP ('0') ,'$'
TIP DB 10,10,"PLEASE INPUT A NUMBER: $"
SHU DB 10D
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
LEA DX,TIP
MOV AH,09H
INT 21H
LEA DX,BU
MOV AH,0AH
INT 21H
LEA BX,BU+1
MOV CH,[BX]
XOR DX,DX
INC BX
AA:
XOR AX,AX
MOV AX,[BX]
MOV CL,CH
DEC CL
.WHILE CL!=0
MUL SHU
DEC CL
.ENDW
ADD DX,AX
INC BX
DEC CH
LOOP AA
MOV AX,DX
;SUB AX,30H
CALL CRLF
XOR CX,CX
MOV CX,02D
LEA BX,BU
MOV BX,17
AGAIN:
XOR DX,DX
DIV CX
;ADD DL,30H
MOV [BX],DL
DEC BX
.IF AX!=1
JMP AGAIN
.ENDIF
LEA DX,BU+2
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CRLF PROC
PUSH AX
PUSH DX
MOV DL,0DH
MOV AH,2
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
POP DX
POP AX
RET
CRLF ENDP
CODES ENDS
END START
不知怎么的,总之运行不了,而自己又发现不到问题,请求大家帮忙...谢谢!
DATAS SEGMENT
BU DB 16,?,16 DUP ('0') ,'$'
TIP DB 10,10,"PLEASE INPUT A NUMBER: $"
SHU DB 10D
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
LEA DX,TIP
MOV AH,09H
INT 21H
LEA DX,BU
MOV AH,0AH
INT 21H
LEA BX,BU+1
MOV CH,[BX]
XOR DX,DX
INC BX
AA:
XOR AX,AX
MOV AX,[BX]
MOV CL,CH
DEC CL
.WHILE CL!=0
MUL SHU
DEC CL
.ENDW
ADD DX,AX
INC BX
DEC CH
LOOP AA
MOV AX,DX
;SUB AX,30H
CALL CRLF
XOR CX,CX
MOV CX,02D
LEA BX,BU
MOV BX,17
AGAIN:
XOR DX,DX
DIV CX
;ADD DL,30H
MOV [BX],DL
DEC BX
.IF AX!=1
JMP AGAIN
.ENDIF
LEA DX,BU+2
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CRLF PROC
PUSH AX
PUSH DX
MOV DL,0DH
MOV AH,2
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
POP DX
POP AX
RET
CRLF ENDP
CODES ENDS
END START
不知怎么的,总之运行不了,而自己又发现不到问题,请求大家帮忙...谢谢!
作者: a328993568 发布时间: 2011-12-07
debug 啊,分段看结果是不是正确的。数据处理和后来的转换输出部分,都有字符和数值间的转换问题;循环的判定条件也不对。这些问题,在 debug 里一下子就会被看出来了。
作者: zara 发布时间: 2011-12-07
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28