article

A gépi kód a számítástechnikában használt adatok (általában bináris - kettes számrendszeren alapuló - vagy hexadecimális - tizenhatos számrendszeren alapuló - számokkal ábrázolt) olyan sora, amely a számítógép processzora számára közvetlen utasításként értelmezhető.

A gépi kód az egyetlen "nyelv", amit a számítógép központi parancsvégrehajtó egysége, a processzor megért, ezért minden programozási nyelvet gépi kóddá kell alakítani ahhoz, hogy a program végrehajtható legyen. Ezt az átalakítást végzik a fordítóprogramok. Ezek az utasítások általában csak egy processzortípusra vonatkoznak, és azon belül is generációnként változhatnak (az újabb processzorokban az előzőnél több utasítás szokott lenni). Az egyes processzortípusok utasításkészletei egymással egyáltalán nem kompatibilisek, ez azt jelenti, hogy egy másik processzorra készített programot (ez alól az operációs rendszerek se kivételek) nem tudnak végrehajtani (pl. Alpha-s Windows-ot nem lehet PC-kre feltenni és fordítva, vagy PC-s Linux-ot nem lehet SPARC-ra feltenni és fordítva stb.).

A gépi kódhoz legközelebb álló programozási nyelv az assembly. (A közel állás itt azt jelenti, hogy az assembly utasításokból álló program és a gépi kódú lefordított program között a legnagyobb a kölcsönösen egyértelmű megfelelés, vagyis az assembly utasítások, programsorok nagy részéhez egy gépi kód csoport tartozik, és ez igaz fordított irányban is.)

Példa gépi kódú programra


Az alábbi program egy gépi kódú programpélda, az adatokat tizenhatos számrendszerben, byte-onként csoportosítva ábrázolja. (Ez egy "tetszőlegesen választott" ábrázolási forma, mivel jelölhetnénk például bináris számrendszerben vagy tízes számrendszerben is: a program ugyanaz lenne.)

B8 D4 07 00 00 90 48 75 FC C3

A példa assembly eredetije

A fenti gépi kód az alábbi GNU/as assembly forrásprogramból készült (de készülhetett volna természetesen tetszőleges más programnyelven írt programból is; az assembly programozási nyelv mindössze a gépi kódhoz eső „legközelebbi” nyelv, így a legjobban láthatóak a programnyelv utasításai és a gépi kódú végeredmény közötti kapcsolatok):

.globl main .type main,@function main: movl $2004,%eax loop1: nop decl %eax jnz loop1 ret

Informatika Programozási nyelvek

Machine code Llenguatge de màquina Strojový kód Maskinkode Maschinensprache Lenguaje de máquina Masinkood Konekieli Langage machine שפת מכונה Linguaggio macchina 機械語 기계어 Machinetaal Maskinkode Kod maszynowy Código de máquina Машинный язык Machine code Strojový kód Strojna koda Maskinkod Машинний код Ngôn ngữ máy 机器语言

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Gépi kód".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld