assembly 引导扇区编程中无限跳转有什么用

jq6vz3qz  于 2022-12-19  发布在  其他
关注(0)|答案(1)|浏览(163)

我正在阅读一本关于如何构建操作系统的书,我读到了这段代码,所有的代码都是打印你好,但我想知道更多关于无尽跳转的信息:

mov ah,0x0e
  mov al,'H'
  int 0x10
  mov al,'e'
  int 0x10
  mov al,'l'
  int 0x10
  mov al,'l'
  int 0x10
  mov al,'o'
  int 0x10

  jmp $

  times 510-($-$$) db 0
  dw 0xaa55

我知道jmp $会自动跳转。
我真的很想 * 为什么 * 他们在代码中间使用了无限循环。它有什么用???

vxf3dgd4

vxf3dgd41#

它的作用和你想的一模一样:它会导致你的程序冻结。它通常发生在你的代码只是把一些东西打印到屏幕上然后结束,并且不需要接受任何额外的输入。因为没有操作系统可以返回,你需要一些方法来“捕获”程序计数器,这是最简单的方法。

相关问题