新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM 匯編中的立即數

        ARM 匯編中的立即數

        作者: 時間:2016-11-10 來源:網絡 收藏
        ARM 匯編中對匯編指令被編碼成 32bit 的機器碼,其中對于立即數尋址的指令,其機器碼構成如下:

        31 28 | 27 26 25 | 24 21 | 20 | 19 16 | 15 12 | 11 8 | 7 0 |

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

        cond | 0 0 1 | opcode | S | Rn | Rd | rotate_imm | immed_8 |

        規定 0~11 位表示 shift operand,表示立即數時, #immediate 由這兩部分構成:

        immediate = immed_8 >> (rotate_imm*2)

        也就是說只有滿足上述構成條件的立即數才是合法的操作數,那么以下立即數

        0x101,0x102,0xFF1,0xFF04,0xFF003,0xFFFFFFFF,0xF000001F

        都是非法的!!編譯器編譯的時候會出現如下警告

        error A0092: no immediate rotate operand can be created

        看來想實現上面的一個立即數,只能通過好幾條指令來實現了!



        關鍵詞: ARM匯編立即

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 郧西县| 会理县| 望谟县| 夏河县| 合水县| 禄劝| 淮阳县| 古田县| 汉中市| 灵石县| 瓦房店市| 阿瓦提县| 公安县| 象州县| 青神县| 甘德县| 林芝县| 廉江市| 梅州市| 灌云县| 桐城市| 宜丰县| 普兰店市| 十堰市| 柘城县| 大余县| 兴隆县| 耿马| 中牟县| 阜城县| 富源县| 烟台市| 博白县| 垣曲县| 三门峡市| 雅安市| 高邑县| 牡丹江市| 离岛区| 湾仔区| 夏河县|