zum Directory-modus

PIC-Direktiven

MACRO

Makrodefinition deklarieren label macro [arg, ..., arg] Ein Makro ist eine Befehlssequenz, die an jeder beliebiger Stelle des Quellcodes eingesetzt werden kann, indem es durch ein vereinbartes Wort aufgerufen wird. Das Makro muss jedoch erst definiert werden, dann kann im Quellcode darauf verwiesen werden. Ein Makro kann auch ein weiteres aufrufen oder aber sich selbst wiederaufrufen. Makros sind ein wichtiges Mittel zur übersichtlichen Gestaltung der Quell-Datei. Wieviel Komfort dabei angeboten wird, hängt vom jeweiligen Assembler ab. Der Assembler MPASM lässt symbolische Namen für Variablen, Konstanten und Label zu, die erst beim Aufruf des Makros festgelegt werden. Symbolische Parameter werden einfach hinter die Makro-Anweisung geschrieben. Wenn es mehrere Parameter sind, werden sie durch Kommas getrennt. Wenn der Assembler den Namen eines Makros im Programm findet, fügt er an dieser Stelle das zum Makro gehörige Maschinenprogramm ein. Dabei setzt er an die Stellen, die durch symbolische Namen noch undefiniert bleiben, die Werte ein, die am Ort des Aufrufs angegeben werden. Wenn in Makros Label verwendet werden, müssen diese als lokale Label definiert werden. Das geschieht mit der Anweisung LOCAL.

Beispiel

Lesen macro device, buffer, count

movlw device

movwf ram 20

movlw buffer ; Pufferadresse

movwf ram 21

movlw count ; byte count

callsys_21 ; Dateiaufruf lesen

endm

Seite 16 von 26