In assembly, $ is used to obtain the address where $ is located. Therefore, JMP $ is an endless loop. Unless
Interrupted, and the interrupted service program will be executed again. However, it should be noted that the returned address is still JMP $, rather than its
The next statement.
In JMP $ execution, the address of the JMP $ statement is loaded into the program counter PC. Interruption approaching
Then the PC is pushed to the stack. After the service interruption program returns, the PC value is retrieved from the stack and executed. The value of the PC
Is the JMP $ address!
The computer course was planted on this statement...
I personally think the main reason for this problem is that I do not understand what is called the next statement ". Before calling
When the function returns, we often say that the next statement is returned, which is specified by the PC.