[英]LC-3 How to print two digit number
我有一個帶有計數器的LC-3程序。 我可以使用TRAP x21將計數器打印到屏幕上。 但是,如果計數器編號為兩位數,則我的程序無法正常工作。
示例:9將完美打印,但19不完美。
我猜想在打印包含計數器的寄存器之前,我需要一個循環,該循環將除以2(與十進制除以10,而二進制以2表示)相同。 然后我想我會打印digit1,digit0。 我有一個問題,如何在LC-3中划分? 右移? 對於這個問題,這似乎太困難了,超出了我的理解。
請幫忙。
0010 000 000000011 ; R0 <= x30 which is for
0001 000 000 0 00 010 ; R0 <= R0 + R2
1111 0000 00100001 ; TRAP x21
1111 0000 00100101 ; TRAP x25
0000000000110000
由於您的數字->數字例程,因此只能使用一位數字。 您要在字符“ 0”上添加數字,並且顯然沒有字符“ 11”,依此類推。
您可以找到最大除數,方法是乘以十(通常是通過重復加法),直到除數超過數字(然后退回到上一個值)。 這將使您可以使用上面的Gareth方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.