-2

私はhttp://www.amazon.com/Assembly-Language-Step-Step-Programming/dp/0470497025に取り組んでいます。

現在、NASM (本のデフォルト コンパイラ) の代わりに GAS でコンパイルできるようにコードの一部を移動しようとしていますが、その意味を理解するのに苦労しています。

これは私の混乱のソースコードです

EatMsg: db *Eat at Joe's!* , 10

EatLen: equ $-EatMst

(.section .dataにあります)

GASで動作するように書き直すにはどうすればよいですか?

4

1 に答える 1

1

nasm一般に、コンストラクトが何をしているのかを確認するために のドキュメントを調べてgasから、同等のことを達成する方法についてのマニュアルを読む必要があります。

この場合、dbはいくつかのデータ バイトを定義し、 は現在のアドレスequを使用して、長さのエイリアスを定義します。$コードgasは次のとおりです。

EatMsg:
    .ascii "*Eat at Joe's*"
    .byte 10
.equ EatLen, . - EatMsg

10(改行のアスキー コード) を文字列に組み込むこともでき\nます。

もちろん、最も簡単な解決策は、単純に をインストールすることnasmです。

于 2013-10-10T16:41:46.787 に答える