获取堆栈并在 UART 中以相反顺序打印它
所以基本上我有一堂课,老师们设计了我们使用的程序,他们基本上说“在没有背景信息的情况下做这些实验”。
现在我必须使用汇编制作一个 RPN 计算器,并且我已经对所有内容进行了编码,除了我必须以相反的顺序(堆栈)打印它。
这很容易,除非我们在每个堆栈槽中使用 2 位数字。
我的简单问题是如何获取一个 2 位数字并将其拆分为每位。
例如,数字为 52,并将这些位分成 5 个(然后通过 UART 发送 5)和 2 个(然后通过 UART 发送 2),因此输出将为 52。
So basically I have a class where the teachers designed the program that we use, and they basically said "Do these labs with no background information".
Right now I have to make a RPN calculator using assembly and I have gotten all of it coded except i have to print it in reverse order (the stack).
It would be easy, except we are using 2 digit numbers in each stack slot.
My simple question is how can I take a 2 digit number and split it into each bit.
An example would be having the number 52 and splitting the bits into 5 (then sends through 5 in UART) and 2 (then sends 2 through UART) so the output would be 52.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
要获取数字的数字,请除以基数(在本例中我假设基数为 10)。余数为最低有效数字;商是剩余的数字。重复更多数字。
由于没有除法指令,只有两位数字,这里有一个俗气的方法:
首先确保
number
为正数!To get the digits of a number, divide by the base (in this case base 10 I assume). The remainder is the least significant digit; the quotient is the remaining digits. Repeat for more digits.
With no divide instruction, and only two digits, here's a cheesy approach:
Make sure
number
is positive first!