pdp 11汇编程序 - 子命令的问题

时间:2011-05-03 21:07:25

标签: assembly cpu-registers pdp-11

所以我们正在使用pdp 11模拟器,我试图以这种方式从另一个寄存器中减去一个寄存器:

sub 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

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

1 个答案:

答案 0 :(得分:4)

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