分析易语言内嵌汇编取变量指针的示例
经本人研究内嵌汇编不能取自定义类型(成员非4字节,取来的是对齐结构的指针,比如成员为字节型分配4个字节),和非小数和整数,文本型数组不可以取指针,其它的都可以
要注意的是易的子程序前有EBP入栈操作,所以要有出栈操作才行
这是我写的取整数型指针的例子(字节型,短整数型,小数型,日期时间型,双精度小数型都通用,注意参数要为参考):
.版本2
.支持库spec
.子程序取整数型指针,整数型,公开
.参数整数,整数型,参考
'pushebp<------------这两句已经是易原有的
'movebp,esp置入代码({139,69,8,201,194,4,0})
'moveax,dwordptr[ebp+08]
'leave<------------赋值给ESP,从堆栈中弹出到EBP
'ret0004
返回(0)
取文本指针的例子:
.版本2
.支持库spec
.子程序取文本型指针,整数型,公开
.参数文本,文本型置入代码({139,69,8,139,0,201,194,4,0})
'moveax,dwordptr[ebp+08]
'moveax,dwordptr[eax]
'leave
'ret0004
返回(0)
取字节集指针的例子:
.版本2
.支持库spec
.子程序取字节集指针,整数型,公开
.参数字节集,字节集,参考置入代码({139,69,8,139,0,131,192,8,201,194,4,0})
'moveax,dwordptr[ebp+08]
'moveax,dwordptr[eax]
'addeax,00000008
'leave
'ret0004
返回(0)
以上就是本次给大家介绍内嵌汇编去变量指针的全部内容,感谢大家对毛票票的支持。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。