关于masm中PTR伪指令的一点思考

简介:

    在masm中,PTR伪指令只能修饰内存变量类型,因为任何寄存器的大小都是已知的且不能改变的(如果PTR修饰的是寄存器,则它修饰的是寄存器本身而不是其指向的内容)所以不能用PTR改变寄存器的大小,例如:

mov bx,word ptr eax ;错误!不能将eax大小改为word尺寸。

mov ebx,dword ptr eax;正确!但没有意义。

mov ebx,(pos ptr [eax]).x;正确!你不能改变eax的大小,但可以改变其指向空间的大小。


    另外,还有一种预先说明寄存器类型的方法:

assume eax:ptr pos

mov ebx,[eax].x

assume eax:NOTHING

相关文章
|
2月前
|
编译器 C语言
【C语言】什么是宏定义?(#define详解)
【C语言】什么是宏定义?(#define详解)
28 0
|
2月前
|
C语言
【C语言】#define的认识
【C语言】#define的认识
|
4月前
汇编指令学习(CALL,JMP,RET)
汇编指令学习(CALL,JMP,RET)
27 0
|
4月前
|
编译器 存储 网络协议
【汇编】CS、IP寄存器与代码段,用汇编语言写的源程序,jmp指令
【汇编】CS、IP寄存器与代码段,用汇编语言写的源程序,jmp指令
【汇编】CS、IP寄存器与代码段,用汇编语言写的源程序,jmp指令
|
5月前
|
编译器
#define 宏定义看这一篇文章就够了
#define 宏定义看这一篇文章就够了
124 0
|
8月前
|
C语言
【C语言】——define和指针与结构体初识
【C语言】——define和指针与结构体初识
|
11月前
IDA宏定义
IDA宏定义
113 0
|
12月前
8086汇编中mov,add,sub语法
8086汇编中mov,add,sub语法
163 0
|
数据安全/隐私保护
Win32汇编:算术与伪指令
每种汇编语言都有进行操作数移位的指令,移位和循环移位指令在控制硬件设备,加密数据,以及实现高速图形运算时特别有用,移位指令也是汇编语言中最具特征的指令集,`移位(Shifting)`的含义是在操作数内向左或向右移动数据位,Intel处理器提供了多种移位指令,具体如下表所示:
245 0
汇编(七)[bx]、 loop指令、debug与masm
汇编、[bx]、 loop指令、debug与masm、汇编程序
4305 0