hallo, ich verstehe hier gerade eine Befehlszeile nicht: ldi r16,low(511) ...ist für einen mega 128...aber was genau macht sie? bzw woher nimmt sie den wert her, der in r16 gespeichert wird?...vorallem dieses low () ist mir eine grauzone. hoffe ihr könnt mir ma wieder helfen grüsse ralf
Hi, dieses LOW ist Teil des Assembler und nimmt das niederwertige Byte von 511 (da dies offenbar 2 Byte breit ist). Der Wert wird vom Assembler bestimmt und eingesetzt, denn LDI verlangt da ja ein "immediate".
boah ...klasse, dat ging schnell...aber was zum geier iss 511 dachte immer es währe eine adresse im sram oder so...also als variable ist es jedenfalls nicht definiert
Hallo Ralf, ldi bedeuted das eine Konstante in ein Register ( = Byte) geladen wird. low(Zahl) bedeuted das nur das niederwertige Byte von Zahl geladen wird. Daneben existiert noch die Direktive high(Zahl) mit der das höherwertige Byte geladen wird.
Hi, dat 511 iss echt ne Konstante :) und das LOW davon auch. Wenn du LDI r16, 12 schreibst, dann ist die 12 doch auch keine Addresse oder Variable ;)
verdammt....also ist in dem fall der wert in den klammern der lsb teil der Zahl "511"???...und nicht irgeneine adresse?
habs gerade ausprobiert...in der tat...es ist eine konstane und mein prof. ein mieser mop für die verwirrung gggg danke euch grüsse ralf
Hättest ja auch schreiben können ldi r16, 0xff oder ldi r16, 255 oder oder oder.......
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.