您好,登录后才能下订单哦!
这篇文章主要为大家展示了“易语言中如何内嵌汇编取变量指针”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“易语言中如何内嵌汇编取变量指针”这篇文章吧。
内嵌汇编不能取自定义类型(成员非4字节,取来的是对齐结构的指针,比如成员为字节型分配4个字节),和非小数和整数,文本型数组不可以取指针,其它的都可以
要注意的是易的子程序前有EBP入栈操作,所以要有出栈操作才行
这是我写的取整数型指针的例子(字节型,短整数型,小数型,日期时间型,双精度小数型都通用,注意参数要为参考):
.版本 2
.支持库 spec
.子程序 取整数型指针, 整数型, 公开
.参数 整数, 整数型, 参考
'push ebp <------------这两句已经是易原有的
'mov ebp, esp置入代码 ({ 139, 69, 8, 201, 194, 4, 0 })
' mov eax, dword ptr [ebp+08]
' leave <------------赋值给ESP,从堆栈中弹出到EBP
' ret 0004
返回 (0)
取文本指针的例子:
.版本 2
.支持库 spec
.子程序 取文本型指针, 整数型, 公开
.参数 文本, 文本型置入代码 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })
' mov eax, dword ptr [ebp+08]
' mov eax, dword ptr [eax]
' leave
' ret 0004
返回 (0)
取字节集指针的例子:
.版本 2
.支持库 spec
.子程序 取字节集指针, 整数型, 公开
.参数 字节集, 字节集, 参考置入代码 ({ 139, 69, 8, 139, 0, 131, 192, 8, 201, 194, 4, 0 })
' mov eax, dword ptr [ebp+08]
' mov eax, dword ptr [eax]
' add eax, 00000008
' leave
' ret 0004
返回 (0)
以上是“易语言中如何内嵌汇编取变量指针”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。