在汇编过程中,可能需要指定预计的数据大小,例如栈的大小,这时候就需要用到尺寸命令(Size Directives)。
命令尺寸分三种(可以是是小写):
BYTE PTR [eax]
:表示从 eax 存储的地址,开始的 1 个字节。WORD PTR [eax]
:表示从 eax 存储的地址,开始的 2 个字节。DWORD PTR [eax]
:表示从 eax 存储的地址,开始的 4 个字节。
这里需要注意的是,如果使用mov
指令来设置一个位置,那么:
mov BYTE PTR [eax],32
:表示将 32 以 8 位整数(也就是 1 字节)的格式(00100000),移动到从 eax 存储的地址开始的 1 个字节的位置。mov WORD PTR [eax],32
:表示将 32 以 16 位整数(也就是 2 字节)的格式(00000000 00100000),移动到从 eax 存储的地址开始的 2 个字节的位置。mov DWORD PTR [eax],32
:表示将 32 以 32 位整数(也就是 4 字节)的格式(00000000 00000000 00000000 00100000),移动到从 eax 存储的地址开始的 4 个字节的位置。