Hirdetés
Aktív témák
-
t3m1nat0r
csendes tag
Most kezd érdekes lenni a probléma.
Az már sejthető, hogy a programkód és az adatok a memóriában vannak.De mit jelent az, hogy fut a program?
Ehhez először is a regisztereket kell megismerni.Program Counter
Stack Pointer
Accumulator
Index Register X
Index Register Y
Processor StatusAz elsőnél már meg is állhatunk. Ez az a 16 bites címregiszter, ami arra a memória byte-ra mutat, ami éppen "végrehajtódik".
Ez annyit jelent, hogy a processzor kiküldi a memória fele ezt a címet /rákapcsolja a regisztert a címbuszra/ , az pedig beállítja az adatvezetékeket az adott című memória byte kondenzátorainak megfelelő értékre.
Ezeket a folyamatokat időziteni kell, mivel az elektronok nem végtelen sebességgel haladnak.A behozott byte lesz az utasítás. Ez az adott processzortól függően megmondja, hogy mi lesz a következő lépés.
Lehet, hogy az utasítás utáni byte-ot be kell hozni, és hozzáadni az akkuhoz /Accumulator/, vagy az utasítás után egy cím található, ahova el kell ugrani.
Ha elvégezte a műveletet, akkor a Program Counter értékét növeli automatikusan a processzor, és elhozza a következő byte-ot, a következő utasítást.Már fut is a program.
Látszik, hogy igazából a memóriában bármilyen byte-kombináció lehet. Akár képi információ vagy valamilyen szöveg. A gépet ezt nem érdekli, neki az a feladata, hogy ezt utasítások sorozataként értelmezze, mivel a Program Counter értékét valaki erre a memória területre állította.
Ha a program eltéved /hibás, vagy a memória sérül, stb/ akkor "megfagy" a program, vagy jön a "kékhalál".
A commodore egyszerűen csak újraindult. Nem bonyolította túl a témát.Mostmár az is érthető, hogy hogyan ágazik el egy program.
A Program Counter értékét néhány utasítás képes módosítani. Ezek a Jumps & Calls és a Branches utasítások.
A jump és a "jump to a subrutine2 mindig elugranak, míg a Branches tipusúk csak akkor, ha a megadott feltétel teljesül. A szubrutin hívás még annyiban különleges, hogy a veremben eltárolja a visszatérési értéket, amit majd a "return from subrutine" újra elő fog venni. A magasabb szintű nyelvek ezt használják a procedurák és függvényhívásokhoz. Nem pont ezt, csak ha c64-en fug a progi.Eddig igazából semmi más nem törént, csak byte-ok mozogtak a memóriából a processzor valamelyik regiszterébe. Ez a lényege a gép működésének. Magasabb szinten a memória nem címekkel érhető el, hanem változók neveivel. De ezek mindig ilyen memória-címeket rejtenek.
Aktív témák
- AKCIÓ! Dell XPS 13 9305 13 FHD üzleti notebook -i5 1135G7 8GB DDR4 512GB SSD Intel IRIS XE W11
- LG UltraFine 4K - 6K és Smart Monitorok -30%
- iking.hu Apple iPhone 15 128GB Blue használt, karcmentes 100% akku 6 hónap garancia
- LG 65C5 - 55" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - A9 Gen8 CPU
- AKCIÓ! KÉSZLETRŐL! Intel Core i5 14600K 64GB 6000MHz RAM 2TB Gen4 SSD RTX 5060 8GB FSP 750W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

