PTR运算符可以用来重写一个已经被声明过的操作数大小的类型

  1. #下列操作是非法的
  2. .data
  3. myDouble DWORD 12345678h
  4. .code
  5. mov ax,myDouble
  6. #myDouble是双字类型,32位长度,AX是字类型,16位长度,操作数大小不匹配
  7. #使用WORD PTR就能将低16位字送入AX
  8. mov ax,WORD PTR myDouble ;5678h
  9. #将myDouble的高16位字送入AX
  10. mov ax,WORD PTR [myDouble+2] ;1234h
  11. #将myDouble的单个字节传送到BL
  12. mov bl,BTYE PTR myDouble ;78h

PTR必须与一个标准数据类型一起使用

包括
BTYE,SBTYE,WORD,SWORD,DWORD,SDWORD,FWORD,QWORD或TBTYE
将较小的值送入较大的目的操作数

  1. #程序将两个较小的值送入一个较大的目的操作数,下例第一个字复制到EAX的低半部分,第二个字复制到高半部分
  2. .data
  3. wordList WORD 5678H,1234H
  4. .code
  5. mov eax,DWORD PTR wordList