begin process at 2010 02 09 23:58:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Newbii

 > 

erreur dans le boot + kernel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

erreur dans le boot + kernel

mercredi 25 mai 2005 à 15:31:18 | erreur dans le boot + kernel

hudson

Bonjour,
voilà j'ai essayer de suivre le tut de inferno sur les OS
et donc le boot sur la disquette est ok !

mais dès que je veux mettre un kernel il ne le lit pas et en plus il me met l'affichage du message de boot.asm en boucle infini !!!

je comprends pas trop pourquoi !

j'ai fais tout ce qu'il est expliqué pourtant !
voici les sources :
Boot.asm :

%define BASE 0x100
%define KSIZE 1 ; nombre de secteurs de 512 octets a charger

[BITS 16]
[ORG 0x0]

jmp start
%include "UTIL.INC"
start:
mov [bootdrv],dl ; recuparation de l'unite de boot

; initialisation des segments en 0x07C0
mov ax,0x07C0
mov ds,ax
mov es,ax
mov ax,0x8000 ; stack en 0xFFFF
mov ss,ax
mov sp, 0xf000

; affiche un msg
mov si,msgDebut
call afficher

; charger le noyau
xor ax,ax
int 0x13

push es
mov ax,BASE
mov es,ax
mov bx,0

mov ah,2
mov al,KSIZE
mov ch,0
mov cl,2
mov dh,0
mov dl,[bootdrv]
int 0x13
pop es

; saut vers le kernel
jmp dword BASE:0


msgDebut db "Chargement du kernel",13,10,0

bootdrv: db 0

;; NOP jusqu'a 510
times 510-($-$$) db 144
dw 0xAA55

et enfin le kernel
[BITS 16]
[ORG 0x0]

jmp start

%include "UTIL.INC"

start:
; initialisation des segments en 0x100
mov ax,0x100
mov ds,ax
mov es,ax
mov ax,0x8000 ; stack en 0xFFFF
mov ss,ax
mov sp, 0xf000

; affiche un msg
mov si,msg00
call afficher

end:
jmp end


msg00: db 'Kernel is speaking !',10,0


puis le fichier util.inc
;---------------------------------------------------------
; Synopsis: Affiche une chaine de caracteres se terminant par 0x0
; Entree: DS:SI -> pointe sur la chaine a afficher
;---------------------------------------------------------
afficher:
push ax
push bx
.debut:
lodsb ; ds:si -> al
cmp al,0 ; fin chaine ?
jz .fin
mov ah,0x0E ; appel au service 0x0e, int 0x10 du bios
mov bx,0x07 ; bx -> attribut, al -> caractere ascii
int 0x10
jmp .debut

.fin:
pop bx
pop ax
ret

voilà seulement je suis sous win98 + nasm
et je complie bien les 2

nasm -f bin -o boot boot.asm
nasm -f bin -o kernel kernel.asm
puis je fais :
debug boot
-w cs:100 0 0 1
-q
puis copy kernel a:
et enfin copy util.inc a:
sous dos je n'arrive pas à faire ce signe "\"...

si quelqu'un vois le problème...merci de m'aider ce serait sympa !
bye




Cette discussion est classée dans : mov, ax, boot, jmp, kernel


Répondre à ce message

Sujets en rapport avec ce message

nasm [ par henri12 ] salut je viens de compiler ce mbr boot avec nasmnasm -fbin aboot.asm -o binexe.exele programme c est bien compiler mais en lançant d une cle usb l ima Probleme de boot [ par DbD ] Bonjour,Alors je fais mon OS et j'ai des problème de boot a partir d'un disquette, sur certain pc ou quand le noyau depasse 40 secteurs ca boot plus Kernel qui n'est pas chargé par le bootloader [ par JB_59 ] Salut tout le monde !Voilà j'ai un problème de chargement de Kernel; j'ai codé un boot loader en asm qui m'affiche la phrase "Chargement du kernel..." probleme avec un bootloader [ par anonyme_man_in_this_world ] salut !! je voudrais coder un bootloader , tous ce compile bien ,je copie / colle le fichier .BIN dans une disquette ,mais lors le redemmarrage d Modifer le vecteur d'interruptions [ par vecchio56 ] Bonjour J'essaie de refaire la source http://www.cppfrance.com/code.aspx?ID=33558 en assembleur (ca consiste à modifier la routine de l'interruption 0 Graphique [ par RM50Man ] Bonjour a tous!!!!Je veux tracer une ligne mais ca ne marche pas, je passe les parametre par la pile,et ensuite ds la fonction principale, je remplis problème : nombres aléatoires random [ par dmontavon ] Je cherche à générer un nombre aléatoire avec le code :Random:   mov dx,128             & Afficher l'heure avec la memoire video [ par RootASM ] Bonjour,Je voudrais afficher l'heure grace à la mémoire vidéo car elle permet d'économiser une interuption.Quand je le lance sous afd, j'ai bien dans A l'aide... svp [ par monitor100 ] Bonjour a tous,Je suis completement null en assembler, et il faut que je fasse afficher le résultat de la factoriel de 4 soit 24.est ce que quelqu'un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales