PIC中檔單片機(jī)匯編指令詳解(5)
BCF 數(shù)據(jù)寄存器指定位清0
本文引用地址:http://m.butianyuan.cn/article/201611/318560.htm語(yǔ)法形式:BCF f,b
操作數(shù):f為數(shù)據(jù)寄存器的低7位地址(0x00~0x7F)
B為數(shù)據(jù)位編號(hào)(0~7)
執(zhí)行時(shí)間:一個(gè)指令周期
執(zhí)行過(guò)程:使數(shù)據(jù)寄存器f的的b位清0
狀態(tài)標(biāo)志影響:無(wú)
說(shuō)明:該指令可對(duì)任何數(shù)據(jù)寄存器的任意一個(gè)位置清0,常用于標(biāo)志位的設(shè)定和清除,或者把某一管腳置成低電平。
指令范例:BCF STATUS,C ;進(jìn)位(借位)標(biāo)志C清0
BCF PORTD,7 ;PORTD的第7位輸出低電平
BSF 數(shù)據(jù)寄存器的指定位b置1
語(yǔ)法形式:BSF f,b
操作數(shù):f為數(shù)據(jù)寄存器的低7位地址(0x00~0x7F)
b為數(shù)據(jù)位編號(hào)(0~7)
執(zhí)行時(shí)間:一個(gè)指令周期
執(zhí)行過(guò)程:使數(shù)據(jù)寄存器f的的b位置1
狀態(tài)標(biāo)志影響:無(wú)
說(shuō)明:該指令可對(duì)任何數(shù)據(jù)寄存器的任意一個(gè)位置置1,常用于標(biāo)志位的設(shè)定和清除,或者把某一管腳置成高電平。
指令范例:
BSF INTCON,GIE ;INTCON寄存器的GIE位置1,打開全局中斷
BSF PORTD,6 ;PORTD第6位輸出高電平
BTFSC 判斷數(shù)據(jù)寄存器中的指定位,為0則跳過(guò)下一條指令
語(yǔ)法形式:BTFSC f,b
操作數(shù):f為數(shù)據(jù)寄存器的低7位地址(0x00~0x7F)
b為數(shù)據(jù)位編號(hào)(0~7)
執(zhí)行時(shí)間:一個(gè)指令周期或兩個(gè)指令周期
執(zhí)行過(guò)程:如果數(shù)據(jù)寄存器f的b位為0,則跳過(guò)下一條指令
狀態(tài)標(biāo)志影響:無(wú)
說(shuō)明:該指令可以對(duì)數(shù)據(jù)寄存器的任意一位做0/1的判斷,如果數(shù)據(jù)位為1,程序?qū)错樞驁?zhí)行其下一條指令,此時(shí)一個(gè)指令周期;如果數(shù)據(jù)位為0,那么將跳過(guò)緊跟該指令之后的第一條指令,從第二條指令開始執(zhí)行,此時(shí)使用兩個(gè)指令周期。該指令最常用于按標(biāo)志位實(shí)現(xiàn)程序的分支跳轉(zhuǎn)的控制。
指令范例:
BTFSC STATUS,Z ;測(cè)試狀態(tài)寄存器的Z標(biāo)志
GOTO Zero ;如果Z=1,執(zhí)行此處指令
GOTO NotZero ;如果Z=0,執(zhí)行此處指令
BTFSS 判斷數(shù)據(jù)寄存器的指定位,為1則跳過(guò)下條指令
語(yǔ)法形式:BTFSS f,b
操作數(shù):f為數(shù)據(jù)寄存器的低7位地址(0x00~0x7F)
b為數(shù)據(jù)位編號(hào)(0~7)
執(zhí)行時(shí)間:一個(gè)指令周期或兩個(gè)指令周期
執(zhí)行過(guò)程:如果數(shù)據(jù)寄存器f的b位為1,則跳過(guò)下一條指令
狀態(tài)標(biāo)志影響:無(wú)
說(shuō)明:該指令可以對(duì)數(shù)據(jù)寄存器的任意一位做0/1的判斷,如果數(shù)據(jù)位為0,程序?qū)错樞驁?zhí)行其下一條指令,此時(shí)一個(gè)指令周期;如果數(shù)據(jù)位為1,那么將跳過(guò)緊跟該指令之后的第一條指令,從第二條指令開始執(zhí)行,此時(shí)使用兩個(gè)指令周期。該指令最常用于按標(biāo)志位實(shí)現(xiàn)程序的分支跳轉(zhuǎn)的控制。
指令范例:
BTFSS PORTB,7 ;測(cè)試PORTB端口,位7
GOTO RB7_Low ;如果RB7=0,執(zhí)行此處指令
GOTO RB7_High ;如果RB7=1,執(zhí)行此處指令
評(píng)論