Hi! hat vielleicht jemand eine saubere lösung, ein bit in einem Register, z.b. an stelle 3 zu setzen/löschen, wie man es mit sbi/cbi mit den I/O-registern machen kann? sbr ist ja gut und schön, aber leider nur ein OR und wenn ich jetzt z.m. eine konstante hab, die besagt an welcher stelle das bit gesetzt werden soll sieht man da ganz schnell alt aus. gibts da eine schnelle und saubere lösung, oder muss man ueber das t-flag gehen? schonmal danke im voraus, mfg Michael PS: ich benutze einen at90s4433 und avra unter linux
genau, dafür ist das T-flag da. set bzw. clt bld Rd,n Das ist eine schnelle und saubere Lösung. Übrigens genauso schnell wie sbi/cbi.
hmja... ich habs ja fast befürchtet... trotzdem danke :) mein problem ist, dass das ganze in ner interrupt routine passiert, und ich das t-flag noch an anderen stellen benutze, das heisst ich muss höllisch aufpassen dass ich mir da nichts anderes damit zerschiesse, und deshalb wollte ich darauf verzichten :) aber dann werd ich das da nochmal ein wenig umstricken... dabei fällt mir grade ein: sbr temp, 2^KONSTANTE sollte theoretisch doch auch gehen, oder nicht? da es sich hier um einen konstanten wert handelt muesste der assembler das doch vorher richtig austauschen, oder sehe ich das falsch? mfg Michael
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.