位操作指令胪陈
BCF 数据寄存器指定位清0
语法方式:BCF f,b
操作数:f为数据寄存器的低7位地址(0x00~0x7F)
B为数据位编号(0~7)
履行时间:一个指令周期
履行进程:使数据寄存器f的的b位清0
状况标志影响:无
阐明:该指令可对任何数据寄存器的恣意一个方位清0,常用于标志位的设定和铲除,或许把某一管脚置成低电平。
指令典范:BCF STATUS,C ;进位(借位)标志C清0
BCF PORTD,7 ;PORTD的第7位输出低电平
BSF 数据寄存器的指定位b置1
语法方式:BSF f,b
操作数:f为数据寄存器的低7位地址(0x00~0x7F)
b为数据位编号(0~7)
履行时间:一个指令周期
履行进程:使数据寄存器f的的b方位1
状况标志影响:无
阐明:该指令可对任何数据寄存器的恣意一个方方位1,常用于标志位的设定和铲除,或许把某一管脚置成高电平。
指令典范:
BSF INTCON,GIE ;INTCON寄存器的GIE方位1,翻开大局中止
BSF PORTD,6 ;PORTD第6位输出高电平
BTFSC 判别数据寄存器中的指定位,为0则越过下一条指令
语法方式:BTFSC f,b
操作数:f为数据寄存器的低7位地址(0x00~0x7F)
b为数据位编号(0~7)
履行时间:一个指令周期或两个指令周期
履行进程:假如数据寄存器f的b位为0,则越过下一条指令
状况标志影响:无
阐明:该指令能够对数据寄存器的恣意一位做0/1的判别,假如数据位为1,程序将按次序履行其下一条指令,此刻一个指令周期;假如数据位为0,那么将越过紧跟该指令之后的第一条指令,从第二条指令开端履行,此刻运用两个指令周期。该指令最常用于按标志位完成程序的分支跳转的操控。
指令典范:
BTFSC STATUS,Z ;测验状况寄存器的Z标志
GOTO Zero ;假如Z=1,履行此处指令
GOTO NotZero ;假如Z=0,履行此处指令
BTFSS 判别数据寄存器的指定位,为1则越过下条指令
语法方式:BTFSS f,b
操作数:f为数据寄存器的低7位地址(0x00~0x7F)
b为数据位编号(0~7)
履行时间:一个指令周期或两个指令周期
履行进程:假如数据寄存器f的b位为1,则越过下一条指令
状况标志影响:无
阐明:该指令能够对数据寄存器的恣意一位做0/1的判别,假如数据位为0,程序将按次序履行其下一条指令,此刻一个指令周期;假如数据位为1,那么将越过紧跟该指令之后的第一条指令,从第二条指令开端履行,此刻运用两个指令周期。该指令最常用于按标志位完成程序的分支跳转的操控。
指令典范:
BTFSS PORTB,7 ;测验PORTB端口,位7
GOTO RB7_Low ;假如RB7=0,履行此处指令
GOTO RB7_High ;假如RB7=1,履行此处指令