freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

4第四章arm匯編語(yǔ)言程序設(shè)計(jì)(專業(yè)版)

  

【正文】 在程序中 , 使用指令: BL 子程序名 該指令 完成 : 將子程序的返回地址存放在連接寄存器 LR中 , 同時(shí)將程序計(jì)數(shù)器 PC指向子程序的入口點(diǎn) , 當(dāng)子程序執(zhí)行完畢需要返回調(diào)用處時(shí) , 只需要將存放在 LR中的返回地址重新拷貝給程序計(jì)數(shù)器 PC即可 。 GET偽指令只能用于包含 源文件 , 包含目標(biāo)文件需要使用 INCBIN偽指令 使用示例: AREA Init, CODE, READONLY GET ;通知編譯器當(dāng)前源文件包含源文件 GET C: \;通知編譯器當(dāng)前源文件包含源文件 C: \ ?? END 1 INCBIN 語(yǔ)法格式: INCBIN 文件名 INCBIN偽指令用于將一個(gè)目標(biāo)文件或數(shù)據(jù)文件包含到當(dāng)前的源文件中 , 被包含的文件不作任何變動(dòng)的存放在當(dāng)前文件中 ,編譯器從其后開(kāi)始繼續(xù)處理 。因此 , 在使用 ARM指令和 Thumb指令混合編程的代碼里 , 可用這兩條偽指令進(jìn)行切換 注意 :他們只通知編譯器其后指令的類型 , 并不能對(duì)處理器進(jìn)行狀態(tài)的切換 。 This is not the same as the way that the ALIGN directive is specified. Do not use ALIGN=0 or ALIGN=1 for code sections. 使用示例: AREA Init, CODE, READONLY ;該偽指令定義了一個(gè)代碼段 , 段名為Init, 屬性為只讀 AREA MyDATA,DATA,READONLY,ALIGN=14 。 宏指令可以使用一個(gè)或多個(gè)參數(shù) , 當(dāng)宏指令被展開(kāi)時(shí) , 這些參數(shù)被相應(yīng)的值替換 。 即 DCD HandleUndef 4 HandleSWI 4 HandlePabort 4 HandleDabort 4 HandleReserved 4 HandleIRQ 4 HandleFIQ 4 匯編控制偽指令 匯編控制偽指令用于控制匯編程序的執(zhí)行流程 常用的匯編控制偽指令包括 : — IF、 ELSE、 ENDIF — WHILE、 WEND — MACRO、 MEND — MEXIT ARM 指令系統(tǒng) 1 IF、 ELSE、 ENDIF (等價(jià)于 [ | ] ) 語(yǔ)法格式: IF 邏輯表達(dá)式 指令序列 1 ELSE 指令序列 2 ENDIF IF、 ELSE、 ENDIF偽指令能根據(jù)條件的成立與否決定是否執(zhí)行某個(gè)指令序列 。 其中 , 表達(dá)式為要分配的字節(jié)數(shù) 。 例 : RegList RLIST {r1r13}。 在 ARM匯編語(yǔ)言程序里 , 有一些特殊指令助記符 , 這些助記符與指令系統(tǒng)的助記符不同 , 沒(méi)有相對(duì)應(yīng)的操作碼 , 通常稱這些特殊指令助記符為偽指令 他們所完成的操作稱為 偽操作 。 GBLA偽指令用于定義一個(gè)全局的數(shù)字變量 , 并初始化為 0; GBLL偽指令用于定義一個(gè)全局的邏輯變量 , 并初始化為 F( 假 ) ; GBLS偽指令用于定義一個(gè)全局的字符串變量 , 并初始化為空; 由于以上三條偽指令用于定義全局變量 , 因此在整個(gè)程序范圍內(nèi) 變量名必須唯一 。 其中 , 表達(dá)式可以為 0~ 255的數(shù)字或字符串 。 表達(dá)式的值為當(dāng)前數(shù)據(jù)域在內(nèi)存表中所占的字節(jié)數(shù) 。changing from Thumb state to Arm state | 。 屬性字段表示該代碼段 ( 或數(shù)據(jù)段 ) 的相關(guān)屬性 , 多個(gè)屬性用逗號(hào)分隔 。 aligned on 8byte boundary 。 EXPORT可用 GLOBAL代替 。 一個(gè)匯編程序至少應(yīng)該有一個(gè)代碼段,當(dāng)程序較長(zhǎng)時(shí),可以分割為多個(gè)代碼段和數(shù)據(jù)段,多個(gè)段在程序編譯鏈接時(shí)最終形成一個(gè)可執(zhí)行的映象文件。局部標(biāo)號(hào) sub r3, r3, 1 cmp r3,0 bne %b1 。 2)段是相對(duì)獨(dú)立的指令或數(shù)據(jù)序列,具有特定的名稱。 名稱為 EQU偽指令定義的字符名稱 , 當(dāng)表達(dá)式為 32位的常量時(shí) , 可以指定表達(dá)式的數(shù)據(jù)類型 , 可以有以下三種類型: CODE1 CODE32和 DATA 使用示例: Test EQU 50;定義標(biāo)號(hào) Test的值為 50 Addr EQU 0x55, CODE32 ;定義 Addr的值為 0x55, 且該處為 32位的ARM指令 。第四個(gè)字節(jié)保存 0x32 內(nèi)容是 :0x32023031 上面的語(yǔ)句 ALIGN 4,3意義是 :字對(duì)齊 ,然后再加上偏移 3 Examples AREA cacheable, CODE, ALIGN=3 rout1 。 ARM 指令系統(tǒng) 其他常用的偽指令 還有一些其他的偽指令 , 在匯編程序中經(jīng)常會(huì)被使用 , 包括以下幾條: AREA ALIGN CODE1 CODE32 ENTRY END EQU EXPORT( 或 GLOBAL) IMPORT EXTERN GET( 或 INCLUDE) INCBIN RN ROUT AREA 語(yǔ)法格式: AREA 段名 屬性 1, 屬性 2, …… AREA偽指令用于定義一個(gè)代碼段或數(shù)據(jù)段 。assembler,16=assembing Thumbcode. THUMBCODE SETL {TRUE} 。 FILED FILED也可用 “ ” 代替 。 DCD( DCDU) 用于分配一片連續(xù)的字存儲(chǔ)單元并用指定的數(shù)據(jù)初始化 。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1