2

NASM で新しいラベルを作成できますか?これは、別のラベルが指すメモリ位置から数バイトオフセットされた新しいメモリ位置を指します。

例: label1 がメモリ ロケーション 0x40h を指している場合、label1 を使用して 0x44h を指す label2 を定義する方法はありますか?

4

2 に答える 2

2

あなたが何をしようとしているのかは不明ですが、私はあなたが望むと思うものに答えます. すでに label1 one が次のように設定されているとします

label1: db "Hello World", 10

そして、「世界」ビットを印刷したいだけです。次のように実行できます (Intel 構文 32 ビットの Linux として示しますが、他の場合でも機能します)。

mov eax, 4
mov ebx, 1
mov ecx, label1
add ecx, 6             
mov edx, 6            
int 80h

それが理にかなっていることを願っているので、「label1」への参照をecxに入れ、その参照をオフセットしたい量だけ増やします。

于 2012-09-08T09:21:35.390 に答える
2

ラベルのように使用できる定数を定義できます。

label2 equ label1+4
于 2012-08-11T00:25:24.030 に答える