我可以在 NASM 中创建一个新标签,它指向一个新的内存位置,该位置与另一个标签指向的内存位置偏移几个字节。
例如:如果 label1 指向内存位置 0x40h,有没有办法使用 label1 定义指向 0x44h 的 label2?
您可以定义一个常量,它可以像标签一样使用:
label2 equ label1+4
目前尚不清楚您要做什么,但我会回答我认为您想要的。假设您已经将 label1 设置为
label1: db "Hello World", 10
你只想打印“世界”位。您可以按以下方式执行此操作(演示为具有 32 位 Intel 语法的 Linux,但在其他情况下也可以使用):
mov eax, 4
mov ebx, 1
mov ecx, label1
add ecx, 6
mov edx, 6
int 80h
我希望这是有道理的,所以您将“label1”的引用放在 ecx 中,然后将该引用增加您想要抵消的数量。