AVR-ASM: .def Cassensitive?

#1699737
Lesenswert?

Das ist egal. Groß oder Kleinschreibung spielt da keine Rolle.
Auch bei den ASM befejlen kannst es Dir aussuchen, ob Du sie groß oder 
klein schreibst.
Zumindest ist das beim AVR-Studio so. Falls du ein anderen Compiler 
benutzt, probiere es einfach aus. Wenn es nicht egal ist, dann wird 
schon eine Fehlermeldung beim compilieren bekommen...
#1700447
Lesenswert?

QQQ schrieb:
> Da habe ich mal Glück gehabt, ich dachte schon, ich muss mein 251kB
> (kompiliert) großes Programm noch mal schreiben.


Nimm dir trotzdem einen Editor und bereinige das mittels 'Suchen & 
Ersetzen'. Auf lange Sicht ist das nämlich immer ein Stein der 
Verwirrung.

Und wer darauf baut, dass 'led' und 'LED' 2 unterschiedliche Labels 
sind, sollte
* am Obfuscated Assembler Code Contest teilnehmen
* mit dem nassen Fetzen erschlagen werden
#1700580
Lesenswert?

QQQ schrieb:
> Da habe ich mal Glück gehabt, ich dachte schon, ich muss mein 251kB
> (kompiliert) großes Programm noch mal schreiben.

Wer kommt denn nur auf so verrückte Ideen, 251kB in Assembler zu 
schreiben?

Meine Schmerzgrenze liegt bei 2kB, darüber ist C deutlich besser.

Irgendwann verliert man in Assembler den Überblick und pusht/popt sich 
zu Tode oder hat nen riesen Wust an Spaghetticode.


251kB Assembler-Monster in C umgeschrieben, würden höchstens halb so 
groß sein und doppelt so schnell laufen.
Von der besseren Fehlersuche, Wartbarkeit und Erweiterbarkeit ganz 
abgesehen.


Peter
Gast #1700687
Lesenswert?

Peter Dannegger schrieb:
> 251kB Assembler-Monster in C umgeschrieben, würden höchstens halb so
> groß sein und doppelt so schnell laufen.
> Von der besseren Fehlersuche, Wartbarkeit und Erweiterbarkeit ganz
> abgesehen.

Glaube ich nicht, ausserdem würde es in C kaum funktionieren. Es handelt 
sich um ein automatisches Steuersystem für meine Jacht, mit GPS, Radar, 
Sonar, Mp3-Player und Fersteuerung fürs Funkgerät mit 
Packetradiodecoder. Dazu noch Grafikausgabe mit 800*600 auf einem VGA 
Monitor mit 1024 Farben und Maussterung. Das alles läuft auf einem 
Atmega256. Daher die Größe.
#1700709
Lesenswert?

QQQ schrieb:
> Peter Dannegger schrieb:
>> 251kB Assembler-Monster in C umgeschrieben, würden höchstens halb so
>> groß sein und doppelt so schnell laufen.
>> Von der besseren Fehlersuche, Wartbarkeit und Erweiterbarkeit ganz
>> abgesehen.
>
> Glaube ich nicht,

glaub ich schon.

> ausserdem würde es in C kaum funktionieren.

Wahrscheinlich besser, als das was du da hast.

> Es handelt
> sich um ein automatisches Steuersystem für meine Jacht, mit GPS, Radar,
> Sonar, Mp3-Player und Fersteuerung fürs Funkgerät mit
> Packetradiodecoder.

Das schreit geradezu danach in einer Hochsprache gemacht zu werden.

> Dazu noch Grafikausgabe mit 800*600 auf einem VGA
> Monitor mit 1024 Farben und Maussterung. Das alles läuft auf einem
> Atmega256. Daher die Größe.

Aha. Dein Programm ist also 256KB gross, weil das Flash deines Mega 256K 
gross ist. Alles klar
#1700966
Lesenswert?

@   Karl heinz Buchegger (kbuchegg) (Moderator)

>Eines muss ich noch los werden:
>Wer 250 K Assembler programmiert und vor allen Dingen debuggt, hat
>meinen Respekt verdient. Also: Respekt

Du lässt dich wohl auch von großen Zahlen beeindrucken, was?
250K sagt nicht viel.

Ausserdem ist scheinbar dein Ironiedetektor kaputt.

>Glaube ich nicht, ausserdem würde es in C kaum funktionieren. Es handelt
>sich um ein automatisches Steuersystem für meine Jacht, mit GPS, Radar,
>Sonar, Mp3-Player und Fersteuerung fürs Funkgerät mit
>Packetradiodecoder. Dazu noch Grafikausgabe mit 800*600 auf einem VGA
>Monitor mit 1024 Farben und Maussterung. Das alles läuft auf einem
>Atmega256. Daher die Größe.

Hier will uns mal wieder jemand ordentlich veräppeln. Mal abgesehen 
davon, dass so ein Wust an Funktion auch locker in C zu machen ist, 
glaub ich kaum, dass jemand das programmiert und DANCH fragt, ob der 
Assembler case sensitive ist . .  .
Von der Sinnhaftigkeit dieses Wundergeräts mal ganz zu schweigen. Ich 
ordne das mal unter Seemansgarn ein ;-)

Ahoi
Falk
#1701278
Lesenswert?

QQQ schrieb:
> Falk Brunner schrieb:
>> Von der Sinnhaftigkeit dieses Wundergeräts mal ganz zu schweigen.
>
> Ein einfaches All-in-one Display, welches (hoffentlich) wesentlich
> weniger störanfällig ist, als würde man das alles auf einem PC machen.

Das stellt wohl niemand in Frage.
Alleine das "(hoffentlich)" macht mich stutzig.
Aber das ist deine Sache, dein Leben hängt davon ab. Genau aus zb diesem 
Grund sieht PeDa das genauso wie ich. Bei derartigen Codegrößen ist es 
schon extrem schwer in Assembler noch den Überblick über 
Registerbenutzung, was liegt wo am Stack etc. zu behalten. Wir 
überlassen solche Dinge dann lieber einem Compiler. Der macht das 
zuverlässiger als wir das je könnten.
#1701470
Lesenswert?

QQQ schrieb:
> Glaube ich nicht, ausserdem würde es in C kaum funktionieren. Es handelt
> sich um ein automatisches Steuersystem für meine Jacht, mit GPS, Radar,
> Sonar, Mp3-Player und Fersteuerung fürs Funkgerät mit
> Packetradiodecoder. Dazu noch Grafikausgabe mit 800*600 auf einem VGA
> Monitor mit 1024 Farben und Maussterung. Das alles läuft auf einem
> Atmega256. Daher die Größe.

Warum diese paar Aufgaben einen so großen Code benötigen sollen, kann 
ich nicht nachvollziehen.

Und solange der AVR nicht die MP3-Dekodierung macht, sieht das auch 
nicht sonderlich CPU-lastig aus.
Daten von einer SD-Karte zum MP3-Chip zu schaufeln, macht man üblicher 
Weise in C, weil die FAT-Libs alle schon in C geschrieben sind. Wenn ich 
mich recht erinnere, gibts MP3-Player Beispiele mit ATmega8.

Eventuell könnte es Sinn machen, das Timing für die Grafiksteuerung in 
Assembler zu schreiben, wenn der AVR es selber machen muß und kein 
Grafikchip benutzt wird.
Aber das sind dann nur wenige Assemblerzeilen im Interrupthandler.


Es sei denn, von den 236kB sind >200kB nur Bitmaps, dann ist die Größe 
nachvollziehbar.


Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren