The exact nature of the signals on these ports -- what values will appear
and when, is called a protocol.
Here are some of the things that a protocol specifies:
-
the number of bits used for data accepted and data ready, and what their
positions are in the control byte
-
the exact sequence of values in the control byte
-
who should set which bytes and when
-
what character code will be used for the data (ASCII, EBCDIC, other)
-
how the device tells the CPU when its done
-
how the device tells the CPU about errors or abnormal conditions
-
how the CPU gives commands to the device (start, stop, give me your
status, wait for a while, etc.)
-
how the CPU discovers when the device is out of data
|