-1

sic/xe マシンのコードに出くわしました....以下は、私にとって問題の原因となった行です...

0003         LDB  #LENGTH  ;a
0020         LDA  #3       ;b
0033 LENGTH  RESW 1        ;c
103C        +LDT  #4096    ;d

ここで、'a' には pc 相対および即時モードが使用されるオブジェクト コードが含まれることが与えられました....しかし、b には即時モードのみが含まれます....長さが 0033 であるため、なぜ pc 相対を使用するのですか?モード....そして、PC 相対モードをあまりにも使用することが慣例により不可欠である場合、'b' で PC 相対モードと即時モードの両方を使用しないのはなぜですか?

4

2 に答える 2

-1

申し訳ありませんが、これは私が質問に期待するものではありません。

まず、最初の列は場所を示しているため、「コード行」は完全に文脈から切り離されているため、その間のすべての場所が欠落しています。そのための1つのマイナス。

次に、適切なタグを使用して、これが宿題であることを示してください。そのための1つのマイナス。

3 番目に、大学から提供された PPT ファイルなど、元のソースへの参照を含めてください。そのための20マイナス。

1つしか引けないのは幸運だと思ってください。

今、私は悪い男ではありません.すべてをまとめると、ここに私の答えがあります.FWIW:

LENGTH はアドレス 0033 に属するラベルで、現在の PC 位置の近くにある 3 バイトのワードを予約しています。アセンブラはその決定において自律的であるため、PC 相対が優先され、最大 2047 のオフセットが十分すぎるため、PC 相対がアセンブラによって採用されます。リンクした PPT のオペコードを見ると、2D (16 進数) の PC 相対 (p=1) オフセットが表示され、LDB 命令の後の位置は 6 で、2D+6=33 (すべてhex)、QED。

同じ意味で 'b' です。b=0 および p=0 であるため、即時アドレッシングを使用し、オペコードの「アドレス」は 3 であるため、A には定数 3 がロードされます。

オペコードのプラス記号のみが、20 ビットのアドレス フィールドを持つ 4 バイトの命令を使用する format4 を示します。

于 2011-11-28T22:16:44.780 に答える