LC2K ISA を使用して、誰かこのプログラムが何をしているのか説明してもらえますか?
lw 0 1 five load reg1 with 5 (symbolic address)
lw 1 2 3 load reg2 with -1 (numeric address)
start add 1 2 1 decrement reg1
beq 0 1 2 goto end of program when reg1==0
beq 0 0 start go back to the beginning of the loop
noop
done halt end of program
five .fill 5
neg1 .fill -1
stAddr .fill start will contain the address of start (2)
記号アドレスと数値アドレスの違いは何ですか? たとえば、なぜ 2 行目で reg2 に -1 をロードするのでしょうか? -1 はどこから来るのですか?
3行目の「開始」はどういう意味ですか?また、addを使用しているときにその行がreg1をデクリメントするのはなぜですか? また、4 行目から 5 行目と 7 行目から 9 行目はどのように機能していますか?
誰かがプログラムを簡潔に説明できるなら、私は大いに感謝します。
ありがとうございました。