ユーザーは、キーボードから一度に 1 つずつ数字を最大 5 回まで入力する必要があります。プログラムは、入力された番号が以前の番号と重複していないことを確認する必要があります。それを確認するにはどうすればよいですか? ありがとう!
1 に答える
0
これを行うには、最大 5 までの入力数をカウントする「for」ループを設定するのが最適です。ユーザーから各入力を取得すると、後で比較するためにその値を別のレジスタに格納します。実際の比較を行うときは、数値の 1 つに即値の 1 を NOT して ADD する必要があります。次に、2 つの数値を足し合わせて、ゼロに等しいかどうかを確認します。
実際にすべてを記述せずに、いくつかのサンプル コードを示します。通常、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 に答える