If there is more than one device using programmed I/O, it is necessary to poll the ready bits of all of the devices.

         Figure 6-7  Priority polling

            MOV  FLAG, 0        ;CLEAR FLAG
  INPUT:    IN   AL, STAT1      ;CHECK STAT1
            TEST AL, 20H        ;AND IF NO INPUT IS
            JZ   DEV2           ;READY GO TO DEV2,
            CALL FAR PTR PROC1  ;ELSE INPUT FROM DEVICE 1
            CMP  FLAG, 1        ;IF FLAG IS CLEAR
            JNZ  INPUT          ;INPUT ANOTHER DATUM
  DEV2:     IN   AL, STAT2      ;CHECK STAT2
            TEST AL, 20H        ;AND IF NO INPUT IS
            JZ   DEV3           ;READY, GO TO DEV3,
            CALL FAR PTR PROC2  ;ELSE INPUT FROM DEVICE 2
            CMP  FLAG, 1        ;IF FLAG IS CLEAR
            JNZ  INPUT          ;INPUT ANOTHER DATUM
  DEV3:     IN   AL, STAT3      ;CHECK STAT3
            TEST AL, 20H        ;AND IF
            JZ   NO_INPUT       ;INPUT IS AVAILABLE,
            CALL FAR PTR PROC3  ;INPUT FROM DEVICE 3,
  NO_INPUT: CMP  FLAG, 1        ;ELSE CHECK FLAG, IF CLEAR
            JNZ  INPUT          ;INPUT ANOTHER DATUM,
             .                  ;ELSE CONTINUE
             .
             .

Figure 6-8 shows how the devices could be serviced in turn. This is referred to as a round-robin arrangement. Such an arrangement essentially gives all three devices the same priority.

            MOV  FLAG, 0        ;CLEAR FLAG
  INPUT:    IN   AL, STAT1      ;INPUT FROM DEVICE 1
            TEST AL, 20H        ;IF INPUT IS READY
            JZ   DEV2
            CALL FAR PTR PROC1
  DEV2:     IN   AL, STAT2      ;INPUT FROM DEVICE 2
            TEST AL, 20H        ;IF INPUT IS READY
            JZ   DEV3
            CALL FAR PTR PROC2
  DEV3:     IN   AL, STAT3      ;INPUT FROM DEVICE 3
            TEST AL, 20H        ;IF INPUT IS READY
            JZ   NO_INPUT
            CALL FAR PTR PROC3
  NO_INPUT: CMP  FLAG, 1        ;REPEAT LOOP IF FLAG
            JNZ  INPUT          ;IS STILL CLEAR
             .
             .
             .
          Figure 6-8  Round-robin polling

PRETHODNA FOLIJA SADRZAJ SLEDECA FOLIJA