关于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

上一篇:Windows下将网络共享目录挂载到指定文件夹


下一篇:MySQL升级指南