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