LC-3检查输入的数字是否与先前输入的数字重复

时间:2015-04-01 22:05:03

标签: duplicates lc3

用户是一次一个地从键盘输入一个数字,最多5个有效时间。程序需要检查输入的数字是否与先前的数字重复,我将如何检查? 谢谢!

1 个答案:

答案 0 :(得分:0)

要做到这一点,最好设置一个'for'循环来计算最多5个输入的数量。当你从用户存储器获得每个输入时,该值在另一个寄存器中以便稍后进行比较。当您进行实际比较时,您将需要不立即添加其中一个数字。然后将两个数字加在一起,检查它们是否等于零。

我会尝试给你一些示例代码,而不是实际编写所有代码。通常,LC-3用于大学内的ASM学习。

.ORIG x3000

MAIN    
AND R1, R1, #0          ; Clear R1

LOOP        
    LD R2, LIMIT
    ADD R4, R1, R2      ; Check to see if we've hit our limit
    BRz END_LOOP

    getc                ; Capture a character and stores it in r0.
    out                 ; Sends the character in r0 to the terminal.

    AND R3, R3, #0      ; Clear R3
    ADD R3, R3, R0      ; Store the user's input into R3 to compare the next time we loop

    ADD R1, R1, #1      ; Increment our loop counter
    BR LOOP             ; Branch to LOOP
END_LOOP

HALT    

; Variables
LIMIT   .FILL x0005     ; Store the value of 5 into our loop limit variable

.END