NASM 中的等效 MASM .const 部分
equivalent MASM .const section in NASM
下面 MASM 代码的 NASM 等价物是什么?
; Simple lookup table (.const section data is read-only)
.const
const_array dword 0, 1, 1, 2, 3, 5, 8, 13, 21
因为.const
MASM指令表示一个只读段,你必须使用NASM等效的section .rdata
1 创建一个可读但不可写的 segment/section。
您可以使用 DD
指令将 DWORD 放在任何地方;请参阅手册的 Section 3.2.1。
最终结果可能如下所示:
section .rdata
const_array: dd 0, 1, 1, 2, 3, 5, 8, 13, 21
在 NASM.
中始终建议在标签名称后添加 :
当行中的第一个标记未被识别为指令助记符时 NASM 将假定它是一个标签。但始终使用 :
来明确这一点是一个好习惯。
脚注 1:
Windows 使用 .rdata
。其他一些操作系统,包括 Linux 使用 section .rodata
用于只读不可执行数据。
下面 MASM 代码的 NASM 等价物是什么?
; Simple lookup table (.const section data is read-only)
.const
const_array dword 0, 1, 1, 2, 3, 5, 8, 13, 21
因为.const
MASM指令表示一个只读段,你必须使用NASM等效的section .rdata
1 创建一个可读但不可写的 segment/section。
您可以使用 DD
指令将 DWORD 放在任何地方;请参阅手册的 Section 3.2.1。
最终结果可能如下所示:
section .rdata
const_array: dd 0, 1, 1, 2, 3, 5, 8, 13, 21
在 NASM.
中始终建议在标签名称后添加:
当行中的第一个标记未被识别为指令助记符时 NASM 将假定它是一个标签。但始终使用 :
来明确这一点是一个好习惯。
脚注 1:
Windows 使用 .rdata
。其他一些操作系统,包括 Linux 使用 section .rodata
用于只读不可执行数据。