Frage zu AVR ASM bytex(y)

Gast #2703651
Hallo,
kann es sein, dass ein Konstrukt wie das hier:
1
subi r27, byte1(100000000000)
2
sbci r28, byte2(100000000000)
3
sbci r29, byte3(100000000000)
4
sbci r30, byte4(100000000000)
5
sbci r31, byte5(100000000000)
nicht funktiobiert weil der Assembler mir maximal 32bit Zahlen zerlegt?
Ich kriege immer einen Fehler:
Error  1  syntax error, unexpected '('
Gast
Ok, also sowas hier
dazu gleich noch eine Frage: wenn ich mit negativen Binärzahlen arbeite, 
kann ich das dann so schreiben?


subi r27, -0b00000000
sbci r28, -0b11100100
sbci r29, -0b00001011
sbci r30, -0b01010100
sbci r31, -0b00000010
Warum binär? Mit negativen Binärzahlen hatte ich noch nicht zu tun.

Ich meinte, dass man die negative Zahl, die man subtrahieren will, der 
Einfachheit halber in Hex umwandeln kann und dann für jede Etappe die 
für das gewünschte Byte erforderlichen beiden Hex-Ziffern notiert.

Ist natürlich nur eine Krücke, vermutlich gibt es elegantere Lösungen. 
Ich habe da aber noch nicht drüber nachgedacht, da mir bisher immer 
Zahlen unterhalb 32 Bit gereicht haben.

...
Gast
Hi

> wenn ich mit negativen Binärzahlen arbeite,
>kann ich das dann so schreiben?

Nein. Weil

 100000000000 = $174876E800
-100000000000 = $E8B7891800

MfG Spess

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.