Примечание: я использовал мнемонику Intel при описании машин Intel. Будьте уверены, что они собираются в тот же двоичный код, что и мнемоника Zilog.
атривая набор инструкций Gameboy, я наткнулся на такие инструкции, как:
LD A, A
LD B, B
LD C, C
LD D, D
...
Каждая из этих инструкций имеет свой собственный код операции вэтот стол, что заставляет меня думать, что они имеют некоторое значение из-за ограничений на количество возможных кодов операций.
Сначала я подумал, что это может быть разыменование указателя в этом регистре и сохранение значения в этом указателе (как в этом вопросе), но вэмулятор, LD A, A
реализован как:
Z80._r.a = Z80._r.a
Похоже, что они не влияют на состояние процессора (просто установите регистры на свои собственные значения) и выполняют то же число циклов, что иNOP
выполнить.
Почему эти коды операций включены в набор команд и для какой цели они служат?