Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我遇到了以下汇编代码,但我不明白。
hang: jmp hang times 512-($-$$) db 0
谁能解释一下,发生了什么?
这将导致您的程序通过进入无限循环而挂起,因为会jmp hang跳转到自身。
jmp hang
该代码用于用 0 填充剩余的程序(如果我没记错的话,它类似于“添加”指令)。它通常用于引导代码,以便将 mbr 签名放在末尾,因此,就“代码”而言,它不应该被执行。
综上所述:
这不会执行停止。
它用于用 '00' 填充程序文件,直到达到 512 字节(在汇编程序的输出文件中!它在运行时什么都不做!)
要停止您的程序,请执行以下操作:
halt: jmp halt