4
我似乎无法在NASM文档中找到有关在代码中使用Section或[SECTION](与括号)之间区别的任何内容。我知道这些是宏,但我几乎可以互换地看到它们。是这样吗?换句话说就是NASM特定 - 部分与[部分]
[SECTION .text]
相当于
Section .text
?
括号可能意味着一些神秘的副作用吗?
由于
我似乎无法在NASM文档中找到有关在代码中使用Section或[SECTION](与括号)之间区别的任何内容。我知道这些是宏,但我几乎可以互换地看到它们。是这样吗?换句话说就是NASM特定 - 部分与[部分]
[SECTION .text]
相当于
Section .text
?
括号可能意味着一些神秘的副作用吗?
由于
[SECTION名为.xyz]为部分指令,它简单地将当前输出部分的原始形式, “SECTION名为.xyz” 稍微因为它像一个宏不同:
SECTION .text
扩展到两行
%define __SECT__ [SECTION .text]
[SECTION .text]
其可以结合使用与宏临时切换输出部,并切换回其原始值。从NASM手册例如:
%macro writefile 2+
[section .data]
%%str: db %2
%%endstr:
__SECT__
mov dx,%%str
mov cx,%%endstr-%%str
mov bx,%1
mov ah,0x40
int 0x21
%endmacro
当使用该宏,则输出部被设定为部分的原始形态暂时。数据,并用__SECT设置回其原始值__