老师,假如被除数放在R1R0中,我用被除数除以一万得到被除数的万位,那么我在用得到的余数除以一千得到千位,依次类推我可以得到被除数的百,十,个位,这样就可以把放在R1R0中的数在数码管上显示出来了。
但我有一点不怎么理解呢?
比如:我用被除数除以一万的到的商为万位,那么接下来我用余数除以一千得到的商为千位。但关键是我不知道怎样把这个余数给求出来呢。
是不是最后放在R1R0中的数就是余数呀。我有点不确定呢。
------------------------------------老师,麻烦你告诉我,谢谢!----------------------------------------------------------
前面回帖中,(7FH)(7EH)原来是被除数,减去除数10000,减了几次,不够减了,开始准备改为减1000的时候,(7FH)(7EH)里面就是万位数的余数了,可以直接用来求千位数。
所以你的猜想是对的。
回复 沙发 xu__changhua 的帖子
老师你前面的关于把一个数的万,千,百,十,个位都取出来,然后送到数码管显示的思想我几乎都能理解了。但是,由于我掌握的知识有限,我还是有一点不会之处需要你的帮助的。
其中;
判断是否够减子程序,结果在C中,C=0够减;C=1不够减
COM_SUB:
MOV A,7FH;传高8位
CJNE A,7DH,COM_END;高8位不相等
MOV A,7EH;高8位相等,传低8位
CJNE A,7CH,COM_END
COM_END:;不相等就得出哪个大哪个小的结论了
RET;
对与这段程序我都能理解你告诉我的思路。
假如7FH和7DH不相等的话,那么我怎样编写它们谁大谁小的程序呢。既COM-END中的程序该怎样编写。
------------------------------老师,请你告诉我吧,谢谢---------------------------------
-------------------------------TSB41-----------------------------------------------------------
CJNE指令对后面的两个操作数进行相减,但是不保存差,仅仅影响其标志位C;
7FH与7DH不相等就转到COM_END标号处,直接退出,到下一个子程序中去判断C,以决定做相减或不相减的操作。
COM-END中的程序在你这个特定的课题下就不用编什么程序了,由下一段程序去接着做。