汇编中EIP是怎样判断下一条指令的位置的
首先这个问题和汇编无关。汇编也好,直接写机器码也罢,你写的只是指令序列而已。EIP怎么变化这种问题,不应该需要汇编考虑。题主是不是想问机器码中的各种指令长度不同,如果只是“+1”的话如何处理长度不同的指令。最短的指令只有1个字节,而最长的指令可以有15个字节。比如有些指令里需要立即数,而32位系统中一个立即数就有4字节。但是汇编中一个助记符并不是对应一个操作码的,而是会对应几种不同的指令操作码,根据后面带的参数不同而有区别。也就是说,虽然助记符和指令的长度对应关系不是唯一的,但操作码和指令对应关系是唯一的。EIP只要跟着指令长度变化自增就可以了。不过现在CPU普遍有指令缓存,所以CPU也可能是从内存中读出一堆指令放到缓存里,而EIP指示的是内存中的指令执行情况,所以EIP会直接加过去,读到缓存里的就由CPU自己控制了。
■网友
【汇编中EIP是怎样判断下一条指令的位置的】 有跳转跳转 没有下一条
■网友
问:汇编中EIP是如何判断下一条指令的位置的?答:这跟汇编无关,纯粹是CPU考虑的事情。CPU每解析一条指令,就知道下一条指令的候选位置。候选只有一个的时候没什么好说的,遇到多个时先蒙一个,错了再改。还有一种情况是遇到中断或异常,此时会临时跳到约定的地方。
推荐阅读
- 聪明人养花,这3种“花”怎样也要养一盆,每年能省不少医药费
- 互联网怎样解决“家政服务上门速度慢”的问题
- 怎样看待从1月8号起,QQ钱包开始提现收费
- 银行it人怎样转型
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结
- 怎样进入通信行业
- 怎样评价扶他柠檬茶的小说《云养汉》的结尾
- 怎样成为一名合格的Python程序员?
- 怎样评价华为、诺基亚、中兴中标中国移动高端路由交换设备扩容集采
- 怎样评价类似前橙会、百老汇、南极圈这样类型的离职帮抱团,对企业的积极意义和消极意义
