CPU crash

Tags:    programmering

Hej allesammen!
Jeg har læst en artikel om at skifte til protected mode via Assembly.
Så jeg ville afprøve det selv, i min Assembly bootloader.
Efter jeg har overført følgende kode til en floppy disk, genstarter min computer når jeg booter fra pågældende floppy disk.
Dette er Assembly koden:
Fold kodeboks ind/udKode 

Kører jeg denne kode med Microsoft Virtual Machine, popper en dialogbox med følgende tekst op:
Fold kodeboks ind/udKode 

Så hvis der er nogen som kan hjælpe ville det bare være super :).
By the way, så har jeg via udelukkelses-metoden fundet ud af at problemet opstår så snart den prøver at udføre denne linje:
Fold kodeboks ind/udKode 
i min 'switch' funktion.



Indlæg senest redigeret d. 04.03.2010 22:19 af Bruger #15718
4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Tutorials er intet når du arbejder med en så ekstremt oldgammel arkitektur som realmode x86. Grunden til at MVPC fejler når du kører det er sikkert at alt ikke er på plads

Du har meget, meget at lære omkring boot processen. Og det er egentlig irrelevant i contexten af den generelle struktur af en moderne processor. Det kan du ikke lære af en tutorial, ligegyldigt hvor du finder det. Der findes så mange defekte bios'er(og defekte bootloader programmører) at det hele synes håbløst.

Men hvis du skulle beslutte dig at blive ved så skaf i det mindste en emulator istedet for en simulator, såsom bochs eller i det mindste qemu. De har begge support for gdb, som burde fortælle dig at du får en #GFP når du kører
mov cr0, eax

Det betyder jo nok at du mangler at gøre noget(såsom f.eks at aktivere a20 :) )

Dette er enten en advarsel, eller en provokation. :) Either ways, du bliver nødt til at lede efter information selv og være kreativ. Real mode bios crap er en ældgammel disciplin som der ikke er nogen officiel dokumentation omkring







Indlæg senest redigeret d. 06.03.2010 15:11 af Bruger #2695
Jeg har forstået at jeg skal aktivere A20 for at kunne få adgang til al hukommelsen, ved at læse en artikel om real mode på Wikipedia.
Jeg har også kigget i mine BIOS konfigurationer, og der står der at min A20 Gate er sat til Fast.
Så jeg forstår ikke hvorfor, at følgende ikke virker:
Fold kodeboks ind/udKode 




Det er lige meget, jeg har selv fundet ud af det nu..



t