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

你可能感兴趣的:(masm,PTR伪指令)