汇编语言编程问题 60

键盘输入一个算术表达式,计算表达式的值,以十进制、十六进制、及二进制格式输出结果。其中表达式中包含的整数均为十进制非符号数(其值<pow(2,32));表达式中包含的运算... 键盘输入一个算术表达式,计算表达式的值,
以十进制、十六进制、及二进制格式输出结果。
其中表达式中包含的整数均为十进制非符号数(其值 < pow(2,32));
表达式中包含的运算符包括+、*两个;
计算时不考虑运算符的优先级,即一律从左到右计算;
计算过程中若有值超过32位,则一律忽略超过32位的部分,
故计算的最终结果不会超过32位。
例如:
输入:
1234*5678+98765*54321+12345678
输出:
1234*5678+98765*54321+12345678=
3733613191
DE8A6A87h
1101 1110 1000 1010 0110 1010 1000 0111B
真的是急求,采纳前保证追加到100分……
展开
 我来答
做而论道
高能答主

2014-06-20 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部
数字,如果不超过 16 位数,还好算一些。

题目虽然要求,计算不超过 32 位,好像,是简化了运算。

但是 32 位乘以 32 位时,还是要算出 64 位的结果,

然后再保留 32 位,准备以后进行其它的计算。

如果不计算出完整的 64 位结果,截取 32 位时,往往就会有误差。

这样的要求,对于编程的工作量,一点也没有减少,反而,还要多费了不少心思。

程序太长了,发表在百度空间:

http://hi.baidu.com/do_sermon/item/1460b9759d00f9397044237d

程序已经经过运行检验,输入、输出,完全符合题目要求。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cccfgjtzof
2014-06-17 · TA获得超过501个赞
知道答主
回答量:115
采纳率:0%
帮助的人:153万
展开全部
ah寄存器没有清零

ADC AL,X[SI+6]
后面加一句
mov ah,0就可以了
求采纳为满意回答。
追问
嘿,你回复错了吧…………
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式