Joa...also das ist ein Bootloader, fehlen tut eigentlich nur der obere Teil: org 0x7C00 ;Dem Compiler mitteilen, dass die Adresse hier 0x7c00 ist
cli ;Interrupts ausschalten
mov ax, 0x6000 ;Stack festlegen
mov ss, ax
mov sp, 0
sti ;Interrupts wieder einschalten
xor ax,ax ;Segmentregister setzen
mov ds,ax
mov es,ax
mov ax,3 ;Bildschirm löschen
int 0x10
Wiederholen:
xor ax,ax ;Funktion auswählen
int 13h ;Den Interrupt ausführen
jc Wiederholen ;Bei Fehler wiederholen
nomal:
xor ax,ax
mov ds,ax
mov es,ax
mov bx,0x8000
mov ah,2
mov cx,5
mov dx,0
mov al,5
int 0x13
jc nomal
mov bx,0x8000
jmp inschleiferein
wiederholeen:
add bx,24
inschleiferein:
cmp WORD[bx],0
je FehlerPlus3A
cmp WORD[bx+2],0
jne weitermachen
Fehler:
ax,0xB800
mov ds,ax
mov BYTE [0x10], '-'
jmp Fehler
weitermachen:
cmp WORD[bx],'Tr'
jne wiederholeen
ax,0xB800
mov ds,ax
mov BYTE [0x10], '-'
Jetzt wird ein Plus gezeigt, wenn es erfolgreich war, ansonsten ein Minus.
Dann wird der Bootloader zusammen mit folgender Datei getan: times 2048-($-$$) db 0
dw 'Tr'
dw 0,0
times 2048-($-$$) db 0
Gruss
Noooooooooooos