【发布时间】:2019-04-21 18:46:12
【问题描述】:
我正在尝试为 z80 编写一个模拟器,并且想知道是否有任何特定的操作码布局(即所有 ld 指令是否都有特定的位设置)。我看过here,但如果有迹象表明我还没有找到它。
有吗?如果有,请举几个例子。
【问题讨论】:
-
链接文档是模式。您到底在寻找什么,为什么?
-
我希望通过某种方式进行优化。例如,如果所有 X 指令都将 Y 寄存器编号添加到 Z 值,并且如果每条指令的 Y 相同,我可以轻松实现仿真器并减少代码大小。事实上,我必须手动执行每条指令。
-
我无法给出完整的答案,但是是的,有很多模式。例如,对于
ld [reg8],[reg8],操作码是 %01xxxyyy,其中 xxx 对应于第一个操作数,yyy 对应于第二个操作数。 b=000, c=001, ..., l=101, (hl)=110, a=111。例外是halt,它是 76,对应于ld (hl),(hl)。这可能对您更有用:tutorials.eeems.ca/ASMin28Days/ref/z80is.html -
该页面链接到this。
-
谢谢!这些链接很有用。