2、只要相同就为真XORWFF,D;F内容与W内容异或 F⊕W→D,位异或,影响Z位即是只要相异就为真0⊕1=1 和1异或则取反 0⊕0=0 和0异或则保持不变1⊕1=0 1⊕0=1面向常数ADDLWK;常数加法指令,8位立即数和W内容相加,结果存入W K+W→W,影响C,DC,ZSUBLWK;8位立即数减掉W内容,存入W,K-W→W,影响C,DC,ZANDLWK;常数逻辑与 K∧W→W影响ZIORLWK;常数逻辑或 K∨W→W影响ZXORLWK;常数逻辑异或 K⊕W→W影响ZCLRW;寄存器W被
3、清零CLRWDT;看门狗定时器清零(若已赋值,同时清零预分频器)CLRFF;寄存器F清零指令BCF F,b;把寄存器F的第b位清零BitClearFMOVLWK;传送立即数(或常数,标号)至工作寄存器WMOVELiteraltoWTRISF;把W的内容送I/O口控制寄存器FLoadTRISRegisterMOVWF;是MOVEW的内容TOF,(W内容保持不变), 如MOVWF6(F6表示RB口)MOVFF,D;D=0,F内容送W.D=1,F内容送寄存器NOP;空操作,PC加1,占用一个机器周期GOTOK;无条件跳转指
4、令,将指令转移到指定地址,“K"常与程序中的标号联系起来。DECFSZF,D;寄存器内容减1存入W(D=0)或F(D=1)中,若指令执行结果减1不为零,指令顺序执行 ;为零时,就间跳下一条指令后再执行(等效顺序执行一条空指令NOP).实际指令中, ;当D=1时该项常略去。Decrementf,Skipofnot0INCFSZF,D;F内容加1,结果不为零则顺序执行,为零则指令间跳执行。 (FF+1就会变为0)RETLWK;(带立即数的)子程序返回指令,该指令代表子程序返回,返回前先把8位立即数送WSWAP
5、FF,D;寄存器F的高4位与低4位交换,结果存入W(D=0)或F(D=1)中。 用于中断现场保护。CALLK;子程序调用指令,K为立即数地址,不同型号芯片的实现方法不尽相同,其共同点是首先将返回地址((PC)+1)压栈保护,再转入所调用的子程序入口地址执行(MCS-51相似)COMFF,D;寄存器内容取反指令(每一位都取反);寄存器F内容取反后送入W(D=0)或F自身(D=1)BSFF,b;位置1指令,寄存器F的b位置1BitSetFBTFSCF,b;测试寄存器F位"b",如为0,跳过下一条指令,为1顺序执行(该指令
6、引用两个指令周期)BitTest,SkipifClearBTFSSF,b;位测试F(b)=1就间跳执行,如F(b)=0则顺序执行。BitTest,SkipifSetRLFF,D;将F寄存器带进位C循环左移,结果存入F本身(d=1)或W(d=0);RRFF,D;将F寄存器带C循环右移,结果存入F本身(d=1)或W(d=0);RETURN;子程序返回指令,将堆栈顶单元内容弹出并送入PC,从而返回主程序断点处。RETFIE;中断服务子程序返回指令,将堆栈顶单元内容弹出送入PC,从而返回主程序断点处,同时 将全局中断使能位
7、GIE置1,重新开放中断, 栈顶→PC,1→GIESLEEP;该指令执行后,单片机进入低功率睡眠模式,时基电路停振0→PD非,1→TO非,0→WDT,0→WDT预分频器,影响状态位TO非,PD非。PIC伪指令ORG 格式:<标号>ORG<地址表达式;ORG用于指定该伪指令后面的源程序存放的起始地址,也就是汇编后的目标机器码存放的首地址。ORG后面不带地址参数则默认为0;若ORG后面带标号则地址参数也赋值给该标号。在一个源程序中,可以根据需要多次使用ORG伪指令来定位。END;告诉MPASM结束对源程序(asm)
8、的汇编,即使后面还有语句,也不给予汇编。源程序必须 有END,而且只能有一个,且在程序最后。EQU格式:〈标号〉EQU<表达式> 给标号或寄存器赋值,标号一旦由EQU赋值,其值便不能再重新定义。LIST列表选择指令 格式: LIST<选择项>,...,<选择项> 用来设置各种汇编参数以控制汇编过程,或对列表文件进行格式化,此伪指