在汇编中 $ 的作用是取 $ 所在处的地址。所以jmp $就是一个死循环了。除非有
中断,会转去执行中断服务程序。但要注意的是:返回的地址还是jmp $,而不是其
下一条语句。
因为,在jmp $执行是会把jmp $语句所在的地址装到程序计数器PC中。中断来临
后PC被压栈。中断服务程序返回后,从栈中取回PC的值并开始执行。此时,PC的值
是jmp $的地址!
微机课设就栽在了这条语句上了。。。
个人觉得遇到这个问题的主要原因就在于不够理解什么才叫“下一条语句”。在调用
函数返回的时候,我们经常会说返回到下一条语句,而这下一条语句时由PC指定的。