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.