Tartalomjegyzék

< Assembly

Gépi kód

A gépi kódról

A Neumann János szerint az utasításokat a memóriában kell tárolni. Volt amikor csak az adatok voltak a memóriában. Az utasítások olyan parancsok, amelyet a processzor hajt végre. Az utasításokat memóriában tároljuk, a processzor a végrehajtás idejére a regisztereibe tölti azokat. Az adatokkal vagy a memóriában számol vagy azokat is a regiszterbe tölti, ez programtól függ.

Mivel a processzor hajtja végre az utasításokat, beszélhetünk egy processzor utasításkészletéről. Ezek azok az utasítások, amelyeket a processzor ismer. A gépi programok, ilyen utasítások sorozatából állnak.

Egy gépi kódú utasítás két részből áll:

műveleti kód címrész

A címrész egy-, két, vagy háromcímű. Az utasítást mindig úgy értelmezzük, hogy hajtsuk végre a műveletei kódot, a megadott címeken.

A regiszterek egyike egy utasítás számláló, amely mindig a következő utasításra mutat.

A gépi kódú programozás

A következőkben a debug program segítségével ismerkedünk a gépi kódú programozással.

Gépi kódú programozás során két dologgal dolgozunk, a processzor és a memória.

processzor memória

A memória szegmensekre van osztva.

Memória 0-dik szegmens

0000
0000
0000
0000

1419 szegmens

0000
0000
0000
0000

Indítsuk el a Debug programot. Minden Windowsban megtalálható, vagy Linux esetén egy FreeDOS telepítése után használhatjuk.

A Debug az indítás után a várakozási jelnek egy „-” (kötőjelet) jelenít meg.

-

A Debugban minden utasítás egyetlen karakterből áll. Az első parancs amit érdemes megismerni, az „r”. Az „r” parancs a regiszterek tartalmát mutatja meg, de ezzel lehet megváltoztatni egy regiszter tartalmát is.

A regiszterek tartalmának megtekintéséhez írjuk be az „r” parancsot.

-r
-r
AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=1419  ES=1419  SS=1419  CS=1419  IP=0100   NV UP EI PL NZ NA PO NC
1419:0100 29D8          SUB     AX,BX
-

Az Enter lenyomás után a fentieket látjuk. Konkrétan a processzor regisztereit, tartalmukkal látjuk.

A regiszter a processzorban egy gyors elérésű tároló. hexadecimális számokat tudunk elhelyezni benne.