Ein Makroaufruf ist eine Anweisung im Primärprogramm. Er besteht aus einem mnemotechnischen Operationscode (Makroname), mit dem die auszuführende Funktion bezeichnet wird. Zusätzlich können als Operanden Werte angegeben sein, die die zur Ausführung nötige Information darstellen, oder die die gewünschte Funktion genauer beschreiben (z.B. EXIT CONTINU=YES). Die „Beschreibung der Makroaufrufe“ informiert über die Operanden, die jeweils angegeben werden können oder müssen.
Jede Primärprogrammanweisung, also auch ein Makroaufruf, wird beim Übersetzen des Programms vom Assembler verarbeitet. Als Resultat dieser Verarbeitung werden Makroaufrufe im Primärprogramm durch die zugehörigen Makroauflösungen ersetzt. Eine Makroauflösung besteht aus Befehlen und Assembleranweisungen, die zusammen die Funktion ausführen, die von dem Makroaufruf erwartet wird. Wenn man von Anweisungen spricht, die durch einen Makroaufruf generiert werden, ist die Makroauflösung gemeint.
Die Makroauflösung wird vom Assembler über die Makrodefinition generiert. Zu jedem Makroaufruf gehört eine Makrodefinition. Makroaufrufe können also nur gegeben werden, wenn eine entsprechende Makrodefinition existiert. Makrodefinitionen können vom Benutzer geschrieben werden (siehe Handbuch „ASSEMBH“ [2]) oder sie werden als Teil des Betriebssystems dem Benutzer zur Verfügung gestellt wie diejenigen, deren Aufrufe im vorliegenden Handbuch genannt werden. Alle zur Verfügung stehenden Makrodefinitionen sind in der Makrobibliothek gesammelt. Eine Makrodefinition ist die Vorlage, nach der der Assembler die Makroauflösung generiert.
Die Makrodefiniton wird gemäß den Operandenangaben im Aufruf modifiziert, und aktuelle Werte werden eingesetzt.
Das Primärprogramm, in dem alle Makroaufrufe durch die Makroauflösung ersetzt sind, wird dann in Maschinensprache übersetzt. Im Übersetzungsprotokoll sind die Makroauflösungen mit ausgedruckt, sofern dies nicht durch die Assembleranweisung PRINT NOGEN (siehe Handbuch „ASSEMBH“ [2]) unterdrückt wurde. Die durch den Makroaufruf geforderte Funktion wird erst während des Programmlaufs ausgeführt.
Mit der Bezeichnung Makro meint man die Funktion, die auf die beschriebene Weise, also durch das Zusammenwirken von Makroaufruf und Makrodefinition, realisiert wird.