zoukankan      html  css  js  c++  java
  • 操作系统

    1.寄存器:

    CS:EIP寄存器 

    指令指针寄存器

    ip(16位)或eip(32位)专门用来存放下一条即将执行的机器指令的偏移地址

    ip的值在执行完一条指令后自动递增,指令的大小不同,其大小是1~6字节。

    cs和ip或cs和eip一起构成了下一条即将执行的指令的完整地址。

    ip和eip寄存器是唯一即不能直接读出,也不能直接写入的寄存器。

    MOV指令

    MOV指令是传输指令,MOV就是传送的意思(连续执行),例如我要将一个数据传送到某个寄存器

    JMP系列指令

    跳转指令: 分为相对转移和绝对跳转。绝对转移是直接跳转到内存地址 。相对跳转是跳转到X字节后的位置在计算时候跳转指令和目的地址的数据都不计算在内

    CPU通过CS:EIP寄存器的值确定下一条指令的位置,但是CPU并不允许直接使用MOV指令来更改EIP的值,必须通过JMP系列指令、CALL/RET指令、或INT中断指令来实现代码的跳转;在指令序列间切换的时候,除了更改EIP之外,我们还要保证代码可能会使用到的各个寄存器的值,尤其是栈指针SS:ESP,以及EFLAGS标志位等,都能够恢复到目标指令序列上次执行到这个位置时候的状态

  • 相关阅读:
    软链接和硬链接
    Hive的基本常识
    Hadoop
    Docker技术
    人生苦短,我用Python(6)
    人生苦短,我用Python(5)
    人生苦短,我用Python(4)
    openssl telnet openssh
    iptables
    http与httpd
  • 原文地址:https://www.cnblogs.com/jay--zhang/p/7421560.html
Copyright © 2011-2022 走看看