国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩


ARM數(shù)據(jù)處理指令尋址方式

分享到:
           

    ARM指令集可以分為跳轉(zhuǎn)指令、數(shù)據(jù)處理指令、程序狀態(tài)寄存器傳輸指令、Load/Store指令、協(xié)處理器指令和異常中斷產(chǎn)生指令。根據(jù)使用的指令類型不同,指令的尋址方式分為數(shù)據(jù)處理指令尋址方式和內(nèi)存訪問指令尋址方式。本文主要介紹一下ARM數(shù)據(jù)處理指令尋址方式。

    數(shù)據(jù)處理指令的基本語法格式如下:

    <opcode> {<cond>} {S} <Rd>,<Rn>,<shifter_operand>

    其中,<shifter_operand>有11種形式,如表1-1所示。

表1-1   <shifter_operand>的尋址方式

語  法 尋 址 方 式
1 #<immediate> 立即數(shù)尋址
2 <Rm> 寄存器尋址
3 <Rm>, LSL #<shift_imm> 立即數(shù)邏輯左移
4 <Rm>, LSL <Rs> 立即數(shù)邏輯左移
5 <Rm>, LSR #<shift_imm> 立即數(shù)邏輯右移
6 <Rm>, LSR <Rs> 寄存器邏輯右移
7 <Rm>, ASR #<shift_imm> 立即數(shù)算術(shù)右移
8 <Rm>, ASR <Rs> 寄存器算術(shù)右移
9 <Rm>, ROR #<shift_imm> 立即數(shù)循環(huán)右移
10 <Rm>, ROR <Rs> 寄存器循環(huán)右移
11 <Rm>, RRX 寄存器擴(kuò)展循環(huán)右移

    數(shù)據(jù)處理指令尋址方式可以分為以下幾種。

    (1)立即數(shù)尋址方式;
    (2)寄存器尋址方式;
    (3)寄存器移位尋址方式。

    1.立即數(shù)尋址方式

    指令中的立即數(shù)是由一個8bit的常數(shù)移動4bit偶數(shù)位(0,2,4,…,26,28,30)得到的。所以,每一條指令都包含一個8bit的常數(shù)X和移位值Y,得到的立即數(shù) = X循環(huán)右移(2×Y)。如圖1-1所示


圖1-1 立即數(shù)表示方法

    下面列舉了一些有效的立即數(shù):
    0xFF、0x104、0xFF0、0xFF00、0xFF000、0xFF000000、0xF000000F

    下面是一些無效的立即數(shù):
    0x101、0x102、0xFF1、0xFF04、0xFF003、0xFFFFFFFF、0xF000001F

    下面是一些應(yīng)用立即數(shù)的指令:

    MOV R0,#0             ;送0到R0
    ADD R3,R3,#1          ;R3的值加1
    CMP R7,#1000          ;R7的值和1000比較
    BIC R9,R8,#0xFF00     ;將R8中8~15位清零,結(jié)果保存在R9中

    2.寄存器尋址方式

    寄存器的值可以被直接用于數(shù)據(jù)操作指令,這種尋址方式是各類處理器經(jīng)常采用的一種方式,也是一種執(zhí)行效率較高的尋址方式,如:

    MOV R2,R0         ;R0的值送R2
    ADD R4,R3,R2       ;R2加R3,結(jié)果送R4
    CMP R7,R8         ;比較R7和R8的值

    3.寄存器移位尋址方式

    寄存器的值在被送到ALU之前,可以事先經(jīng)過桶形移位寄存器的處理。預(yù)處理和移位發(fā)生在同一周期內(nèi),所以有效地使用移位寄存器,可以增加代碼的執(zhí)行效率。

    下面是一些在指令中使用了移位操作的例子:

    ADD  R2,R0,R1,LSR  #5
    MOV  R1,R0,LSL  #2
    RSB  R9,R5,R5,LSL  #1
    SUB  R1,R2,R0,LSR  #4
    MOV  R2,R4,ROR  R0

    華清遠(yuǎn)見課程推薦:ARM開發(fā)培訓(xùn)班(FSATC1001)本課程在涵蓋了ARM公司授權(quán)培訓(xùn)課程全部內(nèi)容基礎(chǔ)上,結(jié)合項(xiàng)目實(shí)際,進(jìn)一步增加了更多豐富的實(shí)用內(nèi)容,例如ARM接口開發(fā),從零編寫bootloader引導(dǎo)Linux系統(tǒng),大約占全部課程的40%內(nèi)容,這些內(nèi)容不僅為其他課程打下堅實(shí)基礎(chǔ),而且可以使學(xué)員具備更強(qiáng)的實(shí)際動手能力,更貼近企業(yè)用人需求。本課程的升級同時得到了ARM公司的首肯和大力支持。


   熱點(diǎn)鏈接:

   1、ARM處理器是什么
   2、ARM Cortex A9處理器好嗎

更多新聞>>