Modul Beispiel-Methode 1
Zwei Parameter mit Rückgabewert.
- Öffnen sie das zuvor erstelle Modul „mymodule.module“ im Bibliothekseditor.
- Klicken sie auf den Pfeile (B) links vom Symbol/Namen um den Parametereditor zu öffnen.
- Ändern sie Name auf myAdd, fügen sie zwei Parameter hinzu, Ändern sie das Ziel des Ersten Parameter auf regA und wählen sie unter Verhalten den Eintrag Wert-Rückgabe.
- Klappen sie den Parameter-Editor wieder zu mit Pfeilen oben links (B).
- Unter „Erwartetes Label“ Zeigt der Methodeneditor das vom Compiler erwartete Assembler-Label der Methode an.
_MyAdd: ;first parameter is stored in register _HA0 by the compiler at call PopPC ;pop the method's return address from the stack pop _HB0 ;pop the second parameter from the stack PushPC ;push the methotd's return address back to the stack add _HA0,_HB0 ;add both parameter, result in _HA0 ret ;result already in register _HA0
Ab sofort können sie nun das Modul und die Methode myAdd() in ihrem Luna-Code nutzen. Nach einem Neustart der IDE wird diese auch im Luna-Quelltext farblich hervorgehoben. Im Parameter-Editor der Methode haben sie die Möglichkeit zu wählen, ob man im Luna-Code den Modulnamen mit angeben muss oder nicht (siehe hier, Absatz "Modul")
Testen sie die Methode. Sie addiert zwei Byte-Werte zu einem Byte-Wert.
avr.device = atmega328p avr.clock = 20000000 avr.stack = 64 uart0.baud = 19200 'baud rate uart0.Recv.enable 'enable receive uart0.Send.enable 'enable send #library "library/custom/mymodule.module" print "myAdd() = ";str(myAdd(23,42)) halt()