Zwei Parameter mit Rückgabewert.
_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()