在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC中檔單片機(jī)匯編指令詳解(3)

            PIC中檔單片機(jī)匯編指令詳解(3)

            作者: 時(shí)間:2016-11-19 來(lái)源:網(wǎng)絡(luò) 收藏
            ADDWF W寄存器內(nèi)容和f數(shù)據(jù)寄存器內(nèi)容相加

            語(yǔ)法形式:ADDWF f,d

            本文引用地址:http://www.biyoush.com/article/201611/318558.htm

            操作數(shù):f為數(shù)據(jù)寄存器的低7位地址(0x00~0x7F)

            d為目的寄存器的低7位地址(0x00~0x7F)

            當(dāng)d=f時(shí),結(jié)果放在f數(shù)據(jù)寄存器,W寄存器的內(nèi)容不變

            當(dāng)d=W時(shí),結(jié)果放在W寄存器中,f數(shù)據(jù)寄存器的內(nèi)容不變

            執(zhí)行時(shí)間:一個(gè)指令周期

            執(zhí)行過(guò)程:【f】+【W(wǎng)】→d

            狀態(tài)標(biāo)志影響:Z DC C

            說(shuō)明:數(shù)據(jù)寄存器內(nèi)容和W寄存器內(nèi)容相加,結(jié)果放入d指定的地方

            指令范例:

            MOVLW 0x55 ;W=0x55,假定Sum=0xAA

            ADDWF Sum,f ;W不變,Sum=0xFF

            MOVF 傳送f數(shù)據(jù)寄存器的內(nèi)容到目的寄存器

            語(yǔ)法形式:MOVF f,d

            操作數(shù):f為數(shù)據(jù)寄存器的低7位地址(0x00~0x7F)

            d為目的寄存器的低7位地址(0x00~0x7F)

            當(dāng)d=f時(shí),把數(shù)據(jù)寄存器的內(nèi)容放回自己本身,目的用于判斷數(shù)據(jù)寄存器的內(nèi)容是否為0。

            當(dāng)d=W時(shí),結(jié)果放在W寄存器中,將數(shù)據(jù)寄存器f的內(nèi)容傳送至W寄存器

            執(zhí)行時(shí)間:一個(gè)指令周期

            執(zhí)行過(guò)程:【f】→d

            狀態(tài)標(biāo)志影響:Z

            說(shuō)明:將數(shù)據(jù)寄存器的內(nèi)容傳送至它處,或者對(duì)f數(shù)據(jù)寄存器的內(nèi)容做判0操作,如果傳送的數(shù)據(jù)是0,則置位Z標(biāo)志。

            指令范例:

            例1:數(shù)據(jù)傳送

            MOVF Var1,W ;Var1內(nèi)容傳送至W寄存器

            MOVWF Var2 ;W寄存器內(nèi)容傳送至Var2,此時(shí)Var1=Var2

            例2:數(shù)據(jù)判0

            MOVF Var3,f ;Var3寄存器內(nèi)容被送往自身,其他寄存器內(nèi)容不變,但是影 響Z標(biāo)志

            BTFSC STATUS,Z ;如果Var3不等于0,則跳過(guò)下一條指令

            GOTO Var3Zero ;如果Var3等于0,則轉(zhuǎn)向其他操作

            COMF f數(shù)據(jù)寄存器內(nèi)容取反

            語(yǔ)法形式:COMF f,d

            操作數(shù):f為數(shù)據(jù)寄存器的低7位地址(0x00~0x7F)

            d為目的寄存器的低7位地址(0x00~0x7F)

            當(dāng)d=f時(shí),結(jié)果放在f數(shù)據(jù)寄存器,W寄存器的內(nèi)容不變

            當(dāng)d=W時(shí),結(jié)果放在W寄存器中,f數(shù)據(jù)寄存器的內(nèi)容不變

            執(zhí)行時(shí)間:一個(gè)指令周期

            執(zhí)行過(guò)程:!【f】→d

            狀態(tài)標(biāo)志影響:Z

            說(shuō)明:求數(shù)據(jù)寄存器內(nèi)容的反碼,求一個(gè)數(shù)的補(bǔ)碼可以使用這個(gè)指令完成(按位求反再加一)

            指令范例:

            COMF num,f ;對(duì)num變量取反碼

            INCF num,f ;反碼加1就是其補(bǔ)碼

            DECFSZ 數(shù)據(jù)寄存器內(nèi)容遞減1,并作判0標(biāo)志

            語(yǔ)法形式:DECFSZ f,d

            操作數(shù):f為數(shù)據(jù)寄存器的低7位地址(0x00~0x7F)

            d為目的寄存器的低7位地址(0x00~0x7F)

            當(dāng)d=f時(shí),結(jié)果放在f數(shù)據(jù)寄存器,W寄存器的內(nèi)容不變

            當(dāng)d=W時(shí),結(jié)果放在W寄存器中,f數(shù)據(jù)寄存器的內(nèi)容不變

            執(zhí)行時(shí)間:一個(gè)指令周期或兩個(gè)指令周期

            執(zhí)行過(guò)程:【f】-1→d

            狀態(tài)標(biāo)志影響:Z

            說(shuō)明:該指令將首先將f數(shù)據(jù)寄存器的內(nèi)容做減1運(yùn)算,結(jié)果放到d指定的目的地址內(nèi),同時(shí)它還會(huì)對(duì)Z標(biāo)志進(jìn)行判0操作(進(jìn)行分支跳轉(zhuǎn)控制);如果f數(shù)據(jù)寄存器減1后結(jié)果非0,那么Z=0,程序?qū)㈨樞驁?zhí)行下一條指令,本次指令操作耗費(fèi)一個(gè)指令周期;如果結(jié)果為0,那么Z=1,此時(shí)程序?qū)?huì)跳過(guò)緊跟其后的第一條指令,去執(zhí)行緊跟其后的第二條指令,本次指令操作耗費(fèi)兩個(gè)指令周期。該指令常用于計(jì)數(shù)次數(shù)或者循環(huán)次數(shù)的控制。

            指令范例:

            MOVLW 0x10 ;準(zhǔn)備給循環(huán)計(jì)數(shù)器賦初值

            MOVWF Count ;此時(shí)循環(huán)計(jì)數(shù)器Count=0x10

            Loop:DECFSZ Count,f ;Count遞減1,結(jié)果放入Count中,并進(jìn)行Z標(biāo)志判 GOTO Loop ;斷,如果遞減后結(jié)果不為0,繼續(xù)執(zhí)行Loop操作, ;總共循環(huán)0x10(16進(jìn)制)次。

            NOP ;如果遞減后結(jié)果為0,就跳到這條指令



            評(píng)論


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

            關(guān)閉