采集堆栈并在UART中以相反的顺序打印

时间:2011-09-26 15:24:57

标签: assembly printing stack bits

所以基本上我有一个老师设计我们使用的程序的课程,他们基本上说“做这些没有背景信息的实验室”。

现在我必须使用汇编制作一个RPN计算器,我已经完成所有编码,除非我必须以相反的顺序(堆栈)打印它。

这很容易,除非我们在每个堆栈槽中使用2位数字。

我的简单问题是如何取一个2位数字并将其分成每一位。

一个例子是数字52并将位分成5(然后通过UART中的5发送)和2(然后通过UART发送2)所以输出将是52。

1 个答案:

答案 0 :(得分:1)

要获得数字的数字,除以基数(在这种情况下,我假设基数为10)。其余部分是最不重要的数字;商是剩余的数字。重复更多数字。

没有除法指令,只有两位数,这是一种俗气的方法:

quotient = 0;

while (number >= 10)
{
    number = number - 10;
    quotient = quotient + 1;
}
print msdigit;
print number;

确保number首先是肯定的!