Forum: Mikrocontroller und Digitale Elektronik AVR Assembler


von Peter J. (hubipet)


Lesenswert?

Hallo Comunity

bei Üben mit dem Assembler auch durch Analogiebetrachtungen von 
bestehendem Code bin ich auf folgende Zeile gestossen:

subi  count0, byte1(-1)

Über die Bedeutung der byte-Anweisung habe ich keine Erklärung gefunden.

Kann mir jemand sagen was die Bedeutung und Funktion der Anweisung ist?


Gruß
Peter

von Spess53 (Gast)


Lesenswert?

Hi

AVR Assembler Hilfe-> User's Guide ->Expressions. Ganz unten.

MfG Spess

von Peter J. (hubipet)


Lesenswert?

Hallo Spess

vieleicht bin ich zu blöd zum Lesen aber wenn ich auf den Link "AVR" 
gehe find ich "Assembler Hilfe-> User's Guide ->Expressions" nicht.
Kannst du mir da vielleicht noch ein paar Hinweise geben wo ich da hin 
muss?


Gruß
Peter

von Sven P. (Gast)


Lesenswert?

Du möchtest doch bitte die Hilfe-Datei zum AVR-Assembler lesen, so war 
das gemeint.

von Spess53 (Gast)


Lesenswert?

Hi

Ich meine die Hilfe zum AVR-Assembler im AVR Studio.

MfG Spess

von Sven P. (Gast)


Lesenswert?

Nachtrag:
Nun gehört BYTE1 (eins) m.W.n. nicht zum alten AVR-Assembler, dürfte 
also eine Erweiterung irgendeines anderen Assemblers sein.

Der Name lässt vermuten: Liefert das unterste Byte des Ausdruckes, also 
äquivalent zu (Ausdruck & 0xFF).

von Spess53 (Gast)


Lesenswert?

Hi

>Nun gehört BYTE1 (eins) m.W.n. nicht zum alten AVR-Assembler,...

Das gehört schon seit geraumer Zeit dazu. Der AVR-Assembler2 bietet 
zusätzlich noch:

INT, FRAC, Q7, Q15, ABS(),DEFINED, STRLEN

und eine Reihe C-Style Preprocessor Directiven.

MfG Spess

von DerGast (Gast)


Lesenswert?

Peter Jänsch schrieb:
> subi  count0, byte1(-1)
>
> Über die Bedeutung der byte-Anweisung habe ich keine Erklärung gefunden.
schau mal weiter oben im Quelltext da müsste die Konstante byte1 mit
1
.equ byte1 =


definiert sein.

von abc (Gast)


Lesenswert?

@DerGast
Unfug, die richtige Lösung steht weiter oben.

von Spess53 (Gast)


Lesenswert?

Hi

>schau mal weiter oben im Quelltext da müsste die Konstante byte1 mit
>.equ byte1 =
>definiert sein.

Nein. Byte1(...) ist äquivalent zu Low(...). Allerdings habe ich gerade 
gesehen, das das nicht in der Hilfe steht. Nur Byte2...4. Aber es 
funktioniert trotzdem.

MfG Spess

von Peter J. (hubipet)


Lesenswert?

Hallo Leute

hab's gefunden.

DANKE!!!!

Gruß
Peter

von eProfi (Gast)


Lesenswert?

Was passiert, wenn man
subi  count0, -1
schreibt?

Oder
inc count0

von Huch (Gast)


Lesenswert?

>Was passiert, wenn man
>subi  count0, -1
>schreibt?
>Oder
>inc count0

Die Befehle sind auch in der Hilfe erklärt.

von Purzel H. (hacky)


Lesenswert?

>Was passiert, wenn man
subi  count0, -1
schreibt?


Ueberleg mal wie du zu einem Byte/Word eins dazuzaehlen wuerdest...

von Guter Rat (Gast)


Lesenswert?

Der AVR hat keinen adi-Befehl, also wird
"adi reg16,1" als "subi r16", -1 dargestellt.
(Subtraktion einer neg Zahl ist Addition derselben.)

Schönen Sonntag

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
Noch kein Account? Hier anmelden.