1

次のコードがあるとします (エラーが発生します: Expected scalar type):

a db 10 dup(2)
b db $-3

アセンブリでそれと同等のことを行う方法はありますか? 編集:8086にTASMを使用しています

4

2 に答える 2

0

どのアセンブラ?dupマズメに似てる。Nasmでは、b db ($-$$) - 3それを行います。この値をバイトに入れたいとは思われません。私は64ビットコードと一緒に、ddまたは64ビットコードで行きますdq

Nasm マニュアルのどこにも「スカラー」という言葉はないと思いますが、「再配置可能な値ではない」という意味です。$は、他のラベルと同様に再配置可能ですが、2 つのラベルの違いは「スカラー」値です。

C とは異なり、「アセンブリ言語標準委員会」はありません。アセンブラーの作成者は、好きな構文を自由に使用できます。AT&T 構文 (これはそうではありません)$では、まったく異なる意味を持ちます。Masm では動作しない可能性がありますが、試してみる価値があります。どのアセンブラを指定する必要があります。

于 2013-01-13T16:57:59.200 に答える