DB 分配1个字节.
DW 分配2个字节.
DD 分配4个字节.
DQ 分配8个字节.
所以我假设:
RESB 1 分配1个字节.
RESW 1 分配2个字节.
RESD 1 分配4个字节.
RESQ 1 分配8个字节.
我对么?
该文件并没有太多发言权:
3.2.2 RESB和朋友:声明未初始化的数据
RESB,RESW,RESD,RESQ,REST,RESO,RESY和RESZ设计用于模块的BSS部分:它们声明未初始化的存储空间.每个操作数采用一个操作数,即字节数,字数,双字数或任何要保留的值.如2.2.7节所述,NASM不支持通过编写DW来保留未初始化空间的MASM/TASM语法?或类似的东西:这就是它的作用.RESB类型伪指令的操作数是一个关键表达式:参见3.8节.
例如:
缓冲区:resb 64; 保留64个字节
wordvar:resw 1; 保留一个字
realarray resq 10; 十个实际的阵列
ymmval:resy 1; 一个YMM注册
zmmvals:resz 32; 32个ZMM寄存器
我对么?
是.
大小后缀在整个NASM中是一致的,for d*和res*.它们将字节与xword的x86指令助记符后缀相匹配.(例如psubd使用打包的dword元素).
甚至还有一个使用o(oct-word)的指令助记符: cqo.
y和z大小后缀明显匹配ymm和zmm寄存器大小,即使指令助记符现在是VBROADCASTI32X8因为AVX512屏蔽粒度.
| 归档时间: |
|
| 查看次数: |
15769 次 |
| 最近记录: |