Forum: Mikrocontroller und Digitale Elektronik Zeilenumbruch im AVR-ASM?


von Andi (Gast)


Lesenswert?

Hi!

Habe ein sehr kleines Prob im AVR-ASM.
Und zwar habe ich mir folgende Konstanten-Tabelle im Programmemory
aufgebaut:

ModParam:
  .db 1, 0, 1, 1,  0x12
  .db 10,  0, 30, 1, 0
  .db 20,  0, 30, 1, 0
  .db 128, 0, 255, 1, 0
  .db 10,  0, 255,  1, 0
  .db 1, 0, 1, 1, 0x12
  .db 10,  10, 120, 1, 0
  .db 10, 10, 120, 1, 0
  .db 1, 0, 1, 1,  0x12
  .db 10, 10, 60,  1, 0
  .db 2, 0, 50, 1, 0
  .db 128, 0, 255, 1, 0

Das kleine Problem dabei ist, das der Compiler mir am Ende jeder Zeile
noch ein Byte dran hängt da es in jeder Zeile eine ungerade Anzahl (5)
an Bytes sind.
Ich könnte alles in einer Zeile schreiben aber dann ist die Übersicht
weg.
Gibt es eine Möglichkeit, die 1. auf die 2. Zeile und die n. auf die
n+1. Zeile fortzusetzen, also so ne Art Zeilenumbruch zu machen?
Ungefähr so kenn ich das von V-Basic für Access:

ModParam:
  .db 1, 0, 1, 1,  0x12 _
      10,  0, 30, 1, 0 _
      20,  0, 30, 1, 0

Hier signalisiert der Unterstrich das fortsetzen der Zeile auf die
nächste.

Gruß
Andi

von Jörg Wunsch (Gast)


Lesenswert?

> Habe ein sehr kleines Prob im AVR-ASM.

Dann bist Du hier aber schlicht im falschen Forum.  Hier geht's um
den
GCC, ggf. noch den GNU assembler.

von Andi (Gast)


Lesenswert?

Ja wo denn dann?
Ist ja nix extra für den AVR-ASM da!
Trotzdem kann man es ja versuchen.

Gruß
Andi

von Stefan Kleinwort (Gast)


Lesenswert?

Das Flash des AVR ist 16-Bit breit organisiert. Deshalb fügt der ASM
nach jeder ungeraden Anzahl ein Align-Byte ein.

Daran wirst Du kaum was ändern können.

Stefan

von Andi (Gast)


Lesenswert?

Das ist mir vollkommen klar!
Mir gings nur darum, ob man dem Compiler irgend wie mitteilen kann, das
die nächste Zeile dazugehört.
So in der Art wie oben beschrieben.

Gruß
Andi

von Peter D. (peda)


Lesenswert?

Du must immer eine gerade Anzahl Bytes in eine Zeile schreiben, sonst
sind die .db nicht fortlaufend, d.h. er fügt Nullen ein !


Peter

von Andi (Gast)


Lesenswert?

Wie schon erwähnt, ist mir das vollkommen klar und habe das bereits
vorher schon berücksichtigt indem nicht 5 sondern 6 hoch/runteraddiert
wird.
Dann gibt es wohl nichts, um eine Comandozeile auf mehrere Zeilen zu
erweitern, oder?

Gruß
Andi

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.