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:

[BITS 16]
[ORG 0]

jmp start


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
int 13h

jc read

jmp 1000h:0000h