首页 > 其他 > 详细

操作系统

时间:2017-08-24 14:34:36      阅读:334      评论:0      收藏:0      [点我收藏+]

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标志位等,都能够恢复到目标指令序列上次执行到这个位置时候的状态

操作系统

原文:http://www.cnblogs.com/jay--zhang/p/7421560.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!