0

だから今、私はオブジェクトコードがどのように生成されるかを理解しようとしていますが、これらの2行は本当に私を混乱させます.誰か私に説明してくれませんか?

RSUB is 4C0000, I understand RSUB is 4C Mnemonic, but where did 0000 came from?
EOF BYTE C'EOF'  Object code is 454F46, how did they get that?

INPUT BYTE X'F1'      F1
how did generate F1 in the object code?

STCH BUFFER, X        549039

BUFFER is 1039, and STCH in mnemonic is 54, but shouldn't it be 541039?


also after a few lines,

LDCH BUFFER, X       509039?
4

1 に答える 1

4

これらはすべて、アーキテクチャの命令セットのリファレンスとアセンブラのマニュアルで回答する必要があります。

RSUB は 4C0000 です。RSUB が 4C ニーモニックであることは理解していますが、0000 はどこから来たのですか?

SIC は 24 ビット ワードと固定長の命令エンコーディングを使用しているようです。この命令は明らかにオペランドを取らないため、ゼロになります。おそらく、CPU はアドレス フィールドを無視するので、必要なものを何でも使用できます。または、ゼロにする必要があるかもしれません。それに対する明確な答えは見つかりませんでした。

EOF BYTE C'EOF' オブジェクト コードは 454F46 です。

454Fおよびは、それぞれ、および46の ASCII コードです。おそらく、アセンブラのオペレータは、次の文字の ascii コードを出力するようにアセンブラに指示します。EOFC

INPUT BYTE X'F1' F1 オブジェクト コードで F1 を生成した方法は?

おそらく、Xアセンブラの演算子は、指定された16進値でバイトを発行することを意味します。

STCH BUFFER, X 549039 BUFFER は 1039、ニーモニックの STCH は 54 ですが、541039 ではないでしょうか。

アドレスは下位 15 ビットのみです。ビット #15 は、インデックス付きアドレッシング モードを示すフラグとして使用されるため、 に1039なり9039ます。

于 2015-04-03T23:30:07.177 に答える