zoukankan      html  css  js  c++  java
  • 指令替换

    有一个问题,怎么用其它指令实现push操作。

    第一步看一下push操作具体干了什么事情。

    查看intel指令手册

    先让esp-4,然后把操作数写到[esp]这个地方。

    第二步看影响的标志位。

    手册说不影响标志位。

    第一步是让esp-4,这个比较简单,lea esp,esp-4 lea指令不影响标志位。

    然后mov [esp],var mov指令也不影响标志位

    如果用sub esp,4这样行不行,行,但是影响标志寄存器。可以先把标志仅存器保存起来,sub执行完之后 再恢复标志寄存器的值,这样就相当于不影响标志寄存器了。

    pushfd

    sub esp,4

    popfd

    mov [esp],var 

    这样也是可以的。

  • 相关阅读:
    递归
    匿名函数
    迭代器、可迭代对象、生成器
    日期
    大文件读写
    面向对象
    魔术方法
    进程与线程
    numpy常用函数
    shell编程
  • 原文地址:https://www.cnblogs.com/yfish/p/15469380.html
Copyright © 2011-2022 走看看