Assemblare un programma

I programmi scritti per i micro ST6 vengono salvati su disco in files di testo con estensione .ASM. Questi programmi non possono essere inseriti direttamente nel micro, in quanto è necessario ASSEMBLARLI, cioè trasformarli in un file .HEX contentente tutte le istruzioni in formato esadecimale che possono essere lette dal programmatore e inserite nella memoria programma dell'ST6.
Per questa conversione, è necessario usare un programma fornito dalla ST che si chiama AST6.EXE, funzionante sotto DOS.

Esempio:

Se abbiamo un file CLOCK.ASM contentente il nostro programma, per assemblarlo è sufficiente aprire una finestra di MS-DOS e scrivere:

AST6 CLOCK.ASM

Se il programma non contiene errori, l'AST6 crea il files CLOCK.HEX da inserire nel micro. Ovviamente in questo esempio è sottointeso che ci troviamo nella directory in cui è presente il file AST6.EXE e che il programma CLOCK.ASM si trovi nella stessa directory. Inoltre viene automaticamente creato anche un file CLOCK.DSD, contenente le informazioni di debug che vengono usate durante l'eventuale simulazione del programma.

Se l'assemblatore non trova errori e completa l'operazione, ci visualizza questo messaggio:

ST6 MACRO-ASSEMBLER version 4.20  - September 1994
*** SUCCESS ***
Execution time: 0 second(s)
Altrimenti, in caso di errore, ci segnala il tipo di errore e la riga del programma in cui si trova:

ST6 MACRO-ASSEMBLER version 4.20  - September 1994
Error files\std.asm 155: (11) 5-bit displacement overflow
Execution time: 0 second(s)
One error detected
No object created
In questo esempio c'è errore di overflow su una istruzione di salto alla riga 155.

Altre funzioni

In realtà l'AST6 è un programma potente che dispone di molte altre funzioni attivabili sempre dalla linea di comando. Riprendendo come esempio il file CLOCK.ASM, ecco un elenco delle funzioni disponibili con una breve descrizione:
AST6 -L CLOCK.ASM
Crea anche un file .LIS contenente tutto il listato del programma
AST6 -E CLOCK.ASM
Crea un file .ERR contentente la descrizione degli errori eventualmente presenti nel programma
AST6 -X CLOCK.ASM
Crea un file .X contenente l'elenco delle etichette e delle variabili del programma con indicazione delle righe in cui queste vengono usate.
AST6 -M -L CLOCK.ASM
Genera una mappa di memoria del programma e la colloca alla fine del file .LIS. Infatti l'opzione -M va usata sempre insieme a -L. La mappa di memoria indica il numero di locazioni usate nelle varie pagine di memoria programma.
AST6 -S CLOCK.ASM
Genera un file .SYM contenente l'elenco delle etichette e delle costanti utilizzate nel programma. Anche questo file è utile principalmente durante la simulazione del programma
AST6 -O CLOCK.ASM
Genera un programma rilocabile in formato -OBJ, e non genera i files .HEX e .DSD. Questi files .OBJ possono essere incorporati in altri programmi usando il linker LST6.EXE creando un unico programma eseguibile.
AST6 -Dxx CLOCK.ASM
Quando si compila un programma, i bytes di memora non usati vengono riempiti con un valore 0FFh. L'istruzione -D seguita da un valore numerico, permette di riempire queste locazioni inutilizzate con un determinato valore esadecimale (xx).
AST6 -F CLOCK.ASM
Usando questo comando, in presenza di errori nel programma, nel messaggio di errore viene specificato l'intero perrcorso (path) nel quale si trova il programma ASM.
AST6 -Wx CLOCK.ASM
Gli errori di un programma si dividono in due tipi: WARNING (meno gravi, che in molti casi non compromettono il funzionamento del programma) e ERROR (piu' gravi che non permettono il funzionamento del programma). Il comando W seguito da un numero da 0 a 2 specifica quale tipo di WARNING deve essere segnalato dall'AST6.



© Giuseppe Di Paolo '98
Aggiornato luned́ 22 febbraio 1999