Hallo Buschpilot
Ein paar mehr Grundlagen sind schon nötig!
ohne Fleiß usw.
Es gibt viele schöne Beispiele die man erst mal studieren sollte.
naja:
Und ein Laufwerk wird ja auch noch benötigt.
Hier ein kleines Beispiel mit NASM.
;NASM -> nasm -f bin -o boot.bin boot.asm
org 0x7C00 ; set up start address of bootloader
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; setup a stack and segment regs ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
xor ax, ax ;null
mov ds, ax
mov es, ax
mov ss, ax
mov sp, ax
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; read kernel from floppy disk ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov [bootdrive], dl ; boot drive stored by BIOS in DL.
; we save it to [bootdrive] to play for safety.
load_kernel:
xor ax, ax ; mov ax, 0 => function "reset"
int 0x13
jc load_kernel ; trouble? try again
mov bx, 0x8000 ; set up start address of kernel
; set parameters for reading function
; 8-bit-wise for better overview
mov dl,[bootdrive] ; select boot drive
mov al,1 ; read 1 sectors >anzahl<
mov ch, 0 ; cylinder = 0
mov cl, 2 ; sector = 2 (erster Sector Bootsector)
mov dh, 0 ; head = 0
mov ah, 2 ; function "read"
int 0x13
;;;;;;;;;;;;;;;;;;
; jump to kernel ;
;;;;;;;;;;;;;;;;;;
jmp 0x0000:0x8000 ; address of kernel. "jmp bx" might also work.
;;;;;;;;
; data ;
;;;;;;;;
bootdrive db 0 ; boot drive
times 510-($-$$) hlt
dw 0xAA55
Viel Spaß beim Üben
Gruß
Relbmessa