5

我正在慢慢尝试进入 osdev 只是为了玩。

本教程有一个等待驱动器准备好的程序集:

reset_drive:
   mov ah, 0
   int 13h
   or ah, ah
   jnz reset_drive

我知道中断后,ah如果设备准备好,它将为零。但是有什么作用or ah,ah呢?似乎有点多余……它似乎什么也没做。(至少按照我的逻辑)它有什么作用?

4

1 回答 1

12

它根据是否ah为零设置/取消设置零标志。

根据标志的状态,jnz reset_drive将跳转:仅当ah不为零时。

换句话说,它等待设备准备好,因为它在ah变为零后停止重复。

于 2012-12-22T15:36:48.490 回答