tword、oword 和 yword 操作数的大小是多少? [英] What are the sizes of tword, oword and yword operands?
问题描述
NASM/YASM 手册?在相关说明中,这些名称是否有技巧或潜在的想法?有没有办法给更大的字长指定逻辑名称?
What are the sizes of tword
, oword
and yword
operands, as used in the NASM/YASM manual? And on a related note, is there a trick or underlying idea to these names? Is there a way by which bigger word sizes are given logical names?
我知道虽然系统之间的字长可能不同,但 NASM word
是 2 个字节,dword
是两倍(4 个字节),qword
是一个四字(8 个字节),但是……tword
是一个三字(6 个字节)吗?对于 oword
和 yword
,我什至想不出合理的含义.
I know that while word sizes may differ between systems, a NASM word
is 2 bytes, dword
is double that (4 bytes), qword
is a quad word (8 bytes), but... is tword
a triple word (6 bytes)? And for oword
and yword
I can't even think of a plausible meaning.
请注意,这可能是一个简单的问题,但我找不到答案.在 NASM 和 YASM 手册中没有解释这些大小,甚至在 DQ
、DT
、DY
、RESQ
中也没有解释>、REST
、RESY
伪指令.我在某处读到 MASM 使用类似的系统,但也找不到任何相关信息.
Note that it is probably an easy question, but I couldn't find an answer. In the NASM and YASM manuals these sizes are not explained, not even at the DQ
, DT
, DY
, RESQ
, REST
, RESY
pseudo-instructions. I read somewhere that MASM uses a similar system, but could not find anything on that either.
根据答案,这是完整列表:
Based on the answers, this is the complete list:
- 1 字节(8 位):
byte
、DB
、RESB
- 2 字节(16 位):
word
、DW
、RESW
- 4 字节(32 位):
dword
、DD
、RESD
- 8 字节(64 位):
qword
、DQ
、RESQ
- 10 字节(80 位):
tword
、DT
、REST
- 16 字节(128 位):
oword
、DO
、RESO
、DDQ
、RESDQ
- 32 字节(256 位):
yword
、DY
、RESY
- 64 字节(512 位):
zword
、DZ
、RESZ
- 1 byte (8 bit):
byte
,DB
,RESB
- 2 bytes (16 bit):
word
,DW
,RESW
- 4 bytes (32 bit):
dword
,DD
,RESD
- 8 bytes (64 bit):
qword
,DQ
,RESQ
- 10 bytes (80 bit):
tword
,DT
,REST
- 16 bytes (128 bit):
oword
,DO
,RESO
,DDQ
,RESDQ
- 32 bytes (256 bit):
yword
,DY
,RESY
- 64 bytes (512 bit):
zword
,DZ
,RESZ
推荐答案
看nasm 源,它看起来像:
- 'oword'/'DO' 是word"的 8 倍(O 代表octoword"),与 dqword(double-quad")同义;这将是 128 位,对应于 SSE 向量寄存器的大小.
- 'tword'/'DT' 是 80 位(T 代表ten 字节"),这是 Intel x87 浮点寄存器的完整大小.
- 'yword'/'DY' 是 256 位,Y 可能是英特尔 AVX 扩展中 256 位向量寄存器的 YMM 名称的助记符.
- 'zword'/'DZ' 是 512 位,Z 表示英特尔 AVX-512 扩展中 512 位向量寄存器的 ZMM 名称.
- 'oword'/'DO' is 8 times as big as "word" (O for "octoword"), synonymous with dqword ("double-quad"); that would be 128 bits, corresponding to the size of an SSE vector register.
- 'tword'/'DT' is 80 bits (T for "ten bytes"), the full size of an Intel x87 floating point register.
- 'yword'/'DY' is 256 bits, and the Y is presumably mnemonic for the YMM names of the 256-bit vector registers in the Intel AVX extensions.
- 'zword'/'DZ' is 512 bits, Z for the ZMM names of the 512-bit vector registers in the Intel AVX-512 extensions.
所以,这不完全是一个合乎逻辑的命名约定;它刚刚长大".
So, it's not exactly a logical naming convention; "it just growed".
这篇关于tword、oword 和 yword 操作数的大小是多少?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!