关于masm中PTR伪指令的一点思考
2014-07-03 19:50
316 查看
在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
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伪指令的一点思考
- 关于masm中PTR伪指令的一点思考
- 关于Windows下ShellCode编写的一点思考
- 关于计算机体系结构的一点思考。
- 关于Sqlite数据库二进制数据字段操作方法的一点思考
- 关于我们这一代人就业的一点理性思考
- 关于项目成功的一点思考
- 关于项目成功的一点思考
- 关于软件注册的一点思考
- 关于“云计算”引起的一点思考
- 关于response.sendRedirect()方法的一点思考
- 关于设计文档与代码关系的一点思考
- 【分析】关于Windows下ShellCode编写的一点思考
- 关于动态内存的一点思考
- 关于船舶建造系统的一点思考
- 关于 stack overflow 的一点思考 chkstk
- 关于微内核的一点思考
- 关于IE缓存和AJAX的一点思考和疑问
- 关于Switch Case 的一点思考
- 关于技术人员转到项目经理的一点思考