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 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.