我正在阅读有关 Intel 8080 emulation Emulator 101的指南,当我阅读代码以检查我写的内容时,我偶然发现了这个
case 0x36: //MVI M,byte
{
//AC set if lower nibble of h was zero prior to dec
uint16_t offset = (state->h<<8) | state->l;
state->memory[offset] = opcode[1];
state->pc++;
}
break;
从一本名为 Intel 8080/8085 Assembly Language Programming 的书中,我读到了 MVI 这个
该指令将存储在其第二个字节中的数据复制到由 H 和 L 寻址的内存位置。M 是对 H 和 L 寄存器对的符号引用。
所以我猜测偏移量是 H 和 L 寻址的内存位置,但我们为什么要这样做呢?那是(state->h<<8) | state->l
谢谢