Forum: Compiler & IDEs Bits im SRAM setzen


von Udo S. (Firma: allround) (1udo1)


Lesenswert?

Hallo,

im avr-assembler möchte ich im SRAM ein Flag setzen.

Im Keil assembler (8051)kann man Folgendes definieren;

BSEG AT 00H;  20H im bitadressierbaren Bereich

MERKER:  DBIT 1

Das gleiche möchte ich in avr machen.

Kann mit sbr folgendes Bit setzen

sbr r20,$01

Es wird im Simulator angezeigt

Aber der Befehl  sbrs (skip if bit is set) wird nicht ausgeführt. Obwohl 
das Bit gesetzt ist, wird der nachfolgende Befehl nicht übersprungen.

Hat jemand einen Tipp?

Udo

von BiegeStrahl (Gast)


Lesenswert?

> Hat jemand einen Tipp?

Hast du evtl. nicht beachtet, daß sbr die Wertigkeit der Bits haben 
will, während sbrs die Bitnummer will? sbr und ori sind dieselbe 
Instruktion.

von Jörg X. (Gast)


Lesenswert?

1
; so ist das gemeint...
2
    sbr r20, 1<<0
3
    sbrs r20, 0
Und was, bitteschön, hat das mit RAM oder GCC zu tun ? :P

scnr Jörg

von Udo S. (Firma: allround) (1udo1)


Lesenswert?

Hallo Hotliner,

vielen, vielen Dank!!! Du hast mir weitere Suche bei google und Co. 
erspart. Es klappt.

Noch eine Frage:

Kann ich den einzelnen Bits im SRAM auch Symbole zuteilen, ähnlich wie 
im Keilassembler?

Also

.EQU  MERKER r20,1

Bevor ich lange an Syntaxvarianten probiere, stelle ich lieber gleich 
die frage.

Gruß

Udo

von Peter D. (peda)


Angehängte Dateien:

Lesenswert?

Udo Scharnitzki wrote:

> Kann ich den einzelnen Bits im SRAM auch Symbole zuteilen, ähnlich wie
> im Keilassembler?

Ne, das geht nur in C.


Peter

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.