## Display Device Driver Reference for OS/2

[prev][next][parent][TOC]

### Block I/O Commands

Block I/O commands are designed for indexed ports. Byte-indexed access requires both index and data port values. Word and Dword block I/O is implemented as autoincrement block I/O, which causes no explicit modification to the index register. Word and Dword block I/O assumes that the hardware either implements autoincrementing or that the values being written specify both index and data. The startindex field is used as the index of the first PMI register in the set and as the first indexed port value. If the hardware's autoincrementing feature needs to be programmed explicitly, it should be done prior to calling the block I/O and should be left enabled upon completion of the mode set. See "Save and Restore State" , and [TrapRegs] in PMI Sections.

    BINB( count, startindex, indexport, dataport );
    BOUTB( count,startindex, indexport, dataport );

    <startindex>  ::= <constant>
    <count>  ::= <constant>
    <indexport>  ::= <pio variable>  |  <constant>
    <dataport>  ::= <pio variable>  |  <constant>
    <port>  ::= <pio variable>  |  <constant>

For example:

    r0 = 0x11; r1 = 0x12; r2 = 0x13;
    boutb(0x03, 0x00, seq_address, seq_data);   //seq_address and seq_data
                                                //already declared.