July 11th, 2011, 05:46 AM
Problems with loading from disk to memory
Hi ! I`m trying to write an OS, but I already have some problems with the bootloader. I`m trying to load some assembly code from hard disk, that will set protected mode and load kernel, but i don`t think it loads what it should load. After it calls the int 13h and jumps to the address specified it does nothing and doesn`t even return.
I am using vmware virtual machine. Can anyone give me some advice how i can verify what it loads into the memory? I also posted some code. Maybe there is some problem with the coding.
I compiled the asm file with: nasm -f aout -o x.bin x.asm ;gcc -c -o c.o c.c ; ld -T link.ld -o pmk.com x.o c.o ; and wrote it to the third sector (x00000002-x000) with Runtime`s DiskExplorer.
Here`s the code that should load it:
mov ax, 0x7C0
mov ds, ax
mov [bootdrv], dl
mov ax, 0x1000
mov es, ax
xor bx, bx
mov ax, 0x0201
mov ch, 0
mov cl, 3
mov dh, 0
mov dl, bootdrv
Tags for this Thread
Click Here to Expand Forum to Full Width
This is a CodeGuru survey question.