1
我找到了一个编写bootloader的教程。除了1条线以外,这一切都非常清楚。这是一些代码。这是为什么这个程序集需要
Print:
lodsb
or al, al ;I don't get this line
jz PrintDone
mov ah, 0x0e
int 0x10
jmp Print
它有一些清除int 0x10使用的寄存器的代码。我唯一不明白的就是or al,al行。如果你自己或者什么东西,你会得到你开始的对吗?
如果有人能回答这个问题,我会永远爱他们:)
如果al为零,那么“or”可能确保设置z标志。它在不修改al的情况下设置z标志。 Lodsb为al加载一个值,但不影响零标志,因此需要另一条指令。 –