| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1800 人关注过本帖
标题:[求助]子程序从键盘输入的4位十进制数,并转换成对应的二进制数存放在DX寄存 ...
只看楼主 加入收藏
xiaoxiao1551
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-2-4
收藏
 问题点数:0 回复次数:1 
[求助]子程序从键盘输入的4位十进制数,并转换成对应的二进制数存放在DX寄存器中,给
请高手帮忙,谢谢
我编的这个程序汇编和链接都正常通过了,可是在执行时,我按题目的要求输入了四位十进制数,
例如:1234回车,可回车后就出现如下的对话框
16位MS-DOS子系统
C:\WINDOWS\SESTEM32\CMD.EXE-------SHIYAN4
NTVDM CPU 遇到无效的指令。
CS:1213 IP:04ED OP:FF FF FF FF FF 选择“关闭”终止应用程序。
关闭 忽略
请高手帮指点一下错在哪里了,编成一个可以符合题目要求的程序。谢谢。

题目要求:编写一个子程序,使它能接收从键盘输入的4位十进制数,并转换成对应的二进制数存放
在DX寄存器中,并给出主程序的调用方式
DHCCC SEGMENT
ASSUME CS:DHCCC
REPEAT: CALL DECIBIN
CALL CRLF
JMP REPEAT
DECIBIN PROC NEAR
MOV DX,0
NEWCHAR: MOV AH,1
INT 21H
SUB AL,30H
JL EXIT
CMP AL,9
JG EXIT
CBW
XCHG AX,DX
MOV CX,10D
MUL CX
XCHG AX,DX
ADD DX,AX
JMP NEWCHAR
EXIT: RET
DECIBIN ENDP
CRLF PROC NEAR
MOV DL,0DH
MOV AH,2
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
RET
CRLF ENDP
DHCCC ENDS
END
搜索更多相关主题的帖子: 二进制数 子程序 寄存器 十进制 键盘 
2007-02-04 18:29
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 
REPEAT: CALL DECIBIN
CALL CRLF
JMP REPEAT
是无限循环啊,DECIBIN和CRLF中的RET是结束子过程,而不能结束整个程序

2007-02-07 15:24
快速回复:[求助]子程序从键盘输入的4位十进制数,并转换成对应的二进制数存放在D ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.090649 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved