在[计算机基础] 汇编学习(1)中,我们知道了CPU是通过CS:IP来确定哪些数据是指令的。
那么,CPU执行指令的简单流程如下:
1.CPU从CS:IP所指向的内存单元中读取指令,存放到指令缓存器中。 2.IP寄存器的值 = IP旧值 + 被读取指令的长度。 3.执行指令缓存器中的指令,回到步骤1。
我们使用 debug -u 查看指令的时候,可以看到指令的长度:
可以看到,每个指令的长度都不一定相等,从1 byte~4 byte不等,至于指令的长度,是由指令集规定的,CPU会按照指令集来读取指令,就不会读错长度了。
原文:https://www.cnblogs.com/leokale-zz/p/12795727.html