What is causing this bootloader to fail on hardware but not in DOSBOX? It displays all registers
问题 I recently wrote an x86 'bootloader' program that shows the values of the hardware registers after the BIOS jumps to my program. For the purpose of testing, I set the AX register to a known value to ensure that the program runs correctly. BITS 16 %macro pad 1-2 0 times %1 - ($ - $$) db %2 %endmacro [org 0x7C00] CLD ; clear direction flag (forward direction) CLI ; clear interrupt flag (disable interrupts, opposite of 65xx) MOV [0x8000], AX ; display all registers, MOV [0x8004], BX ; including