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

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 一、簡(jiǎn)介:定義: ARM 指令集:ARM處理器能夠運(yùn)行的命令的集合。特點(diǎn):所有ARM指令均為32-bits長(zhǎng)大部分為單周期指令 1T所有指令都可以條件執(zhí)行采用 Load/Store 架構(gòu) --- load/store指令 mov r1

一、簡(jiǎn)介:

定義:

ARM 指令集:ARM處理器能夠運(yùn)行的命令的集合。

特點(diǎn):

  1. 所有ARM指令均為32-bits長(zhǎng)

  2. 大部分為單周期指令 1T

  3. 所有指令都可以條件執(zhí)行

  4. 采用 Load/Store 架構(gòu) --- load/store指令

mov r1,100 @ r1 =*(100) 把內(nèi)存地址為100的單元格里的內(nèi)容賦值給r1,ARM指令 不支持

mov r1,#100 @ r1=100

二、數(shù)據(jù)處理指令:1. 指令:
  • 算術(shù)指令: ADD ADC SUB SBC RSB RSC

  • 邏輯指令: AND ORR EOR BIC

  • 比較指令: CMP CMN TST TEQ

  • 數(shù)據(jù)搬移: MOV MVN

加法指令 ADD R1,R2,R3 R1 = R2 + R3

帶進(jìn)位加法 ADC R1,R2,R3 R1 = R2 + R3 + C

減法指令 SUB R1,R2,R3 R1 = R2 - R3

逆向減法 RSBR1,R2,R3 R1 = R3 - R2

帶借位減法 SBC R1,R2,R3 R1 = R2 - R3 - !C

帶借位逆減法 SBC R1,R2,R3 R1 = R3 - R2 - !C

邏輯與指令 AND R0,R0,#0X0F &

邏輯或指令 ORR R0,R0,#0X0F |

邏輯異或 AND R0,R0,#0X0F ^

位清除 BIC R0,R0,#9 R0 = R0 & (~#9)

比較指令 CMP R1,#10 cpsr = R1 - 10

反值比較指令 CMN R1,R2 cpsr = R1 + R2

位測(cè)試指令 TST R1,#3 cpsr = R1 & 3

相等測(cè)試 TEQ R1,R2 cpsr = R1 ^ R2

數(shù)據(jù)傳輸 MOV R1,R2 R1 = R2

數(shù)據(jù)取反傳輸 MVNR1,R2 R1 = R2

2. 條件碼:判斷指令是否執(zhí)行的依據(jù)
  • EQ 相等

  • NE 不相等

  • GE 大于等于

  • LE 小于等于

  • GT 大于

  • LT 小于

3. 指令如何執(zhí)行 :
  1. 指令后面沒(méi)有條件碼: 執(zhí)行

  2. 指令后面有條件碼 :

首先判斷條件碼是否成立,CPSR條件位和條件碼標(biāo)志

成立 -- 指令執(zhí)行

不成立 --- 指令不執(zhí)行

cmp r1,#3 @ r1- 3 ,結(jié)果影響了CPSR的條件位 結(jié)果為0,Z=1 結(jié)果不為0,Z=0

addeq r2 ,r1,r1 z=1,eq條件碼成立; z=0,eq條件碼不成立

4. 條件位的影響:

1-- 默認(rèn)所有的指令,不會(huì)影響CPSR寄存器的條件位nzcv

除了比較指令: 比較指令:CMP CMN TST TEQ

1-- 通過(guò)指令后面加S,指令的執(zhí)行就肯定會(huì)影響nzcv位

例子:

if (a==4 || a==10) --> cmp r4,#4

x=0; cmpne r4,#10

moveq r5,#0

四、跳轉(zhuǎn)指令:

Branch :B{} label

Branch with Link :BL{} subroutine_label

相對(duì)跳轉(zhuǎn):

pc'= pc +偏移量

跳轉(zhuǎn)范圍:

± 32 Mbyte

五、交換指令:

(1)指令功能:在寄存器和存儲(chǔ)器之間,由一次存儲(chǔ)器讀和一次存儲(chǔ)器寫(xiě)組成的原子操作。

(原子操作表示,在操作的時(shí)候不能被別的程序打斷)

一條指令完成了內(nèi)存單元和寄存器的數(shù)據(jù)交換

swp(字交換):相當(dāng)于

temp = *(Rn)

*(Rn)= Rm

Rd = temp

是32位的操作

swpb(字節(jié)交換):也同上邊,只是操作的是8位的數(shù)據(jù)

將內(nèi)存中的一個(gè)字節(jié)單元和一個(gè)指定寄存器的低8位相交換。

(2)信號(hào)量操作

(3)注意:

不能通過(guò)寫(xiě)c語(yǔ)言程序?qū)崿F(xiàn)該指令

只能通過(guò)手寫(xiě)匯編

六、軟中斷指令:

(1)指令功能:引起異常,系統(tǒng)調(diào)用

(2)指令格式:

SWI{}

七、PSR 傳送指令:

(1)指令功能:CPSR寄存器不允許數(shù)據(jù)處理指令直接操作,只能由PSR寄存器操作

(2)指令格式:

MRS{} Rd,cpsr @ Rd = cpsr

MSR{} ,Rm @ cpsr = Rm

八、協(xié)處理器指令:

協(xié)處理器寄存器傳送指令

MRC:從協(xié)處理器寄存器移到ARM 寄存器

MCR:從 ARM 寄存器移到協(xié)處理器寄存器


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