1

所以我们使用的是 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

编辑:这不是完整的代码,其余代码不相关,即使其余代码标记为注释也会出现问题。

4

1 回答 1

4

自从我使用 PDP 11 汇编程序以来已经有几十年了;但从sub r2, r4r2 中减去 r4。您应该相应地使用sub r4, r2和更改其余代码。

于 2011-05-03T21:18:25.907 回答