新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM條件執行指令

        ARM條件執行指令

        作者: 時間:2016-11-21 來源:網絡 收藏
        1. 畫出下面程序的流程圖。并利用條件執行指令,簡化程序:




        CMP R0, #10
        BEQ ROUTINE
        ADD R1,R1,R0
        SUB R1,R1,R2
        ROUTINE
        ...

        2.ARM匯編實現C語言中的語句
        (1)
        If((R0= =R1)&&(R2= =R3))
        R4++;
        (2)
        int gcd(int a, int b)
        {
        while(a!=b)
        {
        if(a>b)
        a=a-b;
        else
        b=b-a;
        }
        return a;
        }
        (3)利用條件執行的思想計算n! (exp7.4.s)
        AREA factorial,CODE,READONLY
        ENTRY
        START
        MOV R2,#0xA
        MOV R1,R2
        LOOP
        ;遞減R2并更新狀態標志
        ;乘,注意結果寄存器應該與源寄存器不同
        ;保存乘積,準備下一次計算
        BNE LOOP
        STOP
        B STOP
        END


        1. CMP R0,#10
        ADDNE R1,R1,R0
        SUBNE R1,R1,R2

        Y



        2. CMP R0,R1
        CMPEQ R2,R3
        ADDEQ R4,R4,#1


        3.
        答案一
        GDC
        CMP R0,R1
        BEQ END
        BLT LESS
        SUB R0,R0,R1
        B GDC
        LESS
        SUB R1,R1,R0
        B GDC
        END 。。。

        答案二
        GDC
        CMP R0,R1
        BEQ END
        SUBLT R1,R1,R0
        SUBGE R0,R0,R1
        B GDC
        END 。。。

        4.
        答案一
        SUBS R2,R2,#0x1
        MULNE R0,R1,R2
        MOVNE R1,R0


        答案二
        SUBS R2,R2,#0x1
        MUL R0,R1,R2
        MOV R1,R0
        CMP R2,#1
        BNE LOOP


        關鍵詞: ARM條件執行指

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 剑阁县| 普兰县| 灯塔市| 商城县| 乌审旗| 台北市| 灵丘县| 漳平市| 呈贡县| 台安县| 仙居县| 万安县| 安化县| 崇阳县| 南京市| 樟树市| 清流县| 辉县市| 新巴尔虎右旗| 韶山市| 招远市| 河北省| 镇巴县| 耒阳市| 东光县| 屏山县| 新密市| 石泉县| 繁峙县| 沙坪坝区| 和龙市| 高青县| 富源县| 阿拉善盟| 南康市| 崇义县| 洛宁县| 永福县| 和平县| 广水市| 新邵县|