Vissza a főoldalra    Vissza a PIC főoldalra

<< Előző oldal   Vissza a tartalomjegyzékhez   Következő oldal >>

 


11.4.7. Bitműveletek


Assembly programozás tartalomjegyzék

Egy bit "0"-ra állítása
Egy bit "1"-re állítása
Egy bit ellentétesre változtatása
Bit másolása
Bit negáltjának másolása
Két bit "ÉS" kapcsolata
Két bit "VAGY" kapcsolata
Két bit "Kizáró-VAGY" kapcsolata
Bitvizsgálat


      Egy bit "0"-ra állítása:

      Tetszőleges adatregiszter tetszőleges bitjének "0"-ra állítása egyetlen BCF utasítással elvégezhető. A STATUS regiszter jelzőbitjeire az eredmény nincs hatással.

... ...    
  bcf STATUS,0 ;A STATUS regiszter C jelzőbitjének nullázása
  ...    

Vissza a lap tetejére


      Egy bit "1"-re állítása:

      Tetszőleges adatregiszter tetszőleges bitjének "1"-re állítása egyetlen BSF utasítással elvégezhető. A STATUS regiszter jelzőbitjeire az eredmény nincs hatással.

... ...    
  bsf STATUS,0 ;A STATUS regiszter C jelzőbitjének "1"-re állítása
  ...    

Vissza a lap tetejére


      Egy bit ellentétesre változtatása:

      Tetszőleges adatregiszter tetszőleges bitjének ellentétesre változtatása az XORWF utasítással végezhető el, egy előzőleg W-be töltött megfelelő bitmaszk segítségével. Azt, hogy a művelet eredménye a W-be, vagy az adatregiszterbe kerül-e, az utasításban elhelyezett célkijelölő bit határozza meg. A STATUS regiszter Z jelzőbitje az eredménynek megfelelő értékre áll be.

... ...    
  movlw 0x01 ;a B'0000 0001' bitmaszk betöltése
  xorwf STATUS,1 ;a STATUS regiszter nulladik bitjének átállítása
  ...    

Vissza a lap tetejére


      Bit másolása:

      Tetszőleges adatregiszter tetszőleges bitjének tetszőleges helyre történő átírása három utasítással elvégezhető. Az alábbi programrészlet az ADAT1 regiszter 6. bitjét másolja át az ADAT2 regiszter 3. bitjére.

... ...    
  bcf ADAT2,3 ;az ADAT2 regiszter 3. bitjének nullázása
  btfsc ADAT1,6 ;az ADAT1 regiszter 6. bitjének vizsgálata
  bsf ADAT2,3 ;az ADAT2 regiszter 3. bitjének "1"-re állítása
  ...    

Vissza a lap tetejére


      Bit negáltjának másolása:

      Tetszőleges adatregiszter tetszőleges bitje negáltjának tetszőleges helyre történő átírása három utasítással elvégezhető. Az alábbi programrészlet az ADAT1 regiszter 6. bitjének negáltját másolja át az ADAT2 regiszter 3. bitjére.

... ...    
  bcf ADAT2,3 ;az ADAT2 regiszter 3. bitjének nullázása
  btfss ADAT1,6 ;az ADAT1 regiszter 6. bitjének vizsgálata
  bsf ADAT2,3 ;az ADAT2 regiszter 3. bitjének "1"-re állítása
  ...    

Vissza a lap tetejére


      Két bit "ÉS" kapcsolata:

      Két tetszőleges adatregiszter bit ÉS kapcsolatát képezi az alábbi programrészlet. Az egyik bit az ADAT1, a másik az ADAT2 regiszterben van, az eredmény az EREDMENY regiszter 2. bitjére kerül.

... ...    
  bsf EREDMENY,2 ;az EREDMENY regiszter 2. bitjének "1"-re állítása
  btfsc ADAT1,6 ;az ADAT1 regiszter 6. bitjének vizsgálata
  btfss ADAT2,3 ;az ADAT2 regiszter 3. bitjének vizsgálata
  bcf EREDMENY,2 ;ha mindkét bit "1"-es: nullázás
  ...    

Vissza a lap tetejére


      Két bit "VAGY" kapcsolata:

      Két tetszőleges adatregiszter bit VAGY kapcsolatát képezi az alábbi programrészlet. Az egyik bit az ADAT1, a másik az ADAT2 regiszterben van, az eredmény az EREDMENY regiszter 2. bitjére kerül.

... ...    
  bcf EREDMENY,2 ;az EREDMENY regiszter 2. bitjének "0"-ra állítása
  btfss ADAT1,6 ;az ADAT1 regiszter 6. bitjének vizsgálata
  btfsc ADAT2,3 ;az ADAT2 regiszter 3. bitjének vizsgálata
  bsf EREDMENY,2 ;ha valamelyik bit "1"-es: "1"-re állítás
  ...    

Vissza a lap tetejére


      Két bit "Kizáró-VAGY" kapcsolata:

      Két tetszőleges adatregiszter bit Kizáró-VAGY kapcsolatát képezi az alábbi programrészlet. Az egyik bit az ADAT1, a másik az ADAT2 regiszterben van, az eredmény az EREDMENY regiszter 2. bitjére kerül.

... ...    
  bcf EREDMENY,2 ;az EREDMENY regiszter 2. bitjének "0"-ra állítása
  movlw 0x04 ;W = B'0000 0100'; csak a 2. bit "1"-es
  btfsc ADAT1,6 ;az ADAT1 regiszter 6. bitjének vizsgálata
  xorwf EREDMENY,1 ;ha ADAT1,6="1", az EREDMENY,2 negálása
  btfsc ADAT2,3 ;az ADAT2 regiszter 3. bitjének vizsgálata
  xorwf EREDMENY,1 ;ha ADAT2,3="1", az EREDMENY,2 negálása
  ...    

Vissza a lap tetejére


      Bitvizsgálat:

      A PIC mikrovezérlők BTFSS és BTFSC utasításai tetszőleges adatregiszter bit értékétől függő programelágazást valósítanak meg. Az utasításban kijelölt adatregiszter bit értékétől függően átugorják vagy végrehajtják a soron következő utasítást.
      A következő programrészlet az ADAT regiszter 4. bitjétől függően 10h vagy 1h értékre állítja be a munkaregisztert.

... ...    
  movlw 0x10 ;W = 10h
  btfsc ADAT,4 ;a ADAT regiszter 4. bitjének vizsgálata
  movlw 0x01 ;W = 1h, ha ADAT,4 = "1"
  ...   ;ha ADAT,4 = "0", ide ugrik

  Tudomány és Technika (test@t-es-t.hu)


 

<< Előző oldal   Vissza a tartalomjegyzékhez   Vissza a lap tetejére   Következő oldal >>

Vissza a főoldalra    Vissza a PIC főoldalra