Springen naar inhoud

Waarom begin adres 0x7c00 tijdens bootproces?


  • Log in om te kunnen reageren

#1

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 14 september 2008 - 18:18

Het bios boot en plaats hierbij de eerste 512mb code in het geheugen vanaf adres 0x7C00
Waarom plaats men die code vanaf dit beginadres? Waarschijnlijk is het gewoon een afspraak maar wat staat er dan in de registers 0 tot 0x7C00?
En zijn deze registers ook bereikbaar door code bvb in de bootloader? Groeten.

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

EvilBro

    EvilBro


  • >5k berichten
  • 6703 berichten
  • VIP

Geplaatst op 14 september 2008 - 18:46

heb je hier iets aan?

#3

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 15 september 2008 - 09:20

Bedankt.

#4

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 28 september 2008 - 13:53

Men schrijft 0x... kan men iemand formuleren hoe die voorstellingswijze ineen steekt? ik dacht eerder dat het getal voor de x aangaf welke subdeel je werkte, nu verteld mij iemand dat, dat gewoon aangeeft dat je met een hexadecimaal getal werkt kan er ook een getal dus 16x staan? (dus 2 cijfers verschillend van nul) Groeten.

#5

Cycloon

    Cycloon


  • >1k berichten
  • 4810 berichten
  • VIP

Geplaatst op 28 september 2008 - 18:45

0x slaat idd op het feit dat het om hexadecimale notatie gaat (een geheugenadres van 32 bit ergens neerschreven is namelijk niet zo erg makkelijk :D). Ik weet niet echt wat je bedoelt met die 16x.

#6

stefboerrigter

    stefboerrigter


  • 0 - 25 berichten
  • 1 berichten
  • Gebruiker

Geplaatst op 01 oktober 2008 - 08:58

Het 0x betekend inderdaad dat het hexadecimaal is (betekent letterlijk 16-tallig) http://nl.wikipedia....ki/Hexadecimaal

In je calculator van windows kun je deze waarden gemakkelijk omzetten naar decimaal
0x7C00 = 31744
Dat je systeem bij dit adres begint zal waarschijnlijk betekenen dat de overige register adressen andere informatie bevatten.
Welke dit precies is weet ik ook niet.

#7

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 01 oktober 2008 - 20:55

ik dacht dat je ysx kon hebben met y en s een hexadecimaal getal(vandaar 16 y=1 s=6). Niet dus. Bedankt.

#8

Cycloon

    Cycloon


  • >1k berichten
  • 4810 berichten
  • VIP

Geplaatst op 01 oktober 2008 - 21:19

ik dacht dat je ysx kon hebben met y en s een hexadecimaal getal(vandaar 16 y=1 s=6). Niet dus. Bedankt.


Kan inderdaad niet. Maar er bestaan wel nog zulke 'codes'. Eentje die ik me zo direct kan herinneren: 0b1011. 0b geeft aan dat het om het binaire getal 1011 gaat.

#9

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 03 oktober 2008 - 09:56

Bedankt.

#10

Schwartz

    Schwartz


  • >250 berichten
  • 691 berichten
  • Verbannen

Geplaatst op 05 oktober 2008 - 23:00

De bios staat niet aan het begin omdat de bios maar soms nodig is.
Wat continue aangesproken wordt staat ook vooraan in het geheugen.
Dit komt omdat vroeger de bus eerst 8 c.q. 16 bits was en dan werd de bios in het 2e gedeelte geplaatst.
Dan had men voor de lage geheugenlocaties een snellere aanspraak van deze data.
De videoprocessor kon hierdoor zeg 2 keer sneller werken.
Ook had men in de oude tijd geheugens die alleen snel waren bij de eerste 16000 ofzo en daarna langzamer waren, ze gaven dan een wait af aan de processor die dan gewoon even wachtte.
De magneetringen gingen niet zo snel al de flipflops....(lachen)
Een computertaal is voor mensen, niet voor de computer.





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures