Llenguatge de màquina

From Wikipedia, the free encyclopedia

Remove ads

El llenguatge de màquina o codi de màquina és un sistema d'instruccions codificat en codi binari que poden entendre els microprocessadors.[1][2][3]

Thumb
Fig.1 Llenguatge màquina de la CPU Intel 8088. En vermell el codi màquina i en magenta el codi assemblador..

El conjunt d'instruccions d'aquest llenguatge depèn del fabricant del processador, tot i que s'acostumen a basar sobre un estàndard, que depèn de la família de processadors amb què es treballa (per exemple, x86). El llenguatge d'assemblador consisteix en un seguit de mnemotècnics per a aquestes combinacions binàries, i normalment és format per instruccions amb arguments o sense.

Els principals inconvenients d'aquest llenguatge és que no són intel·ligibles pels humans i que depenen del model de processador. És per això que s'utilitzen els llenguatges de programació, molt més senzills d'aprendre i entendre, i els compiladors, que tradueixen aquests programes al codi de màquina del processador que necessitem fer servir.

Remove ads

Instruccions del llenguatge de màquina

Les "paraules" d'un llenguatge màquina són anomenades instruccions, cada una de les quals produeix una acció elemental a la UCP, com llegir dades d'una adreça de la memòria. Les instruccions són patrons diferents de bits corresponents a diferents ordres per la màquina.

Cada model d'UCP té el seu propi llenguatge de màquina, tot i que hi ha similituds considerables entre alguns d'ells. Si la UCP de A entén el llenguatge sencer de la UCP B es diu que A és compatible amb B. La UCP B pot no ser compatible amb A, ja que A pot conèixer alguns codis que B no reconeix.

Alguns llenguatges de màquina assignen el mateix nombre de bits a totes les seves instruccions, mentre que en altres llenguatges la longitud de les instruccions és variable. L'organització dels patrons depèn enormement de l'especificació del llenguatge. Normalment, es divideix una instrucció en camps, on un camp especifica l'operació exacta (com per exemple "add"). Altres camps poden especificar el tipus dels operands, la seva localització en la memòria, o el seu valor directament (els operands inclosos en una operació directament són anomenats immediats).

Remove ads

Programes

Un programa és una seqüència d'instruccions que són executades per una UCP. Mentre els processadors simples executen les instruccions una rere l'altra, els processadors superescalars són capaços d'executar diverses instruccions simultàniament.

El flux del programa pot ser influenciat per una instrucció jump, que transfereixen l'execució del programa a una instrucció en una posició diferent del codi que la següent. Els Salts condicionals són obeïts (l'execució continua en un altre adreça) o no (l'execució continua a la següent instrucció) depenent de la condició establerta.

Remove ads

Llenguatges assembladors

Els humans usem codis mnemònics per a referir-nos a les instruccions de llenguatge de màquina. Aquest llenguatge més llegible s'anomena llenguatge d'assemblador, i consisteix en una barreja de nombres binaris, nombres hexadecimals i paraules curtes.

FIFO: Es basa en la idea que el primer fitxer que arribi a la cua serà el primer que surt.

Per exemple, al processador Zilog Z80, el codi de màquina 00000101 fa que la UCP disminueixi el registre del processador B. En llenguatge d'assemblador, aquesta mateixa instrucció s'escriuria DEC B.

Vegeu també

Referències

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads