填空題
1.arm微處理器在較新的體系結構中支援兩種指令集:______、______。
答案:arm指令集、thumb指令集
2.arm處理器有9種基本定址方式,分別是:______、______、______、______、______、______、
答案:暫存器定址、立即定址、暫存器偏移定址、暫存器間接定址、基址定址、多暫存器定址、堆疊定址、塊拷貝定址、相對定址
3.arm指令集可以分為6類,分別是:______、______、______、______、______、______。
答案:跳轉指令、資料處理指令、程式狀態暫存器(psr)傳輸指令、load/store指令、協處理器指令、異常中斷產生指令
4.在arm的匯程式設計序中,有如下幾種偽指令:_____、______、______、______、______。
答案:符號定義偽指令、資料定義偽指令、彙編控制偽指令、巨集指令、其他偽指令
5.組合語言與c/c++的混合程式設計通常有以下幾種方式:_____、______、______。
答案:在c/c++**中嵌入彙編指令;從匯程式設計序中訪問c程式變數;匯程式設計序、c/c++程式間的相互呼叫
6.arm c/c++編譯器支援和產生以下幾種格式的檔案:_____、____、____、______、______。
答案:filename.c 原始檔、filename.h標頭檔案、filename.o目標檔案、filename.s彙編**檔案、filename.lst列表檔案
問答題:
1.一條典型的arm指令具有什麼樣的語法格式,並描述各選項意義。
答:一條典型的arm指令語法格式如下所示:
{},,< shifter_operand >
其中:opcode是指令操作符編碼;
cond 是指令執行的條件編碼;
s決定指令的操作是否影響cpsr的值;
rd是目標暫存器編碼;
rn是包含第1個運算元的暫存器編碼;
shifter_operand 表示第2個運算元。
2.表示遞增和遞減的滿堆疊和空堆疊有哪幾種組合,請比較它們的特點。
答:有4種型別的堆疊,表示遞增和遞減的滿堆疊和空堆疊的各種組合。
滿遞增:堆疊通過增大儲存器的位址向上增長,堆疊指標指向內含有效資料項的最高位址。指令如ldmfa,stmfa等。
空遞增:堆疊通過增大儲存器的位址向上增長,堆疊指標指向堆疊上的第乙個空位址。指令如ldmea,stmea等。
滿遞減:堆疊通過減小儲存器的位址向下增長,堆疊指標指向內含有效資料項的最低位址。指令如ldmfd,stmfd等。
空遞增:堆疊通過減小儲存器的位址向下增長,堆疊指標指向堆疊下的第乙個空位址。指令如ldmed,stmed等。
3.arm協處理器指令包括哪3類,請描述它們的功能。
答:arm協處理器指令包括以下3類:
用於arm處理器初始化arm協處理器的資料處理操作。
用於arm處理器的暫存器和arm協處理器的暫存器間的資料傳送操作。
用於在arm協處理器的暫存器和記憶體單元之間傳送資料。
4.常見的符號定義偽指令,具體有哪幾種?
答:常見的符號定義偽指令有如下幾種。
用於定義全域性變數的gbla、gbll和gbls。
用於定義區域性變數的lcla、lcll和lcls。
用於對變數賦值的seta、setl、sets。
為通用暫存器列表定義名稱的rlist。
5.組合語言程式中常用的符號,需要遵循哪些規則?
答:組合語言程式中常用的符號,必須遵循以下的約定。
符號區分大小寫,同名的大、小寫符號會被編譯器認為是兩個不同的符號。
符號在其作用範圍內必須唯一。
自定義的符號名不能與系統的保留字相同。
符號名不應與指令或偽指令同名。
6.可執行映像檔案通常由幾部分構成,它們有什麼特點?
答:可執行映像檔案通常由以下幾部分構成。
乙個或多個**段,**段的屬性為唯讀。
零個或多個包含初始化資料的資料段,資料段的屬性為可讀寫。
零個或多個不包含初始化資料的資料段,資料段的屬性為可讀寫。
嵌入式面試題 ARM面試題(三)
填空題 答案 裝載映像檔案 程式執行 檢視暫存器和記憶體空間 2 目標機上的angel可以實現的功能為 答案 基本的除錯功能 c語言庫的支援 通訊支援 任務管理功能 異常中斷處理 3 使用angel開發應用程式包括下面的步驟 答案 在armulator或開發板上開發應用程式 建立嚴重依賴angel的...
嵌入式面試題 ARM面試題(五)
填空題 1 電子裝置電源系統包括 電源和 電源。答案 交流 直流 2 arm處理器工作狀態主要有 和 模式。答案 執行 睡眠 空閒 3 ic晶元工作一般供電電壓有 答案 5v 3.3v 2.5 1.8v 4 佈線時,電源線 訊號線 地線線寬大小一般為 答案 地線 電源線 訊號線 問答題 1 軟啟動狀...
嵌入式面試題
15 typedef 在c語言中頻繁用以宣告乙個已經存在的資料型別的同義字。也可以用預處理器做類似的事。例如,思考一下下面的例子 define dps struct s typedef struct s tps 以上兩種情況的意圖都是要定義dps 和 tps 作為乙個指向結構s指標。哪種方法更好呢?...