ARM體系結構與程式設計(一)

2021-10-19 17:17:29 字數 1180 閱讀 2206

第一章arm筆記:

arm晶元具有risc體系的一般特點。例如:

1)具有大量的暫存器

2)絕大多數操作都在暫存器中進行,通過load/store的體系結構在記憶體和暫存器之間傳遞資料。

3)定址方式簡單。

4)採用固定長度的指令格式。

除此外,還採用了保證高效能的同時,盡量減小晶元體積,減低晶元的功耗。這些技術包括:

1)同一條資料處理指令中包含算數邏輯處理單元處理和移位處理。

2)使用位址自動增加(減少)來優化程式中的迴圈處理。

3)load/store指令可以批量傳輸資料,從而提高了資料傳輸效率。

4)所有指令都可以根據前面指令執行的結果,來決定是否執行,以提高指令執行的效率。

arm體系的異常中斷:

通過三種方式控制程式的執行流程:

1)正常下,每一條arm指令,程式計數暫存器r15(pc)加四個位元組;thumb下加兩個位元組。

2)通過跳轉指令,程式跳到特定的位址標號處執行,或跳到特定的子程式處執行。b跳轉,bl跳轉同時儲存子程式返回位址,bx根據目標位址的最低位將程式狀態切換到thumb;blx執行三個,跳轉,儲存子程式返回位址,根據最低位切換thumb。

3)但異常中斷發生時,系統執行完當前指令後,將跳轉到相應的異常中斷處理程式處執行。完成異常處理程式後回到發生中斷的指令的下一條;進中斷處理函式前儲存執行現場,退出後要恢復現場。

異常中斷的種類:

第三章arm指令筆記:

資料處理指令的運算元的定址方式:立即數方式、暫存器、暫存器移位

字及無符號的load/store指令的定址方式:load從記憶體讀資料到暫存器、store將暫存器資料儲存到記憶體。

雜類load/store指令的定址方式

批量load/store指令的定址方式

協處理器load/store指令的定址方式

arm指令集分為6類:跳轉指令、資料處理指令、程式狀態暫存器(psr)傳輸指令、load/store指令、協處理器指令和異常中斷產生指令。

1)跳轉指令:b、bl(帶返回的跳轉指令r14)、blx、bx(帶狀態切換)

2)資料處理指令:mov、mvn(求反傳送)、cmp、cmn(基於相反數比較)、tst(位測試)、teq(相等測試)、add、sub、rsb(逆向減法)、adc(帶位加法)、sbc、rsc(帶位逆向減法)、and、bic(位清除 )、eoc、orr

新增鏈結描述

ARM體系結構與程式設計

arm處理器的7中執行模式 usr fiq irq svc abt und sys。arm處理器共37個暫存器 31個通用暫存器 未備份暫存器r0 r7,在全部模式下指的都是同乙個物理暫存器 備份暫存器r8 r12,每乙個暫存器相應兩個不同的物理暫存器。對於r13 sp 和r14 lr 來說,每乙個...

ARM體系結構與程式設計 1

arm處理器的7中執行模式 usr fiq irq svc abt und sys。arm處理器共37個暫存器 31個通用暫存器 未備份暫存器r0 r7,在所有模式下指的都是同乙個物理暫存器 備份暫存器r8 r12,每個暫存器對應兩個不同的物理暫存器。對於r13 sp 和r14 lr 來說,每個暫存...

ARM體系結構與程式設計 2

arm組合語言程式設計 arm組合語言源程式中的語句由指令 偽操作和巨集指令組成。arm指令已經在上一節介紹過了。arm偽操作和巨集指令分類 1 符號定義偽操作 gbla 宣告乙個全域性的算術變數,並將其初始化為0。語法 gbla variable gbll 宣告乙個全域性的邏輯變數,並將其初始化為...