当LODSB为0000h时SI寄存器应为FFFFh

1 assembly emulation x86-16

我正在制作8086仿真器,并使用5150的IBMPCBIOSv3进行测试.但是由于SI寄存器在LODSB之后是FFFF,它会停止.SI寄存器在LODSB之前为0,因此在LODSB之后它应该是-1.或其他什么?

Bre*_*dan 6

如果在LODSB之前方向标志清零且SI = 0x0000,则在LODSB之后SI将为0x0001.

如果在LODSB之前设置了方向标志且SI = 0x0000,则在LODSB之后SI将为0xFFFF.