• 汇编语言--指令


    一,指令的执行过程是怎样的?

      1,指令是有长度的,一条指令可以由多个字节构成

      2,指令的执行过程分为三个阶段

        cpu从cs:ip所指向的内存单元读取指令,存放到指令缓存器中

        ip = ip + 所读指令的长度,从而指向下一条指令

        执行指令缓存其中的内容,重复第一步

    二,汇编指令jmp(jump的简写)

      1,作用:转移指令之一,可以修改cs和ip这两个寄存器的值,决定了cpu从哪里读取指令

      2,格式:

        jmp 2000:0

        jmp 寄存器 (相当于用寄存器中的值覆盖掉ip寄存器)

    三,汇编指令call指令

      1,作用:进行两步操作

        将更改后的(上面步骤二)的IP或CS和IP压入栈中
        转移

      2,格式:

        call指令不能实现短转移,它的书写格式同jmp指令

        语法格式一:call 标号
        汇编解释:(1) push IP (2) jmp near ptr 标号

        语法格式二:call far ptr 标号
        汇编解释:(1) push CS (2) push IP (3) jmp far ptr 标号

        语法格式三:call 16位reg
        汇编解释:(1) push IP (2) jmp 16位reg

        语法格式四:call word ptr 内存单元地址
        汇编解释:(1) push IP (2) jmp word ptr 内存单元地址

        语法格式五:call dword ptr 内存单元地址
        汇编解释:(1) push CS (2) push IP (3) jmp dword ptr 内存单元地址

      

  • 相关阅读:
    工作中的体悟和经验
    java中List的toArray方法
    Arthas干货总结
    内部类访问外部类的方法
    PriorityBlockingQueue 源码分析
    ArrayBlockingQueue 源码解析
    Kafka 读书笔记--日志索引
    Mybatis源码解析之--谈谈${}
    Mybatis源码分析之--浅析ResultSetHandler
    linux命令--ll
  • 原文地址:https://www.cnblogs.com/RosemaryJie/p/14021284.html
Copyright © 2020-2023  润新知