次のコードがあるとします (エラーが発生します: Expected scalar type
):
a db 10 dup(2)
b db $-3
アセンブリでそれと同等のことを行う方法はありますか? 編集:8086にTASMを使用しています
どのアセンブラ?dup
マズメに似てる。Nasmでは、b db ($-$$) - 3
それを行います。この値をバイトに入れたいとは思われません。私は64ビットコードと一緒に、dd
または64ビットコードで行きますdq
。
Nasm マニュアルのどこにも「スカラー」という言葉はないと思いますが、「再配置可能な値ではない」という意味です。$
は、他のラベルと同様に再配置可能ですが、2 つのラベルの違いは「スカラー」値です。
C とは異なり、「アセンブリ言語標準委員会」はありません。アセンブラーの作成者は、好きな構文を自由に使用できます。AT&T 構文 (これはそうではありません)$
では、まったく異なる意味を持ちます。Masm では動作しない可能性がありますが、試してみる価値があります。どのアセンブラを指定する必要があります。