Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does "CPU performs an endless jump" mean?

I was reading this: https://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf And I read on page 8 the following:

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

The initial three bytes, in hexadecimal as 0xe9, 0xfd and 0xff, are actually machine code instructions, as defined by the CPU manufacturer, to perform an endless jump.

What do they mean by "perform an endless jump"?

like image 650
Luna Avatar asked Dec 10 '15 20:12

Luna


1 Answers

It's just a jump that jumps to itself. Nothing all that special.

In 16bit mode, e9 fd ff is an instance of jmp rel16. The offset 0xfffd is -3, since jump offsets are "from the start of the next instruction", that's 3 bytes back from that first 00, so back to the jmp.

like image 121
harold Avatar answered Oct 16 '22 21:10

harold