zl程序教程

您现在的位置是:首页 >  其它

当前栏目

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

关于 思考 一点 ptr
2023-09-14 08:56:51 时间

    在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


Win32汇编:算术与伪指令 每种汇编语言都有进行操作数移位的指令,移位和循环移位指令在控制硬件设备,加密数据,以及实现高速图形运算时特别有用,移位指令也是汇编语言中最具特征的指令集,`移位(Shifting)`的含义是在操作数内向左或向右移动数据位,Intel处理器提供了多种移位指令,具体如下表所示: