私は Jack Crenshaw のコンパイラ チュートリアルに従っています (私のプロフィールを見ると、それが私の質問のすべてです笑) 変数が導入されるところまで来ました。彼は、68k ではすべてが「位置独立」である必要があるとコメントしています。つまり、「PC 相対」です。PC はプログラム カウンターで、x86 では EIP です。しかし、彼はMOVE X(PC),D0
X が変数名であるような構文を使用します。私は少し先を読みましたが、.data で変数を宣言することについて後で何も述べていません。これはどのように作動しますか?これを x86 で機能させるには、X(PC) を何に置き換えMOV EAX, X(PC)
ますか?
正直なところ、これで動作するコードが出力されるかどうかはまだわかりませんが、この時点までは、適切なヘッダーなどを追加するコードと、アセンブル、リンク、および実行するバッチ ファイルをコンパイラに追加しました。結果。