Hallo Ruedi
Weis jetzt nicht mehr so genau.
Ich galube ich hatte das mit Functionen probiert.
Habe mal schnell einen Code zusammengeschrieben..
Der braucht 40 Byte mehr pro Functions aufruf als das gleiche mit Gosub:
Code:' 8MHz Quarz ' LCD auf Port B , ' ' $sim $regfile = "m16def.dat" $crystal = 8000000 ' (RC Intern) $baud = 9600 $hwstack = 256 $swstack = 256 $framesize = 256 '---Config für LCD Port B ---------- Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.5 , Db6 = Portb.3 , Db7 = Portb.4 , Rs = Portb.7 , E = Portb.6 Config Lcdbus = 4 Config Lcdmode = Port Cursor On '----------------------------------- Dim A As Byte Dim B As Byte B = 10 Declare Function Test(byval C As Byte)as Byte Do A = Test(b) ' 500Byte Programmspeicher A = Test(b) '+ 40Byte A = Test(b) '+ 40Byte Loop End Function Test(byval C As Byte) As Byte C = 10 End Function
Und das Gleiche hier mit Gosub:
Bei 3 Aufrufen mit 478Byte Programmspeicher.Code:' 8MHz Quarz ' LCD auf Port B , ' ' $sim $regfile = "m16def.dat" $crystal = 8000000 ' (RC Intern) $baud = 9600 $hwstack = 256 $swstack = 256 $framesize = 256 '---Config für LCD Port B ---------- Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.5 , Db6 = Portb.3 , Db7 = Portb.4 , Rs = Portb.7 , E = Portb.6 Config Lcdbus = 4 Config Lcdmode = Port Cursor On '----------------------------------- '----------------------------- Dim A As Byte Dim B As Byte Dim C As Byte B = 10 Do Gosub Test '454 Byte A = C Gosub Test '466 Byte A = C Gosub Test '478 Byte A = C Loop End Test: C = 10 Return '-----------------------------







Zitieren

Lesezeichen