我正在阅读手册,它有点复杂。我一生都无法理解机器代码编码,但这不是我主要关心的问题……我主要关心的是地址/数据总线。
我不明白 OUT 指令中的“地址输出”与端口配置之间的区别,以及寄存器数据操作数的参与。
直接引用自z80手册:
寄存器 C 的内容放在地址总线的下半部分(A0 到 A7),以选择 256 个可能端口之一的 I/O 设备。
提问时间:
1.“下半部分”是什么意思?
2. 256 个可能的端口在哪里/是什么,它是如何选择一个的,它到底从那里去哪里?
下一个报价:
如果寄存器 C 的内容为 01H,而寄存器 D 的内容为 5AH,则在执行 OUT (C) 时,将 D 字节 5AH 写入映射到 I/O 端口地址 01H 的外围设备。
因此,如果我在寄存器 C 中有 1,在 D 中有 90,并且我写 OUT(C),则 D 90 被写入映射到 1 的东西?我怎么知道 1 映射的是什么?
PS:另外,如果我在映射地址 1 有硬件,那么 90(表示的值)在那个硬件中去哪里?
不要因为我的困惑而误会我的意思,我是一名程序员......我只是在这个低级别编码的经验非常有限,只需要一些澄清。