Das gesamte Projekt besteht aus der Hauptdatei RF_Control.asm, in die über die Assemblerdirektive ,,.INCLUDE'' alle notwendigen Dateien eingebunden werden.
Es wurde festgelegt, dass nur in dieser Datei Include-Anweisungen enthalten sein dürfen, was zur transparenten Situation führt, dass alle verwendeten Dateien sofort identifiziert werden können, wenn man die .INCLUDE Direktiven in der Hauptdatei analysiert. In dieser Datei werden auch alle notwendigen Systeminitialisierungen durchgeführt, wie im vorigen Abschnitt bereits erläutert wurde.
Die Hauptroutine besteht - abgesehen von diversen Initialisierungsroutinen - nur aus dem Hauptmenü Event-Loop.
Auszug aus RF_Control.asm:
main_loop:
rcall select_menu ; wait for a mainmenu selection
; ----------------------------------
lds temp1, glb_func_mode
cpi temp1, funcmode_none
breq main_loop ; no specific menu entry selected...
rcall menu_select_feedback ; visual feedback
; ----------------------------------
; main function begin...
; ----------------------------------
rcall wait_key_release ; wait until all keys are released
rcall main_function ; indirect function call (funcmode_calltab)
; ----------------------------------
; main fuction end...
; ----------------------------------
STSB glb_func_mode, funcmode_none ; reset function mode to NONE
rjmp main_loop
Die gesamte Verzeichnisstruktur inkl. der beabsichtigten Verwendung
der Verzeichnisse in der endgültigen Version ist in der Tabelle im
Anhang D.2 beschrieben.
gerhard.reithofer@tech-edv.co.at