gpt4 book ai didi

assembly - Z80 指令寄存器大小

转载 作者:行者123 更新时间:2023-12-05 08:24:11 25 4
gpt4 key购买 nike

我正在编写一个 Z80 仿真器,但我对指令寄存器的大小感到困惑。

在 Z80 手册中它指出指令长度为 1 到 4 个字节,我是否假设 Z80 有一个 32 位指令寄存器?如果不是那么它如何执行这样的指令?

enter image description here

最佳答案

没有指令寄存器,您不会一次获取整个指令。相反,您需要逐个获取它。

让我们看一下您的示例说明:

  • 您的模拟器首先从当前 PC 获取一个字节,然后递增 PC。
  • 它查看字节,即 0xDD,仿真器知道这是“IX 指令前缀”(因为您知道这一点,因此已将您的仿真器编程为知道它)。然后您的模拟器获取另一个字节以获取实际操作码。
  • 操作码字节是0x36,你的模拟器knows 0x36 prefixed by 0xDD is LD (IX+d),n使用编码 0xDD 0x36 dd nn .
  • 然后您的模拟器获取 ddnn 字节,将 nn 写入 (IX+dd),递增循环计数器并继续执行下一条指令。

如果你想编写一个周期精确的模拟器,事情会变得有点复杂,但如果你是一个初学者,我不建议你这样做。

关于assembly - Z80 指令寄存器大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19320201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com