Capitolo 5. Microbe

Introduzione e sintassi generale

Microbe compila i programmi scritti in un linguaggio personalizzato per i PIC, come programma che lavora insieme a KTechlab. La sintassi è stata progettata per adattarsi ai programmi in FlowCode. Per avviare microbe da riga di comando la sintassi è:

microbe [opzioni] [input.microbe] [output.asm]

, mentre le opzioni sono:

  • --show-source - mette ogni riga di codice sorgente di Microbe come commento nell'output assembly, prima delle istruzioni assembly stesse della riga.

  • --no-optimize - previene l'ottimizzazione delle istruzioni generate da quel sorgente. L'ottimizzazione è in genere sicura, perciò quest'opzione viene usata principalmente durante il debug.

Il file .microbe in ingresso deve identificare il PIC a cui è destinato inserendo il nome di tale PIC all'inizio del file .microbe; ad esempio, il nome di un PIC16F84 è «P16F84».

Esempio 5.1. Un programma Microbe semplice ma completo

P16F84

a = 0
repeat
{
        PORTA = a
        a = a + 1
}
until a == 5

end


Convenzioni sui nomi

Per i nomi delle variabili e per le etichette si applicano le seguenti regole:

  • Possono contenere solo caratteri alfanumerici [a..z][A..Z][0..9] e il trattino basso "_".

  • Distinguono le maiuscole.

  • Non possono iniziare con un numero.

  • Non dovrebbero iniziare con «__» (doppio trattino basso), in quanto questo è riservato per il compilatore.

Convenzioni sulle parentesi

Le parentesi graffe, {}, indicano l'inizio e la fine di un blocco di codice. Possono comparire in qualsiasi punto prima dell'inizio e dopo la fine del blocco di codice. Esempi accettabili di blocchi di codice:

istruzione1 {
        del codice
}

istruzione2 {
        altro codice }

istruzione3
{
        altro codice
}

istruzione5 {
        blocco di codice
} istruzione6

Commentare

I commenti sono simili a quelli del C, cioè // per commentare il resto della riga, mentre /* e */ denotano un commento multi-riga.

// Questo è un commento
x = 2 
/* Come lo è questo
commento multi-riga */

Struttura del programma

L'identificativo del PIC deve essere inserito all'inizio del programma, mentre la fine del programma principale è denotata con «end». Le subroutine devono essere messe dopo l'«end».

Subroutine

Una subroutine può essere chiamata in qualsiasi parte nel codice. Sintassi:

sub NomeSub
{
        // Codice...
}

La subroutine viene chiamata con «call NomeSub».