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設置回其原始值__