< Assembly

Gépi kód

Szerző: Sallai András

Copyright © 2011, Sallai András

Szerkesztve: 2011, 2014

Licenc: CC BY-SA 4.0

Web: https://szit.hu

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.