在浏览Gameboy的指令集时,我遇到了如下指令:
LD A, A
LD B, B
LD C, C
LD D, D
...
每个指令都有自己的操作码
this table
,这使我认为,由于对可能的操作码数量的限制,它们具有一定的重要性。
我首先想到的可能是取消对该寄存器中指针的引用,并将值存储在该指针上(
like in this question
),但在
emulator
,则,
LD A, A
实施方式如下:
Z80._r.a = Z80._r.a
它们似乎对处理器的状态没有任何影响(只需将寄存器设置为自己的值),并采用与
NOP
执行。
为什么指令集中包含这些操作码,它们有什么用途?