NASM 像 [BITS 16] 这样的指令周围的方括号?

Eri*_*k W 2 assembly nasm

我看到很多人写

[BITS 16]
[ORG 0x7C00]
Run Code Online (Sandbox Code Playgroud)

当其他人写

BITS 16
ORG 0x7C00
Run Code Online (Sandbox Code Playgroud)

这对 NASM 有什么影响吗?

Jes*_*ter 6

您应该已经阅读了文档。

NASM 的指令有两种类型:用户级指令和原始指令。通常,每个指令都有一个用户级表单和一个原始表单。在几乎所有情况下,我们建议用户使用指令的用户级形式,这些形式是作为调用原始形式的宏实现的。

原始指令括在方括号中;用户级指令不是。

BITS 指令具有完全等效的原始形式,[BITS 16]、[BITS 32] 和 [BITS 64]。用户级窗体是一个宏,除了调用原始窗体外没有其他功能。