Herzlich Willkommen im einzigen (deutschsprachigem) Picaxe-Forum.

Der Ursprung dieses Forum reicht bis in das Jahr 2008 zurück

Eine neue Antwort erstellen

[b][/b]
[i][/i]
[u][/u]
[code][/code]
[quote][/quote]
[spoiler][/spoiler]
[url][/url]
[img][/img]
[video][/video]
Smileys
Top
griins
idee
frage
grin
hmm
lil
denk
sadly
grööhl
cool
shocked
[mail][/mail]
[pre][/pre]
Farben
[rot][/rot]
[blau][/blau]
[gruen][/gruen]
[orange][/orange]
[lila][/lila]
[weiss][/weiss]
[schwarz][/schwarz]
[big][/big]
[line]
[small][/small]
[h4][/h4]
[style={{name}}][/style]
a1
a2
a3
a4
a5
a6
a7
a8
a9
a10
a11
a12
a13
a14
a15
a16
a18
a17
a19
a20
a21


*Zur Vermeidung von Spam



Im Beitrag anzeigen:

In Antwort auf

BASCOM Demo-Version und die 4k Begrenzung...

von Naubaddi , 16.01.2020 12:17

Hallo erst mal,

da die Demoversion vom BASCOM-Compiler maximal 4k übersetzen kann und ich diesen Wert schon einmal überschritten hatte wurde kontinuierlich versucht das Programm zu schrumpfen, mein letzter Versuch war eine weitere Prozedur zu erstellen.
Da die Prozedur 4 Zeilen hat und dafür gerade mal 2 Zeilen eingespart wurden hatte ich mir nur ein paar Byte erhofft, das Ergebnis war verblüffend gut:

2 Zeilen weniger (0,8%) bei 248 Zeilen im Quelltext machen 606Byte weniger (24,5%) bei 2474Byte Programmcode aus der jetzt nur noch 1868Byte hat ! Soviel haben alle anderen Aktionen nicht erbracht, die Verschachtlung der Gosubs ist maximal 2 und sollte i.O. sein.

Grüßle, Naubaddi

Die alte Version:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
Gesicht:
A6a = A6 : A5a = A5 : M4a = M4 ' die alten Werte merken
M3 = M4 + 8 : M2 = M3 + 8 : M1 = M2 + 8
for Zeile = 1 to 8
Cs = 0 : Din = 0 : Clk = 0 ' noch nicht anzeigen
Befehl = Zeile
Daten = lookup( A6 , Augenarten ) ' 8x8 Matrix 4 die Letzte 8x8 Matrix
shiftout Din , Clk , Befehl , 1 ' den Befehl senden
shiftout Din , Clk , Daten , 1 ' die Daten senden
Daten = lookup( A5 , Augenarten ) ' 8x8 Matrix 4 die Letzte 8x8 Matrix
shiftout Din , Clk , Befehl , 1 ' den Befehl senden
shiftout Din , Clk , Daten , 1 ' die Daten senden
Daten = lookup( M4 , Mundarten ) ' 8x8 Matrix 4 die Letzte 8x8 Matrix
shiftout Din , Clk , Befehl , 1 ' den Befehl senden
shiftout Din , Clk , Daten , 1 ' die Daten senden
Daten = lookup( M3 , Mundarten ) ' 8x8 Matrix 3
shiftout Din , Clk , Befehl , 1 ' den Befehl senden
shiftout Din , Clk , Daten , 1 ' die Daten senden
Daten = lookup( M2 , Mundarten ) ' 8x8 Matrix 2
shiftout Din , Clk , Befehl , 1 ' den Befehl senden
shiftout Din , Clk , Daten , 1 ' die Daten senden
Daten = lookup( M1 , Mundarten ) ' 8x8 Matrix 1 die Erste 8x8 Matrix seriel angeschloßen
shiftout Din , Clk , Befehl , 1 ' den Befehl senden
shiftout Din , Clk , Daten , 1 ' die Daten senden
incr A6 : incr A5 ' die nächste Zeile vom Auge
incr M4 : incr M3 : incr M2 : incr M1 ' die nächste Zeile vom Mund
Cs = 1 ' jetzt anzeigen
next Zeile
A6 = A6a : A5 = A5a : M4 = M4a ' auf die alten Werte zurück setzen
return
 



