用户每次从键盘输入一个数字,最多 5 次有效。程序需要检查输入的号码是否与之前的号码重复,我将如何检查?谢谢!
问问题
985 次
1 回答
0
为此,最好设置一个“for”循环,将输入的数量最多计数为 5。当您从用户那里获得每个输入时,将该值存储在不同的寄存器中以供以后比较。当您进行实际比较时,您需要 NOT 并将立即 1 添加到数字之一。然后将这两个数字相加并检查它们是否等于零。
我将尝试为您提供一些示例代码,而无需实际编写所有代码。通常 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
于 2015-04-22T23:17:04.940 回答