<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC16F 8位單片機(jī)匯編指令集

          PIC16F 8位單片機(jī)匯編指令集

          作者: 時(shí)間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
          1。ADDWF f, d,f寄存器內(nèi)容與W寄存器相加,d=1時(shí)結(jié)果放在f,d=0是結(jié)果在W,影響STATUS的C,DC和Z標(biāo)志。該條指令影響的狀態(tài)與MCS51一致,有進(jìn)位時(shí)C=1,有半進(jìn)位時(shí)DC=1;否則相反。結(jié)果為0時(shí)Z標(biāo)志置位。
          2。 ANDWF f, d,f寄存器內(nèi)容與W寄存器相與,d=1時(shí)結(jié)果回存至f,d=0時(shí)結(jié)果存至W,結(jié)果影響STATUS的Z標(biāo)志位。
          3。CLRF ( CLEAR File Register), 清空頁寄存器,STATUS的Z標(biāo)志位置位
          4。CLRW (CLEAR WREG),清空W寄存器,STATUS的Z標(biāo)志位置位,可以用MOVLW 0H等同使用
          5。COMF f, d,f寄存器內(nèi)容取反,d=1時(shí)結(jié)果存至f寄存器,d=0時(shí)結(jié)果存至W寄存器。影響Z標(biāo)志位。
          6。DECF f, d,f寄存器內(nèi)容自減1,d=1時(shí)結(jié)果存放于f;d=0時(shí)結(jié)果存放于w,影響STATUS的Z標(biāo)志位。
          7。DECFSZ f, d f寄存器內(nèi)容自減1,為0則跳行,d=1時(shí)結(jié)果在f寄存器;d=0時(shí)結(jié)果在W寄存器。不影響標(biāo)志位。
          8。INCF f, d,f寄存器內(nèi)容自加1,d=1時(shí)結(jié)果回存至f,d=0時(shí)結(jié)果在W。影響Z標(biāo)志位。
          9。INCFSZ f, d,f寄存器內(nèi)容自加1,結(jié)果為0則跳行。d=1時(shí)結(jié)果回存至f;d=0時(shí)結(jié)果存至W寄存器。該指令不影響標(biāo)志位。
          10。IORWF f, d,f寄存器內(nèi)容與W寄存器相或,d=1時(shí)結(jié)果回存至f,d=0時(shí)結(jié)果存至W,結(jié)果影響STATUS的Z標(biāo)志位。
          11。MOVF f, d,當(dāng)d=1時(shí),f寄存器內(nèi)容不變,d=0時(shí)f寄存器內(nèi)容復(fù)制到W寄存器。當(dāng)d=1時(shí),只改變Z標(biāo)志位,可以用與判斷f寄存器內(nèi)容是否為0。
          12。MOVWF , f (MOVE WREG to File Register),很常用的一條指令,將W寄存器的內(nèi)容保存到RAM中去
          13。NOP,沒什么可說的,空操作而已,但是確實(shí)很常用的語句,短延時(shí)必須的。
          14。RLF f, d,循環(huán)左移指令,f的最高位移到C,原來C的內(nèi)容移到f的最低位。與MSC51的循環(huán)左移指令功能一致。結(jié)果影響C標(biāo)志。
          15。RRF f, d, 循環(huán)右移指令,f的最低位移到C,原來C的內(nèi)容移到f的最高位。與MCS51的循環(huán)右移指令功能一致。結(jié)果影響C標(biāo)志。
          16。SUBWF f, d ,f-W結(jié)果存放取決于d,當(dāng)d=1時(shí)結(jié)果存在f里,0時(shí)存在W里,指令影響STATUS的C、DC、Z標(biāo)志位,有借位時(shí)C=0,有半借位時(shí)DC=0;無借位和半借位時(shí)真好相反。這點(diǎn)與MCS51系列的單片機(jī)有些不同,用時(shí)需注意。當(dāng)兩數(shù)相等時(shí)Z=1。
          17。SWAWF f, d, 字節(jié)交換指令,f的高低字節(jié)交換,結(jié)果不影響標(biāo)志位。該條指令在中斷斷點(diǎn)保存和恢復(fù)中很重要,而且只能使用該指令。在下篇將給出介紹。
          18。XORWF f, d,f寄存器內(nèi)容與W寄存器異或,d=1時(shí)結(jié)果存至f,d=0時(shí)結(jié)果存至W,影響STATUS的Z標(biāo)志位,該條指令我常用來比較是否與一個(gè)數(shù)相等,利用同0異1的原理。
          19。BCF f, b,清零f寄存器的第b位。指令不影響任何標(biāo)志位,四條位操作指令在程序設(shè)計(jì)中有極其重要的作用,被廣泛應(yīng)用。
          20。BSF f, b,置位f寄存器的第b位。指令不影響任何標(biāo)志位。
          21。BTFSCf, b,測(cè)試f寄存器的第b位,為0則跳行,指令不影響任何標(biāo)志位。
          22。BTFSS f, b,測(cè)試f寄存器的第b位,為1則跳行,指令不影響任何標(biāo)志位。
          23。ADDLW k,W加立即數(shù)k,結(jié)果在W寄存器內(nèi),有進(jìn)位,半進(jìn)位時(shí)C,DC為1,否則0;結(jié)果為0時(shí)Z=1。
          24。ANDLW k,W與立即數(shù)k相與,結(jié)果在W寄存器,影響Z標(biāo)志位。
          25。CALL k,調(diào)用子程序,k為子程序的入口地址,不影響任何標(biāo)志位,但是改指令執(zhí)行需要兩個(gè)指令周期,因?yàn)樵谔D(zhuǎn)之前需要保存當(dāng)前得返回地址。
          26。CLRWDT看門狗定時(shí)器清0,影響STATUS寄存器的TO和PD標(biāo)志位。兩個(gè)標(biāo)志位均置位。
          27。GOTO k,跳轉(zhuǎn)到指定地址處,不影響標(biāo)志位。雙周期指令。
          28。IORLW k,W寄存器與立即數(shù)k相或,結(jié)果在W寄存器,影響Z標(biāo)志位。
          29。MOVLW k,立即數(shù)k賦給W寄存器,不影響標(biāo)志位。
          30。RETFIE,中斷返回指令,沒啥說的。中斷服務(wù)程序最后一句。
          31。RETLW k,立即數(shù)k送W寄存器,子程序返回,該條指令很特別哈,也比較有意思的餓,查表必用。
          32。RETURN,子程序返回指令。
          33。SLEEP,進(jìn)入休眠模式。影響STATUS的TO和PD標(biāo)志位,TO=1,PD=0。
          34。SUBLW, k,立即數(shù)減去W,結(jié)果在W寄存器,標(biāo)志位影響與SUBWF指令一致,不再贅述。
          35。XORLW k,立即數(shù)k與W寄存器異或,結(jié)果在W寄存器,影響Z標(biāo)志位。


          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();