[汇编]请问汇编语言中如何输出十进制计算结果?
S=1+2*3+3*4+4*5+……+N(N+1),我编写的代码中已经将S计算出来并存入AX,请问要如何在屏幕上显示这个计算结果?...
S=1+2*3+3*4+4*5+……+N(N+1),我编写的代码中已经将S计算出来并存入AX,请问要如何在屏幕上显示这个计算结果?
展开
1个回答
展开全部
一般汇编语言教材中都有这个问题的例题,建议去找本书参考一下。
大体需要5个步骤,过程如下:
1. 将AX中内容除以10000,得到的商是万位数,余数暂存起来。
将所得的商转成ASCII码,输出显示。
2. 将刚才的余数除以1000,得到的商是千位数,余数暂存起来。
将所得的商转成ASCII码,输出显示。
3. 将刚才的余数除以100,得到的商是百位数,余数暂存起来。
将所得的商转成ASCII码,输出显示。
4. 将刚才的余数除以10,得到的商是十位数,余数是个位数,暂存起来。
将所得的商转成ASCII码,输出显示。
5. 将刚才的余数转成ASCII码,输出显示。
这个问题一般不用循环实现,因为循环实现并不能让程序简化。
这个问题一定要注意:不能用每次除以10,先得余数个位数,再得十位数、百位数、……这样的方法,因为8086的除法指令不支持这么处理,大数除以10会出现除法溢出错误。
大体需要5个步骤,过程如下:
1. 将AX中内容除以10000,得到的商是万位数,余数暂存起来。
将所得的商转成ASCII码,输出显示。
2. 将刚才的余数除以1000,得到的商是千位数,余数暂存起来。
将所得的商转成ASCII码,输出显示。
3. 将刚才的余数除以100,得到的商是百位数,余数暂存起来。
将所得的商转成ASCII码,输出显示。
4. 将刚才的余数除以10,得到的商是十位数,余数是个位数,暂存起来。
将所得的商转成ASCII码,输出显示。
5. 将刚才的余数转成ASCII码,输出显示。
这个问题一般不用循环实现,因为循环实现并不能让程序简化。
这个问题一定要注意:不能用每次除以10,先得余数个位数,再得十位数、百位数、……这样的方法,因为8086的除法指令不支持这么处理,大数除以10会出现除法溢出错误。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询