zu AVR-Tutorial was bedeutet high(10000)

OP #1977109
Lesenswert?
• ▲
▼
Hallo,

ich bin gerad dabei, das AVR-Tutorial zu durchlaufen.

Jetzt habe ich eine wahrscheinlich kurz zu beantwortende 
Verständnisfrage.
Ich bin im Kapitel "LCD" -- Ausgabe eines 16Bit Zahlenwerts.

Ich habe mit folgender Programmzeile ein Problem:

;
lcd_number16:
           push  temp1
           push  temp2
           push  temp3

; ** Zehntausender **
           ldi   temp1, '0'-1
lcd_number1:
           inc   temp1
           subi  temp2, low(10000)
           sbci  temp3, high(10000)      <--- was macht dieses 
high(10000)??????????????? sbci --> substract with Carry Constant from 
Register
           brcc  lcd_number1
           subi  temp2, low(-10000)
           sbci  temp3, high(-10000)
           rcall lcd_data

; ** Tausender **
Viele Grüße

Olli
#1977121
Lesenswert?
• ▲
▼
@  Olli R. (downunderthunder42)

>           sbci  temp3, high(10000)      <--- was macht dieses
>high(10000)???????????????

high() ist ein Macro vom Assembler, es liefert als Ergebnis das High 
Byte einer Konstanten.
Sprich, wenn man die Dezimalzahl 10000 als Hexadezimal schreibt ergibt 
das 0x2710, die Funktion high liefert dann 0x27.
0x ist die Kennzeichnung für hexadezimale Zahlen,  im AVR-Assembler kann 
man auch $ schreiben.

10000  dezimal
0x2710 hexadezimal
$2710 hexadezimal

MFG
Falk

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.