Figure 9-19 gives a typical program sequence which uses programmed I/O to input 80 characters from the 8251A, whose data buffer register's address is 0050, and put them in the memory buffer beginning at LINE.

         Figure 9-19  Inputting a line of characters through an 8251A                      

       MOV    AL,00110101B           ;ENABLE TRANSMITTER AND RECEIVER
       OUT    51H,AL                 ;AND CLEAR ERROR BITS
       MOV    DI,0                   ;INITIALIZE INDEX
       MOV    CX,80                  ;PUT COUNT IN CX
BEGIN: IN     AL,51H                 
       TEST   AL,02H
       JZ     BEGIN
       IN     AL,50H                 ;INPUT CHARACTER AND
       MOV    LINE[DI],AL            ;PUT IN LINE BUFFER
       INC    DI
       IN     AL,51H                 ;CHECK ERROR
       TEST   AL,00111000B           ;BITS AND
       JNZ    ERROR                  ;IF NO ERROR IS FOUND
       LOOP   BEGIN                  ;CONTINUE INPUTTING
       JMP    SHORT EXIT
ERROR: CALL   NEAR PTR ER_ROUT       ;ELSE CALL ERR_ROUT
EXIT:   .
        .
        .   
           

PRETHODNA FOLIJA SADRZAJ SLEDECA FOLIJA