我遇到了以下汇编代码,但我不明白。
hang:
times 512-($-$$) db 0
有人可以解释一下,发生了什么事吗?
答案 0 :(得分:1)
这将导致程序因无限循环而挂起,因为jmp hang
跳转到自身。
答案 1 :(得分:0)
该代码用于用0填充剩余的程序(如果我没记错的话,就像'add'指令一样)。 它通常用在启动代码中,以便将mbr签名放在最后,因此,就“代码”而言,它不应该被执行。
总结:
这不会停止。
它用于用'00'填充程序文件,直到达到512byte(在汇编程序的输出文件中!它在运行时没有任何作用!)
要暂停您的程序,请执行以下操作:
halt:
jmp halt