avr-studio

Gast #62584
Lesenswert?
• ▲
▼
Servus,

in der Hilfe-Datei vom AVR-Studio 3.5 sind einige Befehle beschrieben,
mit denen man Register muliplizieren oder ähnliches mit nur einer Zeile
kann.

z.B. r30, label*2

so stehts drin und dies dauert 13 Zyklen.
label = Name von Unterprogramm, aber von welchen?

bei mir funktioniert es nicht.
Kann mir jemand das erklären und ein funktionierendes kleines Programm
schreiben.

Dankeschön
Tom
Gast #62585
Lesenswert?
• ▲
▼
das geht nicht. Was du meinst, ist eigentlich eine Konstante, die
während der Asseblierung in eine Zahl aufgelöst wird. Das berechnet
also der Assembler und nicht der MC.
heisst es beispielsweise:

ldi r30, low (0x1234*2)
ldi r31, high (0x1234*2)

wird daraus:
ldi r30, 0x68
ldi r31, 0x24
und das steht dann auch im Prozessor.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren