日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ARM 汇编复习题

發布時間:2023/12/9 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ARM 汇编复习题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、選擇題

1. ARM屬于(A)

[A] RISC架構  [B] CISC架構

?

2. ARM指令集是(C )位寬,Thumb指令集是(B )位寬的。

[A] 8位  [B] 16位?????? [C] 32位??????? [D] 64位


3. ARM指令集是(D)字節對齊,Thumb指令集是(B)字節對齊的

[A] 1   [B] 2????? ?[C] 3????????? [D] 4


4.復位后,ARM處理器處于(B)模式,(D) 狀態

[A] User  [B] SVC??????? ?[C] System??????? ?[D] ARM???????? [E] Thumb


5. ARM處理器總共(E)個寄存器,System模式下使用(A)個寄存器,SVC模式下使用(B)個寄存器。

[A] 17個 [B] 18個???? [C] 32個?????? [D] 36個????????[E] 37個


6. ARM處理器中優先級別最高的異常為(E),( AC)異常可以用來相應中斷

[A] FIQ  [B] SWI??????? [C] IRQ??????? [D] SVC?????? [E] RESET


7. ARM數據處理指令中有效的立即數是(ACEGH)

[A] 0X00AB0000  [B] 0X0000FFFF???? ? ?[C ] 0XF000000F????? ?[D ] 0X08000012
[E] 0X00001F80?????? ?[F] 0XFFFFFFFF???? ? ?[G] 0 [H] 0XFF000000


8. ATPCS規定中,推薦子函數參數最大為(D) 個

[A] 1  [B] 2?????? [C ] 3??????? [D ] 4


9. ATPCS規定中,棧是(B)

[A] 滿加  [B] 滿減?????? [C] 空加?????? [D] 空減


10.在用ARM匯編編程是,其寄存器有多個別名,通常PC是指(D),LR是指(C ),SP是指(B)

[A] R12  [B] R13??????? [C] R14???????? ?[D] R15


11. CPSR寄存器中反映處理器狀態的位是(D)

[A] J位  [B] I位??????? [C] F位????????? [D] T位


12.下面屬于ARM子程序調用指令的是(C)

[A] B  [B] BX??????? [C ] BL?????? ?[D ] MOV


13. ARM7屬于(A)結構,ARM9屬于(B)結構。

[A] 馮.諾依曼????????? [B] 哈佛


14. ARM7是(B)級流水線,ARM9是(C)級流水線。

[A] 1 [B] 3???????[C] 5???????? [D] 7


15. ARM中可以訪問狀態寄存器的指令是(D),能夠訪問內存的指令是(B)

[A] MOV [B] LDR?????? [C] MCR???????? [D] MRS


16.異步串口中數據位可以是(ABCD)

[A] 5 ? [B] 6????? [C] 7????? ?[D] 8


17. I2C協議中有幾根線(B)

[A] 1  [B] 2???????? [C] 3???????? [D] 4


18. I2C協議中設備地址模式有(AC)

[A] 7位地址模式  [B] 8位地址模式????????? [C] 10位地址模式???????? [D] 4地址模式


19. S3C2410采用的是(D)核心

[A] ARM7TDMI  [B] ARM9TDMI??????? [C] ARM926EJ-S?????????? [D] ARM920T


20.在串行異步通訊中,發送端串口的TxD要和接收端串口的(B)相連接

[A] TxD  [B] RxD?????? ?[C] nCTS?????? ?[D] nRTS


21.在嵌入式系統設計中可以通過(B)來測量電池電壓,可以用(C)來驅動喇叭發聲

[A] DAC  [B] ADC???????? [C] PWM????????? [D] Timer???????? [E] RTC


22. MMU的作用有(AB)

[A] 內存保護  [B] 地址轉換????? [C] 加快存取速度???????? [D] 安全保密?????????? [E] 內存分配


23.以下屬于DMA特點的有(BC)

[A]占用CPU  [B]占用總線??????? [C]不占用CPU????? ?[D]不占用總線


24.下面的設備中屬于閃存的設備有(AD)

[A] K9F1208U0M??????? [B] MAX3232??????? ?[C] HY57V561620?????? ?[D] Am29LV160D


25. I2C傳輸是(B)方式傳輸

[A] 單工  [B] 半雙工???? [C] 全雙工?

?

二、簡答題

1.簡述ARM發生異常時,ARM核心會自動做哪些事情?從異常返回時,我們要做哪些事情?

1)-- 當異常產生時, ARM core:

拷貝CPSR到SPSR_<mode>
設置適當的CPSR位:?
改變處理器狀態進入ARM狀態?
改變處理器模式進入相應的異常模式?
設置中斷禁止位禁止相應中斷(如果需要)
保存返回地址到LR_<mode>
設置PC為相應的異常向量

2)-- 返回時,異常處理需要:

從SPSR_<mode>恢復CPSR
從LR_<mode>恢復PC
Note:這些操作只能在ARM態執行.


2.用ARM匯編指令寫出實現64位加法和64位減法的代碼段,使用的寄存器請自行分配。

假定低32位數存放在r0和r1里面,高32位數存放在r2和r3里面。?
加法:?
ADDS r0, r0, r1 //加S是因為要讓這個操作影響標志位?
ADC r2, r2, r3 //ADC是帶進位的加法,如果上一條指令產生進位則一起加進來?
減法:?
SUBS r0, r0, r1 //加S是因為要讓這個操作影響標志位?
SBC r2, r2, r3 // SBC是帶進位的減法指令


3.請列舉ARM處理器的模式和異常,并說明各個發生異常時ARM處理器所處的模式

異常:?
Reset?
Data Abort
FIQ
IRQ
Prefetch Abort
SWI
Undefined instruction

處理器模式

User :非特權模式,大部分任務執行在這種模式}?
FIQ : 當一個高優先級(fast)}中斷產生時將會進入這種模式?
IRQ : 當一個低優先級(normal)中斷產生時將會進入這種模式}?
Supervisor}:當復位或軟中斷指令執行時將會進入這種模式?
Abort :當存取異常時將會進入這種模式}?
Undef :}當執行未定義指令時會進入這種模式?
System :使用和User模式相同寄存器集的特權模式}


4. FIQ的什么特點使得它處理的速度比IRQ快?

1)FIQ優先級比IRQ高,不會被中斷?
2)FIQ有自己的專屬寄存器:r8~r12,不用對通用寄存器入棧保護,可以加快速度?
3)FIQ位于異常向量表的末尾0x1c,故無需跳轉,可以在這里直接放置異常處理函數


5.什么指令可以放在中斷向量表?

跳轉指令,給PC賦值的指令?
B,LDR,MOV


6. ARM處理器 中斷向量表位于存儲器的什么位置?

默認:0x0
也可以配置成:0Xffff0000


7.下列ARM指令將做什么?

a) LDRH r0,[r1,#6]
b) LDR r0, =0x999
a:將r1寄存器的值加上6,然后把以這個值為地址的內存單元里的值取半字(低16位)賦給r0
b:將立即數0x999賦給r0,注意這是一個偽指令


8. SWP指令的優勢是什么?用來實現什么功能?

功能:在寄存器和存儲器之間,由一次存儲器讀和一次存儲器寫組成的原子操作。完成一個字節或字的交換。?
可以用來實現信號量


9. S3C2410支持幾種引導方式(或者說是內存映射方式)?簡述Nand引導方式S3C2410硬件做的事情。

1)nor flash啟動方式。?
2)nand flash啟動方式。?
從Nand flash啟動時,S3C2410首先會執行固化在片上ROM中的一段小程序,這段程序負責將nand flash前2K的代碼搬移到片上RAM,然后將PC指針指向0x0地址(注意這個時候片上RAM被映射到0x0的起始地址)


10.簡述static和volatile關鍵字的含義和作用。

C語言中static關鍵字有兩個作用,一是文件作用域,二是函數作用域。?
文件作用域關鍵字static的作用是,以static申明的全局變量、函數不得被其他文件所引用?
static另外一個用途是函數內部靜態變量,只會被初始化一次,而且變量存儲在全局數據段中而不是函數棧中,所以其生命期會一直持續到程序退出?
一個定義為volatile的變量是說這變量可能會被意想不到地改變,這樣,編譯器就不會去假設這個變量的值了。精確地說就是,優化器在用到這個變量時必須每次都小心地重新讀取這個變量的值,而不是使用保存在寄存器里的備份

總結

以上是生活随笔為你收集整理的ARM 汇编复习题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。