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

正文內(nèi)容

嵌入式系統(tǒng)復(fù)習(xí)(編輯修改稿)

2025-05-14 00:51 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 碼段或數(shù)據(jù)段;CODE:代碼段的相關(guān)屬性,用于定義代碼段,默認(rèn)為READONLY;READONLY:代碼段的相關(guān)屬性,指定本段為只讀,默認(rèn)為READONLY。匯編語言結(jié)構(gòu)AREA 偽指令定義一個(gè)段,并定義段的相關(guān)屬性,本例定義一個(gè)名為 example 的代碼段,屬性為只讀。ENTRY 偽指令標(biāo)識(shí)程序的入口點(diǎn),接下來為語句段。執(zhí)行主代碼后通過使用軟件中斷SWI指令實(shí)現(xiàn)了返回到DEBUG 。END 偽指令指示代碼段的結(jié)束。C語言中內(nèi)嵌ARM匯編指令時(shí)有哪些限制?(1)不能直接賦值PC,程序跳轉(zhuǎn)要使用B或者BL指令。(2)在使用物理寄存器時(shí),不要使用過于復(fù)雜的C表達(dá)式,避免物理寄存器沖突。(3)R12和R13可能被編譯器用來存放中間編譯結(jié)果,計(jì)算表達(dá)式值時(shí)可能將R0~RR12及R14用于子程序調(diào)用,因此要避免直接使用這些物理寄存器。(4)一般不要直接指定物理寄存器,而讓編譯器進(jìn)行分配。C/C++與ARM匯編語言混合編程有哪些情況?1.在C語言中內(nèi)嵌匯編2.在匯編中使用C程序全局變量3.C程序中調(diào)用匯編的函數(shù)4.在匯編程序中調(diào)用C的函數(shù)5.C和C++混合調(diào)用C語言中內(nèi)嵌匯編語言實(shí)例include void my_strcpy(const char *src, char *dest) //聲明一個(gè)函數(shù){ char ch。 //聲明一個(gè)字符型變量 __asm //調(diào)用關(guān)鍵詞__asm { LOOP //循環(huán)入口 LDRB ch,[src],1 // STRB ch,[dest],1 // CMP ch, 0 //比較CH是否為零,否則循環(huán)。 BNE LOOP //B 指令跳轉(zhuǎn),NE為Z位清零不相等 }}int main() ;C語言主程序{ char *a = forget it and move on!。 char b[64]。 //字符型數(shù)組 my_strcpy(a, b)。//調(diào)用子函數(shù),進(jìn)行復(fù)制 printf(original: %s, a)。//屏幕輸出,a的數(shù)值 printf(copyed: %s, b)。 //屏幕輸出,b的數(shù)值 return 0。}C語言調(diào)用匯編語言的函數(shù)實(shí)例/* C程序*/include extern void asm_strcpy(const char *src, char *dest)。//聲明可以被調(diào)用的函數(shù)int main() //C語言主函數(shù){ const char *s = seasons in the sun。 //聲明字符型指針變量 char d[32]。 //聲明字符型數(shù)組,初始化為0 asm_strcpy(s,d)。 //調(diào)用匯編子函數(shù) printf(source: %s,s)。 printf( destination: %s,d)。 return 0。}。 匯編語言程序段AREA asmfile,CODE,READONLY ;聲明匯編語言程序段EXPORT asm_strcpy ;聲明可被調(diào)用函數(shù)名稱asm_strcpy ;函數(shù)入口地址LOOP ;循環(huán)標(biāo)志條LDRB R4, [R0], 1 ;R0的地址加1后送給R4 CMP R4, 0 ;比較R4是否為零BEQ OVER ;為零跳轉(zhuǎn)到結(jié)束,目標(biāo)數(shù)組初始化為0S
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1