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

正文內(nèi)容

4第四章arm匯編語言程序設(shè)計(jì)(參考版)

2025-03-05 03:18本頁面
  

【正文】 局部標(biāo)號(hào) sub r3, r3, 1 cmp r3,0 bne %b1 。將 rPDATE的內(nèi)容送給 r1 orr r1,r1,8 str r1,[r0] 。ARM 代碼 EXPORT ReIn_EINT4567ISR ReIn_EINT4567ISR sub lr, lr, 4 ldr r0,=0x1d2023c 。 在調(diào)用子程序的同時(shí) , 也可以完成參數(shù)的傳遞和從子程序返回運(yùn)算的結(jié)果 , 通??梢允褂眉拇嫫鱎0~ R3完成 。 匯編語言的子程序調(diào)用 在 ARM匯編語言程序中 , 子程序的調(diào)用一般是通過 BL指令來實(shí)現(xiàn)的 。 AREA Init, CODE, READONLY ENTRY Start LDR R0, =0x3FF5000 LDR R1, 0xFF STR R1, [R0] LDR R0, =0x3FF5008 LDR R1, 0x01 STR R1, [R0] ┉┉ END 。 — 零個(gè)或多個(gè) 包含 初始化數(shù)據(jù)的數(shù)據(jù)段 ,數(shù)據(jù)段的屬性為可讀寫 。 一個(gè)匯編程序至少應(yīng)該有一個(gè)代碼段,當(dāng)程序較長時(shí),可以分割為多個(gè)代碼段和數(shù)據(jù)段,多個(gè)段在程序編譯鏈接時(shí)最終形成一個(gè)可執(zhí)行的映象文件。 2)段是相對(duì)獨(dú)立的指令或數(shù)據(jù)序列,具有特定的名稱。 在程序中未使用該偽指令時(shí) , 局部變量的作用范圍為所在的 AREA, 而使用 ROUT后 , 局部變量的作為范圍為當(dāng)前ROUT和下一個(gè) ROUT之間 。 其中 , 名稱為給寄存器定義的別名 , 表達(dá)式為寄存器的編碼 。 使用示例: AREA Init, CODE, READONLY INCBIN ;通知編譯器當(dāng)前源文件包含文件 INCBIN C: \ ; 通知編譯器當(dāng)前源文件包含文件 C: \ ?? END 1 RN 語法格式: 名稱 RN 表達(dá)式 RN偽指令用于給一個(gè)寄存器定義一個(gè)別名 。 使用方法與 C語言中的 “include”相似 。 使用示例: AREA Init, CODE, READONLY IMPORT Main ; 通知編譯器當(dāng)前文件要引用標(biāo)號(hào) Main,但 Main在其他源文件中定義 ?? END EXTERN 語法格式: EXTERN 標(biāo)號(hào) {[WEAK]} EXTERN偽指令用于通知編譯器要使用的標(biāo)號(hào)在其他的源文件中定義 , 但要在當(dāng)前源文件中引用 , 如果當(dāng)前源文件實(shí)際并未引用該標(biāo)號(hào) , 該標(biāo)號(hào)就不會(huì)被加入到當(dāng)前源文件的符號(hào)表中 。 使用示例: AREA Init, CODE, READONLY EXPORT Stest ;聲明一個(gè)可全局引用的標(biāo)號(hào) Stest ?? END IMPORT 語法格式: IMPORT 標(biāo)號(hào) {[WEAK]} IMPORT偽指令用于通知編譯器要使用的標(biāo)號(hào)在其他的源文件中定義 , 但要在當(dāng)前源文件中引用 , 而且無論當(dāng)前源文件是否引用該標(biāo)號(hào) , 該標(biāo)號(hào)均會(huì)被加入到當(dāng)前源文件的符號(hào)表中 。 EXPORT可用 GLOBAL代替 。 名稱為 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指令 。 使用示例: AREA Init, CODE, READONLY ENTRY;指定應(yīng)用程序的入口點(diǎn) ?? END 語法格式: END END偽指令用于通知編譯器已經(jīng)到了源程序的結(jié)尾 ,用于指示匯編編譯器源文件已結(jié)束 .每一個(gè)匯編源文件均要使用一個(gè) . 使用示例: AREA Init, CODE, READONLY ?? END ;指定應(yīng)用程序的結(jié)尾 EQU,可用 “*”代替 。將跳轉(zhuǎn)地址放入寄存 R0 BX R0 ;程序跳轉(zhuǎn)到新的位置執(zhí)行 , 并將處理器切換到 Thumb工作狀態(tài) …… CODE16 ;通知編譯器其后的指令為 16位的 Thumb指令 NEXT LDR R3, = 0x3FF …… END ;程序結(jié)束 ENTRY 語法格式: ENTRY ENTRY偽指令用于指定匯編程序的入口點(diǎn) 。 AREA Init, CODE, READONLY …… CODE32。 若在匯編源程序中同時(shí)包含 ARM指令和 Thumb指令時(shí) , 可用 CODE16偽指令通知編譯器其后的指令序列為 16位的Thumb指令 , CODE32偽指令通知編譯器其后的指令序列為 32位的 ARM指令 。 code CODE1 CODE32 語法格式: CODE16( 或 CODE32) CODE16偽指令通知編譯器 , 其后的指令序列為 16位的 Thumb指令 。 aligned only on 4byte boundary ALIGN 8 。 aligned on 8byte boundary 。第四個(gè)字節(jié)保存 0x32 內(nèi)容是 :0x32023031 上面的語句 ALIGN 4,3意義是 :字對(duì)齊 ,然后再加上偏移 3 Examples AREA cacheable, CODE, ALIGN=3 rout1 。第一個(gè)字節(jié)保存 0x31 ALIGN 4,3 。若未指定
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1