所以我们使用的是 pdp 11 模拟器,我试图以这种方式从另一个寄存器中减去一个寄存器:
子 r2, r4
我想要的是 r4 将包含 r2 和 r4 中保存的值之间的差异,而不是我得到一个巨大的、不相关的数字。我试过 sub r2, r5 和它同样的问题。
我哪里错了?这是代码:(该行在标志“kaka”之后)
.=torg+1000
main:
mov n_cols, r0
mul n_rows, r0
mov r1, r0; r0 is now the length of the array of the maze
mov #Board, r2
mov #Path,r3;
loop:
cmpb (r2),#'S
beq loop2
tst (r2)+
sob r0, loop ;Go to next iteration
loop2:
cmpb (r2), #1
beq illegal
mov #Board,r4
kaka:
sub r2, r4
waka:
bmi illegal
编辑:这不是完整的代码,其余代码不相关,即使其余代码标记为注释也会出现问题。