Egy processzorhoz hogy tudnak assembly nyelvet írni?
A számítógép többi része is számít, ami csatlakozik a géphez, hogy milyen lesz a programnyelv?
A processzor felépítésétől hogy függ a programnyelv?
Mivel rögzítik, hogy melyik parancs mire szolgáljon?
A processzorban magában hardveresen meg van valósítva egy utasításkészlet, egy kódút és egy adatút. Maga a processzor szerkezete is ismert azok előtt, akik arra a processzorra assemblert írnak. Tudják, hogy hány regisztere van a procinak, melyek ezek és milyen méretűek, stb.
Az assembler, amit fejlesztenek, ismeri a proci utasításkészletét és ennek megfelelően rendel hozzá ehhez az utasításkészlethez kulcsszavakat.
Pl a processzor gépi kódú utasítása a 10h, ami az egyik MOV utasítás. Ez mozgatja a processzor A regiszterébe a memóriából érkező adatot.
A másik a 11h. Ez pedig a processzor B regiszterébe mozgatja a memóriából az adatot.
A 30h az összeadás, a 31h a kivonás, stb.
Ha valaki az assembly programban azt írja, hogy
MOV A,3
MOV B,2
ADD A,B
Akkor ez lefordul (egy bájtos) utasításokra és adatokra (ezek a literálok), tehát a három sorból végül ez a bináris lesz, hogy:
10h,03h,11h,02h,30h
Ezt be kell tölteni a memóriába, és ott lefuttatni. Ezután a proci meghatározott regiszterében megjelenik a művelet eredménye, a 05h.
A futtatás meg úgy történik, hogy a progamszámláló, ami szintén egy regiszter, az elején 00-n áll, tehát onnan, a memória legelső rekeszéből olvassa be amit ott talál. Azután ezt végrehajtja és lép a következő utasításra. Ennél a programocskánál a Program Counter a következő tartalmakat fogja fölvenni:
00
02
04 (ez az ötödik, az összeadás)
Egyébként, aki programnyelvi fordítót akar írni, az mindjárt assemblerrel kezdjen, mert azt a legegyszerűbb.
Az más kérdés, hogy ehhez azért a processzorok, sőt, a teljes számítógép lelkivilága, belső szerkezete is megtanulandó. Még hozzá alaposan.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!