とはどういう意味-(sp)
ですか?
古いOSのPDP-11でUnix V6のコードを読んでいます。
の意味はすでに知っていsp
ます。これはスタック ポインタです。これは と同じ-1(sp)
ですか?
この回答は、質問が PDP-11 に明確化される前に書かれました。m68k プリ デクリメント アドレッシング モードのように見えると推測しました。
Michael Petch は、PDP-11 の-(SP)
構文がオペランドのサイズに応じて 1 バイトまたは 2 バイト減少することを確認しているため、Motorola の構文のインスピレーションとなったのはほぼ間違いありません。
このページ-(A0)
では、構文がオペランドの幅だけポインターを事前にデクリメントすることを意味することを説明します。
MOVE.L
では、4 ずつ減少します ( C と同様*(sp-=4)
) 。MOVE.W
2 ずつ減少します。MOVE.B
では、1 ずつ減分します (アドレス レジスタが A7、別名 SP でない限り、この場合でも 2 ずつ減分されるため、アラインメントは維持されます!)同様に、+(A0)
ポストインクリメント演算子と同じように機能します。
これらは、x86 の PUSH (スタック ポインターを事前にデクリメントする) および POP (スタック ポインターを後からインクリメントする) のように機能します。