www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Kleiner Indianer / Little Endian


Autor: Peter X. (vielfrass)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bin bei meinem Programm erstmal ein bischen über den kleinen Indianer 
gestolpert. Wie sage ich denn dem Assembler, das ich doch lieber einen 
grossen Indianer für die DW-Direktive hätte?
; Ein Ausschnitt aus einem kleinen AVR-Programm (ATTINY15)
  lpm
  mov  buff_low,r0      ;little Endian => erst das low Byte
  subi  ZL,low(-1)
  sbci  ZH,high(-1)  ;Z++;
  lpm
  mov  buff_high,r0      ;little Endian => dann das high Byte
  subi  ZL,low(-1)
  sbci  ZH,high(-1)  ;Z++;


Meine_Tabelle:
.DW  10000
.DW  1000
.DW  100
.DW  10
.DW  1

Autor: Esquilax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich tipp mal auf garnicht, da das hardwareseitig so festgelegt ist?!?

alternative: schreib in C ;-)

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
  .db   high(10000), low(10000)
  .db   high(1000),  low(1000)
  .db   high(100),   low(100)
  .db   high(10),    low(10)

Du mußt dann aber auch Deinen Code abändern.
So wie oben, stimmt er ja zu den DW-Anweisungen.


Peter

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Davon mal abgesehen, für


  subi  ZL,low(-1)
  sbci  ZH,high(-1)  ;Z++;

gibt es

  adiw zh:zl,1       ;Z++

...

Autor: Peter X. (vielfrass)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hannes Lux wrote:
> Davon mal abgesehen, für
>
>
>   subi  ZL,low(-1)
>   sbci  ZH,high(-1)  ;Z++;
>
> gibt es
>
>   adiw zh:zl,1       ;Z++
>
> ...

Danke für den Tip,
aber der Befehl adiw wird leider vom ATTINY15 nicht unterstützt.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter X. wrote:
> Hannes Lux wrote:
>> Davon mal abgesehen, für
>>
>>
>>   subi  ZL,low(-1)
>>   sbci  ZH,high(-1)  ;Z++;
>>
>> gibt es
>>
>>   adiw zh:zl,1       ;Z++
>>
>> ...
>
> Danke für den Tip,
> aber der Befehl adiw wird leider vom ATTINY15 nicht unterstützt.

Ohhh sorry, daran hatte ich jetzt nicht gedacht... - schäm...
Zu lange nix mehr mit dem Tiny15 gemacht.

...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.