Forum: Mikrocontroller und Digitale Elektronik unterscheid zwischen $ und 0x beim avr assembler


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von krengel (Gast)


Lesenswert?

hallo,
bin relativ neu bei assembler.
gibt es einen unterschied zwischen

cpi R28,$79
brne irgendwohin

und
cpi R28,0x79
brne irgendwohin

insbesondere bei der verwendung des y (r28,R29)pointers?

was muss ich tun, damit ich einen bereich höher 0x0101 abfragen kann,
funktioniert da sowas:
cpi R28,0x01 ;low byte
brne irgendwohin
cpi R29,0x01 ;high byte
bren irgendwohin

von Hagen (Gast)


Lesenswert?

cpi r28, 1
cpc r29, 1
brne irgendwo

Gruß Hagen

von Rufus T. Firefly (Gast)


Lesenswert?

Das Präfix 0x für hexadezimale Notation kommt aus der C-Welt; viele
Assembler verwenden (wohl auch aus historischen Gründen) das Präfix $
für exakt dasselbe. Andere Assembler wiederum verwenden das Suffix h.

Daher ist $79 = 0x79 = 79h

Bei der h-Suffix-Schreibweise wird Zahlen, die mit einem Buchstaben
beginnen, eine 0 vorangestellt, um sie von Textausdrücken unterscheiden
zu können.

$E3 = 0xE3 = 0E3h

von krengel (Gast)


Lesenswert?

ok, dann hat sich mein verdacht ja bestätigt. besten dank auch für den
cpc tip

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.