例8.3 轮流查询三个数据输入设备的程序段。
;Round-robin polling
INPUT: IN AL,STAT1 ; check device 1
TEST AL,20H ; if device 1 is ready
JZ DEV2 ; no,goto device 2
CALL FAR PTR PROC1 ;yes,device 1 input data
DEV2: IN AL,STAT2 ; check device 2
TEST AL,20H ; if device 2 is ready
JZ DEV3 ; no,goto device 3
CALL FAR PTR PROC2 ; yes,device 2 input data
DEV3: IN AL,STAT3 ; check device 3
TEST AL,20H ; if device 3 is ready
JZ NO-INPUT ; no,goto no-input
CALL FAR PTR PROC3 ; yes,device 3 input data
NO-INPUT: ......
查询方式的优点是,可以用程序安排几个输入输出设备的先后优先次序,最先查询的设备,其工作的优先级也最高。修改程序中的查询次序,实际上也就修改了设备的优先级。查询方式的缺点就是前面提到的在查询过程中,浪费了CPU原本可执行大量指令的时间,而且由询问转向相应的处理程序的时间较长,尤其在设备比较多的情况下。