<< 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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 >>