NASM - 从现有标签创建新标签

时间:2012-08-10 13:59:07

标签: label nasm

我可以在NASM中创建一个新标签,它指向一个新的内存位置,偏离另一个标签指向的内存位置的几个字节。

例如:如果label1指向内存位置0x40h,有没有办法使用label1定义指向0x44h的label2?

2 个答案:

答案 0 :(得分:2)

您可以定义一个常量,可以像标签一样使用:

label2 equ label1+4

答案 1 :(得分:2)

目前还不清楚你要做什么,但我会回答我的想法。假设您已将label1设置为

label1: db "Hello World", 10

你只想打印“世界”位。您可以按照以下方式执行此操作(演示为具有32位英特尔语法的Linux,但在其他情况下可以使用):

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

我希望这是有道理的,所以你在ecx中引用“label1”,然后按你想要偏移的数量增加该引用。