Die neue Version:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
Gesicht:
A6a = A6 : A5a = A5 : M4a = M4 ' die alten Werte merken
M3 = M4 + 8 : M2 = M3 + 8 : M1 = M2 + 8
for Zeile = 1 to 8
Cs = 0 : Din = 0 : Clk = 0 ' noch nicht anzeigen
Befehl = Zeile
Daten = lookup( A6 , Augenarten ) ' 8x8 Matrix 4 die Letzte 8x8 Matrix
gosub Send_max_Gesicht
Daten = lookup( A5 , Augenarten ) ' 8x8 Matrix 4 die Letzte 8x8 Matrix
gosub Send_max_Gesicht
Daten = lookup( M4 , Mundarten ) ' 8x8 Matrix 4 die Letzte 8x8 Matrix
gosub Send_max_Gesicht
Daten = lookup( M3 , Mundarten ) ' 8x8 Matrix 3
gosub Send_max_Gesicht
Daten = lookup( M2 , Mundarten ) ' 8x8 Matrix 2
gosub Send_max_Gesicht
Daten = lookup( M1 , Mundarten ) ' 8x8 Matrix 1 die Erste 8x8 Matrix seriel angeschloßen
gosub Send_max_Gesicht
incr A6 : incr A5 ' die nächste Zeile vom Auge
incr M4 : incr M3 : incr M2 : incr M1 ' die nächste Zeile vom Mund
Cs = 1 ' jetzt anzeigen
next Zeile
A6 = A6a : A5 = A5a : M4 = M4a ' auf die alten Werte zurück setzen
return
Send_max_Gesicht:
shiftout Din , Clk , Befehl , 1 ' den Befehl senden
shiftout Din , Clk , Daten , 1 ' die Daten senden
Return
 



Grüßle, Naubaddi

Top

Fotos hochladen

Zugriffsanfrage von


Diese Seite versucht auf deinen addPics.com Account zuzugreifen.
Aus Sicherheitsgründen, erlaubt addPics.com nur den Zugriff von autorisierten Webseiten. Wenn du dieser Webseite vertraust, kannst du mit einem Klick auf den folgenden Link, den Zugriff erlauben.

autorisieren Aktualisieren

Bitte logge dich mit deinem bereits existierenden Account auf addPics.com ein.


Jetz einloggen!
Neu laden!


Dem Beitrag angehängte Bilder


- noch keine Bilder angehängt.

oder ein bereits hochgeladenes diesem Beitrag hinzufügen.
Nach Ordner filtern: Ordner bearbeiten
  • Mit deiner Emailadresse, verwaltest du all deine Bilder auf addPics.com
  • diese Nutzung von addPics.com ist für dich kostenlos!
  • weitere Informationen findest du hier


Mit dem Upload gebe ich mein Einverständnis, dass meine E-Mail von addPics.com für werbliche Zwecke zum Erhalt von Newslettern genutzt wird. Die E-Mail wird nicht an Dritte weitergegeben und der Newsletter kann jederzeit per E-Mail an unsubscribe@addpics.com abgemeldet werden.

Mit anderen addPics.com Account anmelden
Picaxe Editor 5.5.5 Download
Update auf Picaxe Editor 5.5.6 Download
Picaxe Editor 6.x.x.x Download
Manual1.pdf        -      Grundwissen Download
Manual2.pdf        -      Befehle Download
Manual3.pdf        -      Beispiele Download


Press [Backspace] for back to Menu


Counter
Xobor Forum Software ©Xobor.de | Forum erstellen
Datenschutz