新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARMv8指令學習(1)

        ARMv8指令學習(1)

        作者: 時間:2016-11-10 來源:網絡 收藏
        1. TBNZ / TBZ / CBZ / CBNZ

        (1) TBNZ x0, #uimm6, label

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

        Test and branch Not zero.

        如果x0[uimm6]!=0 , then jump to label位置處執行.

        (2) TBZ x0, #uimm6, label

        Test and branch Zero.

        如果x0[uimm6]==0 , then jump to label位置處執行.

        (3) CBZ x0, label

        Compare and Branch Zero

        如果x0==0 , then jump to label位置處執行

        (4) CBNZ x0, label

        Compare and branch Not zero.

        如果x0 !=0 , then jump to label位置處執行

        2. LDUR / LDURB / LDURSB / LDURH / LDURSH / LDURSW / STUR / STURB / STURH

        它們都屬于Load-Store Single Register(unscaledoffset)

        unscaled offset : 指的是"Base addr + 一個立即數"

        (1) ldur x0,[base,#simm9]

        x0 = [base+simm9]指向的內容

        (2) ldurb w0,[base,#simm9]

        從 [base+simm9]指向的內容中:取出一個byte,賦給w0.

        w0中的其它字節:用0擴展得到.

        (3) ldursb w0,[base,#simm9]

        從 [base+simm9]指向的內容中:取出一個byte,賦給w0.

        w0中的其它字節:用此byte的符號位擴展得到.

        (4) ldurh

        類似ldurb,不過:這次取halfword(2 bytes)

        (5) ldursh

        類似ldursb,不過:這次取halfword(2 bytes)

        (6) ldursw

        類似ldursb,不過:這次取word(4 bytes)

        (7) stur x0,[base,#simm9]

        把x0保存到[base+#simm9]指向的內存位置

        (8) sturb x0,[base,#simm9]

        把x0中的一個byte,保存到[base+#simm9]指向的內存位置

        (9) sturh x0,[base,#simm9]

        把x0中的一個half-word(2 bytes),保存到[base+#simm9]指向的內存位置



        關鍵詞: ARMv8指令學

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 永昌县| 饶阳县| 项城市| 宜良县| 桦甸市| 雷州市| 建昌县| 老河口市| 福泉市| 米泉市| 新巴尔虎左旗| 临城县| 聂拉木县| 嘉黎县| 离岛区| 岳池县| 元阳县| 仁寿县| 泰宁县| 河北区| 麻江县| 桂阳县| 濉溪县| 尼勒克县| 宕昌县| 隆回县| 吐鲁番市| 玉门市| 海阳市| 宝鸡市| 南通市| 梅州市| 澳门| 兴国县| 武夷山市| 柞水县| 陵川县| 商河县| 长沙市| 江永县| 微山县|