日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀] ARM7處理器有兩個指令集:32位的ARM指令集,16位的Thumb指令集。1>ARM指令集:效率高,代碼密度高2>Thumb指令集:具有較高的代碼密度。注:1.所有的ARM指令集都是有條件執(zhí)行的,而Thumb指令集僅有一條指

ARM7處理器有兩個指令集:32位的ARM指令集,16位的Thumb指令集。

1>ARM指令集:效率高,代碼密度高

2>Thumb指令集:具有較高的代碼密度。

注:

1.所有的ARM指令集都是有條件執(zhí)行的,而Thumb指令集僅有一條指令具備條件執(zhí)行功能。

2.ARM程序和Thumb程序可相互調用,相互之間的狀態(tài)切換開銷幾乎為零。

二.ARM處理器尋址方式

尋址方式是指根據指令中給出的地址碼字段來實現尋找真實操作數地址的方式。ARM7處理器總共有9中基本的尋址方式。

1.寄存器尋址

1>操作數的值存放在寄存器中,指令中的地址碼字段指出的是寄存器編號,指令執(zhí)行時直接取出寄存器值來操作。

2>MOVR1,R2

將R2寄存器中的值存放到R1寄存器中


3.寄存器移位尋址

1>操作數2先進行移位操作,然后再與第一個操作數進行操作。

2>MOVR0,R1,LSL #3

將R1的值左移三位,然后將結果放入R0中。等價于R0=R1*23

4.寄存器間接尋址

1>指令中的地址碼給出的是一個通用寄存器的編號,指令所需的操作數保存在寄存器指定地址的存儲單元中,即寄存器為操作數的地址指針。

2>LDRR1,[R2]

將R2指向的存儲單元中的數據讀出保存在R1中。

5.基址尋址

1>基址尋址就是將基址寄存器的內容與指令中給出的偏移量相加,形成操作數的有效地址。

2>基址尋址用于訪問基址附件的存儲單元,常用于查表和數組操作。

3>LDRR2,[R3,#0X0C]

讀取R3+0X0C地址處的數據存放到R2寄存器中。

6.多寄存器尋址

1>多寄存器尋址一次可傳送n個寄存器值,允許一條指令傳送16個寄存器的任何子集或所有寄存器。

2>LDMIAR1! ,{R2-R4,R6}

將R1和R1之后寄存器中的值讀出保存到R2-R4,和R6中。其中R1每次自加一。

7.堆棧尋址

1>堆棧尋址是隱含的,它使用一個專門的寄存器(堆指針)指向一塊存儲區(qū)域(堆棧)。指針所指向的存儲單元即是堆棧的棧頂。

2>存儲器堆??煞譃閮煞N

?向上生長:向高地址方向生長,稱為遞增堆棧。

?向下生長:向低地址方向生長,稱為遞減堆棧。

3>按堆棧指針的執(zhí)行順序分為

?滿堆棧:堆棧指針指向最后壓入堆棧的有效數據。

<即當有數據入堆棧時,棧頂指針先加一,然后數據入棧

?空堆棧:堆棧指針指向下一個待壓入數據的空位置。

<即當有數據入堆棧時,數據先入棧,然后棧頂指針在加一>

8.相對尋址

相對尋址是基址尋址的另一種形式。由程序計數器PC提供基準地址,指令中的地址碼字段作為偏移量,兩者相加后得到的地址即操作數的有效地址。

9.立即尋址

1>立即尋址中,操作碼字段后面的部分不是操作數地址而是操作數本身。

2>MOVR0,#0XAA

將立即數0XAA存放到寄存器R0中。


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