小编Spo*_*oze的帖子

将寄存器加载到自身的指令的目的是什么?

在查看Gameboy的指令集时,我遇到了如下指令:

LD A, A
LD B, B
LD C, C
LD D, D

...
Run Code Online (Sandbox Code Playgroud)

每条指令中有自己的操作码此表,这让我觉得他们是一些重要的,由于可能的操作码的数量限制.

我首先想到它可能是在该寄存器中取消引用指针并将值存储在该指针处(就像在这个问题中一样),但是在模拟器中,LD A, A实现为:

Z80._r.a = Z80._r.a
Run Code Online (Sandbox Code Playgroud)

它们似乎对处理器的状态没有影响(只是将寄存器设置为它们自己的值)并且NOP执行与a相同的周期数.

为什么这些操作码包含在指令集中,它们的用途是什么?

memory assembly z80 emulation gameboy

12
推荐指数
2
解决办法
524
查看次数

标签 统计

assembly ×1

emulation ×1

gameboy ×1

memory ×1

z80 ×1