我在读这个:https://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf
我在第 8 页阅读了以下内容:
e9 fd ff 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
最初的三个字节,十六进制为 0xe9、0xfd 和 0xff,实际上是
CPU 制造商定义的机器代码指令,用于执行
无休止的跳跃。
他们所说的“执行无休止的跳跃”是什么意思?
最佳答案
它只是一个跳跃到自己的跳跃。没什么特别的。
在 16 位模式下,e9 fd ff
是 jmp rel16
的一个实例.偏移量 0xfffd
是 -3,因为跳转偏移量是“从下一条指令的开始”,从第一个 00 返回 3 个字节,所以回到 jmp
.
关于cpu - "CPU performs an endless jump"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34210785/