4-5
PERIPHERAL CONTROL BLOCK
4.4.3
F-Bus Operation
The F-Bus functions differently than the external data bus for byte and word accesses. All write
transfers on the F-Bus occur as words, regardless of how they are encoded. For example, the in-
struction OUT DX, AL (DX is even) will write the entire AX register to the Peripheral Control
Block register at location [DX]. If DX were an odd location, AL would be placed in [DX] and
AH would be placed at [DX–1]. A word operation to an odd address would write [DX] and [DX–
1] with AL and AH, respectively. This differs from normal external bus operation where un-
aligned word writes modify [DX] and [DX+1]. In summary, do not use odd-aligned byte or word
writes to the PCB.
Aligned word reads work normally. Unaligned word reads work differently. For example, IN AX,
DX (DX is odd) will transfer [DX] into AL and [DX–1] into AH. Byte reads from even or odd
addresses work normally, but only a byte will be read. For example, IN AL, DX will not transfer
[DX] into AX (only AL is modified).
No problems will arise if the following recommendations are adhered to.
Word reads
Aligned word reads of the PCB work normally. Access only even-
aligned words with IN AX, DX or MOV word register, even PCB
address.
Byte reads
Byte reads of the PCB work normally. Beware of reading word-wide
PCB registers that may change value between successive reads (e.g.,
timer count value).
Word writes
Always write even-aligned words to the PCB. Writing an odd-
aligned word will give unexpected results.
For the 80C186 Modular Core, use either
– OUT DX, AX or
– OUT DX, AL or
– MOV even PCB address, word register.
For the 80C188 Modular Core, using OUT DX, AX will perform an
unnecessary bus cycle and is not recommended. Use either
– OUT DX, AL or
– MOV even-aligned byte PCB address, byte register low byte.
Byte writes
Always use even-aligned byte writes to the PCB. Even-aligned byte
writes will modify the entire word PCB location. Do not perform
unaligned byte writes to the PCB.
Содержание 80C186XL
Страница 1: ...80C186XL 80C188XL Microprocessor User s Manual...
Страница 2: ...80C186XL 80C188XL Microprocessor User s Manual 1995...
Страница 18: ...1 Introduction...
Страница 19: ......
Страница 27: ......
Страница 28: ...2 Overview of the 80C186 Family Architecture...
Страница 29: ......
Страница 79: ......
Страница 80: ...3 Bus Interface Unit...
Страница 81: ......
Страница 127: ......
Страница 128: ...4 Peripheral Control Block...
Страница 129: ......
Страница 137: ......
Страница 138: ...5 ClockGenerationand Power Management...
Страница 139: ......
Страница 154: ...6 Chip Select Unit...
Страница 155: ......
Страница 178: ...7 Refresh Control Unit...
Страница 179: ......
Страница 193: ......
Страница 194: ...8 Interrupt Control Unit...
Страница 195: ......
Страница 227: ......
Страница 228: ...9 Timer Counter Unit...
Страница 229: ......
Страница 253: ......
Страница 254: ...10 Direct Memory Access Unit...
Страница 255: ......
Страница 283: ......
Страница 284: ...11 Math Coprocessing...
Страница 285: ......
Страница 302: ...12 ONCE Mode...
Страница 303: ......
Страница 306: ...A 80C186 Instruction Set Additions and Extensions...
Страница 307: ......
Страница 318: ...B Input Synchronization...
Страница 319: ......
Страница 322: ...C Instruction Set Descriptions...
Страница 323: ......
Страница 371: ......
Страница 372: ...D Instruction Set Opcodes and Clock Cycles...
Страница 373: ......
Страница 396: ...Index...
Страница 397: ......