How to find RSD Pointer
Posted: Tue Sep 20, 2011 12:43 am
can you please tell me what asm code i need to fine the RSD Pointer That and using the video card and usb without drivers is all I need to finish my protected mode, preemptive multitasking, hybrid-kernel, x32+x64 os.I have tried to write some code but it failed
Did I mention im 11 years old
UPDATE
I just figured it out, i thought it was big endian, but it was little endian
Code: Select all
mov ax, 0040h
mov es, ax
mov si, 000Eh
mov ax, [es:si]
mov es, ax
mov si, 0
search_ebda:
mov cx, [es:si]
cmp cx, 'R'
je done
mov ax, es
inc ax
mov es, ax
inc dx
cmp dx, 400h
je search_romstart
jmp search_ebda
search_romstart:
mov ax, 0E000h
mov es, ax
search_rom:
mov cx, [es:si]
cmp cx, 'R'
je done
mov ax, es
cmp ax, 0
je fail
inc ax
mov es, ax
jmp search_rom
done:
mov cx, 0
mov al, [es:si]
mov bh, 0
mov bl, 0Fh
mov ah, 09h
int 10h
inc cx
cmp cx, 20
je finish
jmp done
finish:
mov ah, 1
int 16h
jz finish
mov ah, 0
int 16h
cmp al, 1bh
je halt
jmp finish
halt:
fail:
hlt
UPDATE
I just figured it out, i thought it was big endian, but it was little endian