Z80上没有记录的16位I/O寻址

Phi*_*987 6 io z80 emulation

我从Z80的Zilog数据表中注意到,通过I/O(IN和OUT)指令组,各种寄存器的内容通常放在地址总线的前8位(取决于指令),低8位选择多达256个理论连接设备中的一个.

我的问题是用这8位高位做这个是什么意思?我知道有些机器在某种程度上使用它来降低解码复杂度,但它们是否真的用于任何事情?我想完全按照Z80的建议实现指令,但我没有看到实现这种行为的重点,因为它是非标准的.这种行为被描述为未记录,因此在"世嘉主系统"上,我会侥幸逃脱吗?非常感谢.

此致,菲尔波特

gus*_*bro 5

Zilog 完整地记录了这种行为(第269-287页).

我猜有些外围设备可能会使用地址总线的高位A8..A15作为一种8位参数.

  • Phil 暗示的“降低解码复杂度”是最常见的用途——直接使用单个地址线作为设备启用/禁用比逻辑组合几个更便宜,并且当有 16 个时不会感觉太浪费。8 位微型计算机上的键盘倾向于利用这种行为将端口地址的一部分视为一种参数,除非您使用地址线启用或禁用键盘线(因此它就像一个掩码)并且结果最终是所有受影响行的逻辑与(不是故意的,只是因为无论如何电路板都是集电极开路的)。 (2认同)