簡體   English   中英

LC-3如何打印兩位數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM