PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : gezielt Bit auslesen?



dremler
20.12.2009, 22:18
hallo

gibt es in bascom (oder assembler)

einen befehl um gezielt einen bit auszulesen?

wenn ich also 0b01010101 habe


möchte ich zb gezielt das 3 bit prüfen.

unter dem rabiit2000 system geht das per bit befehl, also zb "bit 4" wird der akku (ein register) auf das 4. bit geprüft. wenn es eine 1 ist wird ein bestimmtes flag gesetzt...


gibt es einen ähnlichen befehl unter bascom oder inline assembler?

oder muss ich das kompliziert per and verknüpfung machen und dann per subtraktion prüfen und das flag auswerten?

oberallgeier
20.12.2009, 22:33
Oh, in Bascom kann ich Dir da nicht raten. Aber in Assembler ist das total easy:

sbrs r16,3 ; überspringe den nächsten Befehl, wenn in r16 Bit #3 gesetzt ist
rjmp bit_ist_nicht_gesetzt
siehe dazu dieses Tutorial. (http://www.mikrocontroller.net/articles/Bitmanipulation#Bits_pr.C3.BCfen) Die Bits werden wie üblich ab 0 gezählt, Bit 3 ist also das vierte Bit.

Netzman
20.12.2009, 22:34
Dim Variable As Byte
Variable.2 = 1 ' 3. Bit setzen
If Variable.2 = 1 Then ...


mfg

dremler
20.12.2009, 23:00
ah vielen dank für die antworten...:)

sowas einfaches habe ich gesucht...:)