• 易语言之内嵌汇编取变量指针的例子


    经本人研究内嵌汇编不能取自定义类型(成员非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)

  • 相关阅读:
    RBF高斯径向基核函数【转】
    Libsvm自定义核函数【转】
    .Net对比Java分析
    码云提交
    webapi自定义Filter
    QT4.8.5 连接数据库(读写数据)
    axure8.0激活
    photo型的object转byte[]
    select拼接
    【转】easyui $.message.alert 点击右上角的关闭按钮时,不执行定义的回调函数
  • 原文地址:https://www.cnblogs.com/hackpig/p/1668344.html
Copyright © 2020-2023  润新知