ассемблер pdp 11 - проблемы с подкомандой - PullRequest
1 голос
/ 04 мая 2011

поэтому мы используем симулятор pdp 11, и я пытаюсь вычесть один регистр из другого следующим образом:

sub r2, r4

я хочу, чтобы r4 содержал разницумежду значениями, хранящимися в r2 и r4, вместо этого я получаю огромное, не связанное число.я попробовал sub r2, r5 и его ту же проблему.

где я не прав?Вот код: (строка после флага "Кака")

.=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

edit: это не полный код, остальная часть кода не связана, и проблема возникает, даже если остальныекод помечен как комментарий.

1 Ответ

4 голосов
/ 04 мая 2011

Прошли десятилетия с тех пор, как я играл с ассемблером PDP 11; но sub r2, r4 вычитает r4 из r2. Вы должны использовать sub r4, r2 и соответственно изменить остальную часть кода.

...