Привет, я пытаюсь написать программу сборки lc3, которая вычисляет квадрат числа и сохраняет его в r0, целое число задается в качестве параметра и находится в r1, проблема, которую я заметил во время отладки, возникает во время первого прохода. добавляет 2, но при втором проходе не удается добавить еще 2 к r0. Мой код ниже, любая помощь приветствуется
.orig x3FF8
ld r1,n
ld r5,n
square
add r2,r1,#0
add r5,r5,#-1
add r0,r2,#0
brzp square
brn theend
theend
halt
n .fill #2
.end
мой окончательный код благодаря пользователю, который помог:
.orig x3FF8
ld r1,n
ld r5,n
square
add r2, r2,r1
add r5,r5,#-1
brp square
theend
halt
n .fill #4
.end