PROGRAMMI ASSEMBLY

Ogni programma scritto in linguaggio Assembly è composto da statement che occupano una riga di codice, ogni statement comprende:

  • Istruzioni, ovvero comandi Assembly, i quali sono direttamente traducibili in linguaggio macchina;
  • Pseudo-operazioni (o direttive), i quali non si traducono in istruzioni in linguaggio macchina ma permettono di aumentare la leggibilità dei programmi e di fornire all’ Assemblatore alcune direttive sulla traduzione in linguaggio macchina;
  • Commenti, ovvero stringhe di testo precedute dal carattere ;  usati per documentazione di variabili o del programma in generale.

GLI IDENTIFICATORI

Gli identificatori vengono usati come nomi  assegnati a entità definite dal programmatore (variabili, costanti, etichette), tuttavia non è possibile usare identificatori uguali ai nomi delle istruzioni, nomi dei registri, nomi di operatori o direttive.
Un identificatore consiste di una sequenza di caratteri alfanumerici come ad esmpio:

  • caratteri (a-z, A-Z)
  • cifre da 0 a 9
  • uno dei 4 caratteri speciali @ _ $ ?

Bisogna inoltre tenere a mente che:

  • Un identificatore non può iniziare con una cifra;
  • L’ assembler 8086 è CASE INSENSITIVE, di conseguenza caratteri minuscoli e maiuscoli equivalgono. Ciò significa che se assegno il nome PIPPO o Pippo ad una variabile il risultato è indifferente.

AMBIENTE DI PROGRAMMAZIONE – EMU8086

Emu8086 è un emulatore visuale del microprocessore 8086 utile per programmare in linguaggio assembly, Il codice sorgente è compilato dall’ assemblatore e successivamente eseguito sull’ emulatore passo per passo, consentendo di controllare i registri, i flag e la memoria mentre il programma è in esecuzione.
Attualmente l’ emulatore gira su qualsiasi versione di Windows.

IMPOSTAZIONI INIZIALI

Dopo aver scaricato ed installato l’ emulatore, bisogna settare una impostazione molto importante, ovvero la Strict_Syntax, per farlo Aprire in modifica il file C:\Program Files\emu8086\emu8086.ini (è sufficiente il notepad) e verificare che risulti impostata (o modificare) la riga: STRICT_SINTAX = true.

DIRETTIVE PRINCIPALI

In ogni programma che scriveremo, inseriremo sempre all’inizio due pseudo-istruzioni o direttive:
#MAKE_COM#
E’ una pseudo-istruzione che informa l’assemblatore di produrre direttamente unf ile .COM, utile in quanto verrà usato un solo segmento che condivide codice e dati.
ORG 100h
E’ una direttiva che informa il traduttore di lasciare 256 byte (100h) di memoria liberi prima di scrivere il codice macchina del programma, di conseguenza il file .com sarà caricato all’offset 100h (=256), cioè dopo 256 byte.

 

Nel prossimo articolo parleremo di Variabili e costanti, se invece ti sei perso lo scorso articolo, si è parlato di Indirizzamento.

Stai cercando altre guide? Allora dai uno sguardo alla nostra raccolta dedicata alla Programmazione Assembly.

Alla prossima!