Hallo, ich hab da mal eine Frage. Warum habe ich (scheinbar) beim AVR keinen Assembler-Befehl um zu einem Register mit dem Wert x einen Konstate z.B 10 zu Addieren. Bei der Subtraktion ist dies ja durchaus mit dem Befehl subi möglich. Muss ich immer den 'Umweg' über z.B. --------------- ldi temp, 10 add Wert, temp --------------- nehmen oder hab ich nen Befehl übersehen? Kenne den einen oder anderen Trick nicht? Danke für die Hilfe :-) Gruß Frank
Wenn du es dir bequem machen willst,
kannst du dir auch einen Macro definieren:
.macro addi
    subi @0,-@1
.endmacro
Dann kannst du ganz "normal"
addi rxx,const schreiben.
z.B.
  addi r16,99
oder
  addi r18,'A
MfG Willi
  im zweiten Beispiel soll es natürlich addi r18,'A' heissen. Mfg Willi
Das ganze hat natürlich den Nachteil, daß das Carry-Bit gesetzt wird, wenn bei der ursprünglich gewünschten Addition gar kein Überlauf aufgetreten wäre!! Eine Verzweigung aufgrund dieser Berechnung kann dann schnell in die falsche Richtung gehen... Tassilo
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.