Forum: Mikrocontroller und Digitale Elektronik bits egal


von Blank David (Gast)


Lesenswert?

PSB1:  cpi   tmp2,0b110000
      brne  PSB2

ich hab so eine abfrage (PortD), für was spielt keine rolle
nur : wie sage ich ihm das die letzten 3 bits egal sind ?
ich will meinen quelltext nicht unbedingt um die abfrage nach den 
einzelnen Pins vergrößern !

wie sage ich ihm sowas ( x steht für Egal )

PSB1:  cpi   tmp2,0b110xxx
      brne  PSB2

ich habe an den 3 X Leds angeschlossen die bei der abfrage egal sein 
sollen weil ich sie wärend dem ablauf an und aus machen will !
die würden mich nur bei der abfrage stören !

wie schaff ich das nicht die Pins sondern den Port abzufragen ?

von Werner Hoch (Gast)


Lesenswert?

Du must die überflüssigen bits löschen:
zb. mit:
  CBR temp2, 0x07

oder mit:
  ANDI temp2, 0xF8   ;entspricht 11111000

mfg
werner

von Oliver (Gast)


Lesenswert?

Hallo David,

zunächst solltest Du Deinen Vergleich mit 8 Bit durchführen, da es sich 
um ein 8-Bit-Register handelt. Sollte tmp2 ein Register von 16-32 sein, 
funktioniert das dann so:

PSB1: andi tmp2, 0b11100000 ; untere 5 Bits ausblenden
      cpi  tmp2, 0b11000000 ; obere 3 Bits testen
      brne PSB2


Grüße
Oliver

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.