- LiFePO4 Speicher Test         
Ergebnis 1 bis 5 von 5

Thema: Bit im SRAM setzen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.10.2007
    Beiträge
    23

    Bit im SRAM setzen

    Anzeige

    Praxistest und DIY Projekte
    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

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.12.2004
    Ort
    LEV
    Beiträge
    505
    Hi Udo,
    Achtung hier lauert eine gemeine Falle im AVR-Assembler Befehlssatz.
    Der Befehl SBR Rd,K (und auch CBR, SBI, CBI) hat eine andere Syntax
    als der Befehl SBRS Rr,b (SBRC, SBIS, SBIC).

    Der Befehl "SBR Rd,K" dient zum Setzen eines oder mehrerer! Bits
    in einem Register.
    Der Parameter K ist eine Bitmaske in der eines oder mehrere Bits gesetzt sein können.
    Der Wertebereich für K liegt von 0 bis 255.
    "SBR Rd,K" ist nur ein anderer Ausdruck für "ORI Rd,K".

    Der Parameter b in dem Befehl "SBRS r,b" ist dagegen eine Bitnummer.
    b kann nur die Werte 0 bis 7 annehmen. ( Bit0 bis Bit7 )

    Wenn du also mit "SBR 20,1" Bit0 in Reg20 setzt,
    dann lautet der entsprechende Skip-Befehl für dieses Bit "SBRS 20,0".
    Einmal 1 als Bitmaske für Bit0 und einmal 0 als Bitnummer für Bit0

    Ist aber auch im Datenblatt genau beschrieben.

    Puh... ich hoffe das ist verständlich und trifft dein Problem.


    Gruß Jan

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    22.10.2007
    Beiträge
    23
    Hallo Jan,

    vielen, vielen Dank!!! Du hast mir weitere Suche bei google und Co. erspart.
    Es klappt. https://www.roboternetz.de/phpBB2/im...eusa_dance.gif
    Dancing

    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 \/

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.12.2004
    Ort
    LEV
    Beiträge
    505
    Hallo Udo,
    Kann ich den einzelnen Bits im SRAM auch Symbole zuteilen...
    EDIT: Beitrag gelöscht. Ging an deiner Frage vorbei.

    Gruß Jan

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.03.2006
    Ort
    WOB
    Beiträge
    630
    jo, mit .def blubb = r20 sollte das gehen
    Gruß Thomas \/

    Alles über AVR, PIC und CAN
    blog.cc-robotics.de

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen