1

そのため、pdp 11 シミュレーターを使用しており、この方法であるレジスターを別のレジスターから減算しようとしています。

サブ r2、r4

私が望むのは、r4 には r2 と r4 に保持されている値の差が含まれているということです。代わりに、無関係な巨大な数値が得られます。サブ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 に答える