我查看了Zilog Z80手册,输入语法:
IN A,(n)
IN r,(C)
(n)
和(C)
是什么意思?我想r
表示任何寄存器和A
注册A.对于这样一个微不足道的问题,您能否给我一个解释良好的链接?
答案 0 :(得分:3)
IN A,(n)
每the manual,第292页:
操作数n位于下半部分(A0到A7) 地址总线,用于在256个可能的端口之一中选择I / O设备。
换句话说,n
的实际值(范围从0到255)放在地址线A0到A7上。累加器(A
)的内容放在顶部地址线A8到A15上。这将选择其中一个端口地址为XXYY
的I / O设备端口,其中XX
是A
的内容,YY
是n
的值,所以这些端口的地址范围为XX00
到XXFF
。
IN r,(C)
按the manual,第293页:
寄存器C的内容放在下半部分(A0到 A7)地址总线以256种可能的方式选择I / O设备 端口。
这里,寄存器C
的内容放在地址线A0到A7上,寄存器B
的内容放在地址线A8到A15上。它们一起形成一个端口地址XXYY
,其中XX
是B
的内容,YY
是C
的内容,并选择一个I / O设备端口,256个可能之一(编号为0到255,每个C
的内容)。如上所述,端口地址的范围从XX00
到XXFF
C
。读取端口的结果存储在寄存器r
中。