Es ist sichergestellt, dass -- im Normalfall -- das Programm am Ende den Ausgangscode ausführen wird. Der Ausgangscode hat die Aufgabe, alle im Programm vorhandenen Moduln zu de-initialisieren (Close-Phase, siehe 5.1.1, Seite ), die vom Eingangscode vorgenommenen Schritte wieder rückgängig zu machen (insbesondere die Prozess-Struktur wiederherzustellen) und die Kontrolle an die aufrufende Instanz (CLI oder Workbench) zurückzugeben.
Der Rückgabewert (returnVal) wird bei einem Aufruf vom CLI im Register D0 -- wie von AmigaDOS erwartet -- zurückgegeben. Beim Start des Programms von der Workbench hingegen, wird dieser Wert in der Komponente length der StartupMsg zurückgeliefert. Dies ist kein Standard, sondern eine Spezialität von !