diff --git a/src/mbr/mbr.nasm b/src/mbr/mbr.nasm index bb9475c..c6b57e4 100755 --- a/src/mbr/mbr.nasm +++ b/src/mbr/mbr.nasm @@ -34,6 +34,12 @@ init: mov ss, ax ; Set Stack Segment to 0 mov sp, STACK_START + + mov ch, 0x01 ; 256 WORDs in MBR (512 bytes), 0x0100 in cx + mov si, 0x7C00 ; Current MBR Address (loaded here by BIOS) + mov di, MBR_ENTRY ; New MBR Address (our new relocation address) + rep movsw ; copy 512 bytes from 0x0000:7c00 to 0x0000:MBR_ENTRY (7A00 as of writing) + sti jmp 0:main