三指令系統
arm 微處理器的指令的分類與格式:
arm微處理器的指令集是載入/ 儲存型的,也即指令集僅能處理暫存器中的資料,而且處理結果都要放回暫存器中,而對系統儲存器的訪問則需要通過專門的載入/ 儲存指令來完成。
arm微處理器的指令集可以分為跳轉指令、資料處理指令、程式狀態暫存器(psr)處理指令、載入
/ 儲存指令、協處理器指令和異常產生指令六大類,具體的指令及功能如表3-1所示(表中指令為基本arm指令,不包括派生的arm指令)。
當處理器工作在arm狀態時,幾乎所有的指令均根據cpsr中條件碼的狀態和指令的條件域有條件的執行。當指令的執行條件滿足時,指令被執行,否則指令被忽略。
每一條arm指令包含4位的條件碼,位於指令的最高4位[31:28]。條件碼共有16種,每種條件碼可用兩個字元表示,這兩個字元可以新增在指令助記符的後面和指令同時使用。例如,跳轉指令b可以加上字尾eq變為beq表示「相等則跳轉」,即當cpsr中的z標誌置位時發生跳轉。
15 ARM彙編自學筆記指令系統之移位指令(操作)
移位指令 操作 arm微處理器內嵌的桶型移位器 barrel shi f t er 支援資料的各種移位操作,移位操作在arm指令集中不作為單獨的指令使用,它只能作為指令格式中是乙個字段,在組合語言中表示為指令中的選項。例如,資料處理指令的第二個運算元為暫存器時,就可以加入移位操作選項對它進行各種移位...
07 ARM彙編自學筆記指令系統之定址方式
arm 指令的定址方式 1.立即定址 立即定址也叫立即數定址,這是一種特殊的定址方式,運算元本身就在指令中給出,只要取出指令也就取到了運算元。這個運算元被稱為立即數,對應的定址方式也就叫做立即定址。例如以下 指令 add r0,r0,1 r0 r0 1 add r0,r0,0x3f r0 r0 0x...
17 ARM彙編自學筆記指令系統之異常產生指令
異常產生指令 arm 微處理器所支援的異常指令有如下兩條 swi 軟體中斷指令 bkpt 斷點中斷指令 1 swi 指令 swi 指令的格式為 swi 24位的立即數 swi 指令用於產生軟體中斷,以便使用者程式能呼叫作業系統的系統例程。作業系統在 swi 的異常處理程式中提供相應的系統服務,指令中...