新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機一些指令注意事項

        51單片機一些指令注意事項

        作者: 時間:2016-11-18 來源:網絡 收藏
        1,當使用push 指令時,如push acc

        這個時候,51完成操作是:sp+1->sp,(acc)->(sp), 也就是sp指向的地址中一定是有數據的

        本文引用地址:http://www.104case.com/article/201611/315831.htm

        由此可推出當執行pop acc時,應該是:

        (sp)->(acc),sp-1->sp

        2使用jc,jnc,jb,jnb;還有jz,jnz的區別

        jcrel;進位標志位為1則轉移

        jncrel;進位標志位位0則轉移

        jbbit,rel;直接尋址位為1則轉移

        jnbbit,rel;直接尋址位為0則轉移

        jzrel;累加器為0則轉移

        jnzrel;累加器為1則轉移

        從上面的指令中你可以看出,前兩個符合標準,也就是加上n后,是為0則轉移,不加n就是為1則轉移

        而最后一組,則是對累加器a來說的,也就是剛好和上面的反一下

        3,4種尋址方式:

        一:寄存器尋址方式

        mova,rn

        二:直接尋址方式

        mova,40h

        三:計算器間接尋址方式

        mova,@r1

        但是注意一點:以寄存器間接地址為目的操作數的指令:

        mov@rn,a;其中的前一項必須為r0-r7(即使是a也不行)

        四:立即數尋址方式

        mova,#40

        五:基址計算器加變址寄存器間接尋址方式

        movca,@a+dptr

        指令只有3條:

        movca,@a+dptr

        movca,@a+pc

        jmpa,@a+dptr

        六:位尋址方式

        movc,40h

        七:相對尋址方式:



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 五台县| 汝城县| 合作市| 绥德县| 温宿县| 福安市| 怀仁县| 嘉黎县| 乌恰县| 木兰县| 长葛市| 门头沟区| 德昌县| 天柱县| 通渭县| 噶尔县| 宣化县| 元江| 白河县| 宁陕县| 普宁市| 思茅市| 沂南县| 泰安市| 三河市| 嘉义县| 万山特区| 芒康县| 平江县| 土默特左旗| 宁德市| 习水县| 阿拉善盟| 陇西县| 东阳市| 凤山县| 永寿县| 莫力| 抚松县| 沾化县| 广饶县|