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

正文內(nèi)容

南昌大學(xué)嵌入式實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)三范文大全-文庫吧

2025-10-05 15:50 本頁面


【正文】 值裝入堆棧 Stop。B stop。程序結(jié)果為:r1 = x+y = 0x6D~R11進(jìn)行累加8次賦值,R4~R11初始值是1~8,每次操作后把R4~R11的內(nèi)容放到SP棧中,SP初始設(shè)置為0x800,最后把R4~R11用LDMFD指令清空為0程序代碼如下: X EQU 1。定義常量x = 1 stack_top EQU 0X800。定義棧頂?shù)刂?ENTRY。MOV SP,stack_top。將棧頂?shù)刂分赶?x800 MOV R4,1。設(shè)置R4 = 1 MOV R5,2。設(shè)置R5 = 2 MOV R6,3。設(shè)置R6 = 3 MOV R7,4。設(shè)置R7 = 4 MOV R8,5。設(shè)置R8 = 5 MOV R9,6。設(shè)置R9 = 6 MOV R10,7。設(shè)置R10 = 7 MOV R11,8。設(shè)置R11 = 8 LOOP ADD R4,R4,x。R4累加1 ADD R5,R5,x。R5累加1 ADD R6,R6,x。R6累加1 ADD R7,R7,x。R7累加1 ADD R8,R8,x。R8累加1 ADD R9,R9,x。R9累加1 ADD R10,R10,x。R10累加1 ADD R11,R11,x。R11累加1 STMIA SP!,{R4R11}。將R4R11的值壓入堆棧CMP R4,9。比較R4和9的大小BLT LOOP。R4 9繼續(xù)執(zhí)行循環(huán)LDMFD SP!,{R4R11}。將R4R11清零 END。實(shí)驗(yàn)結(jié)果:主要實(shí)現(xiàn)將數(shù)據(jù)29,310,411……916壓入堆棧(初始地址是0x800處開始),最后將R4R11全部清零。,Y的值,觀察期結(jié)果 程序代碼:x EQU 20 y EQU 120 stack_top EQU 0X1000 ENTRY MOV sp,stack_top MOV r0,x STR r0,[sp] MOV r0,y LDR r1,[sp] ADD r0,r0,r1 STR r0,[sp] Stop B Stop END 程序結(jié)果為:r0 = x+y = 140 = 0X8C實(shí)驗(yàn)三 ARM匯編語言程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?,學(xué)會(huì)使用ARM的匯編語言編程,及if條件、循環(huán)、循環(huán)及循環(huán)的匯編實(shí)現(xiàn)二、實(shí)驗(yàn)設(shè)備,仿真器驅(qū)動(dòng)程序三、實(shí)驗(yàn)內(nèi)容,新建工程,加入下面的程序,并觀察實(shí)驗(yàn)結(jié)果 程序代碼:Num EQU 20。定義常量Num = 20 START。LDR r0,=src。將src數(shù)據(jù)塊的開始地址存入r0中 LDR r1,=dst。將dst數(shù)據(jù)塊的開始地址存入r1中 MOV r2,Num。設(shè)置r2的值為20 MOV sp,0x400。堆棧指針sp指向0x400 blockcopy。MOVS r3,r2,LSR 3。將r2左移3位移入r3并且影響標(biāo)志位 BEQ copywords。結(jié)果為0的話跳轉(zhuǎn)到copywords STMFD SP!,{r4r11}。將r4r11的值入棧 octcopy。LDMIA r0!,{r4r11}。將src的前8個(gè)字?jǐn)?shù)據(jù)存入讓r4r11 STMIA r1!,{r4r11}。將r4r11中的數(shù)據(jù)放入dst數(shù)據(jù)塊中 SUBS r3,r3,1。r3 = r31 BNE octcopy。結(jié)果不為0跳轉(zhuǎn)到octcopy LDMFD SP!,{R4R11}?;謴?fù)原來的r4r11 copywords。ANDS r2,r2,7。r2 = r2amp。7 BEQ stop。結(jié)果為0跳轉(zhuǎn)到stop wordcopy。LDR r3,[r0],4。將r0指向的字?jǐn)?shù)據(jù)放入r3中,r0 = r0+4 STR r3,[r1],4。將r3中的數(shù)據(jù)存入到dst數(shù)據(jù)塊中,r1 = r1+4 SUBS r2,r2,1。r2 = r21 BNE wordcopy。不為0跳轉(zhuǎn)到wordcopy處 stop。B stop。src DCD 1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4。dst DCD 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0。END。程序結(jié)果:將src的數(shù)據(jù)全部存入到dst中,并自行編寫程序,分別使用LDR,STR,LDMIA,STMIA操作,實(shí)現(xiàn)對(duì)某段連續(xù)存儲(chǔ)單元寫入數(shù)據(jù),并觀察結(jié)果 程序代碼:MOV R4,1。設(shè)置r4 = 1; MOV R5,2。設(shè)置r5 = 1; MOV R6,3。設(shè)置r4 = 1;LDR R0,=dst。R0保存dst的首地址STR R4,[R0]。將r4的值裝入r0執(zhí)行的內(nèi)存中STR R5,[R0,4]。將r5的值裝入r0+4執(zhí)行的內(nèi)存中 STR R6,[R0,8]。將r6的值裝入r0+8執(zhí)行的內(nèi)存中 LDR R7,=src。R0保存src的首地址LDMIA R7,{R8R10}。將r7執(zhí)行的地址的數(shù)據(jù)讀入r8=r10 LDR R3,=N。r3保存N的首地址STMIA R3!,{R8R10}。將r8r10裝入r3指向的內(nèi)存 N DCD 0,0,0 src DCD 1,2,3 dst DCD 0,0,0 END 程序結(jié)果:熟悉使用LDMIA,STMIA和LDR,STR指令,使用ARM匯編指令實(shí)現(xiàn)for條件執(zhí)行,使用ARM匯編指令實(shí)現(xiàn)while條件執(zhí)行,使用ARM匯編指令實(shí)現(xiàn)do…while條件執(zhí)行。程序代碼:實(shí)現(xiàn)if條件: MOV R0,1 MOV R1,2 CMP R0,R1 BGT LOOP1 BLT LOOP2 LOOP1 MOV R3,R0 LOOP2 MOV R3,R1 END 程序結(jié)果:實(shí)現(xiàn)for和while條件:MOV R1,1 MOV R3,0 MOV R2,101。LOOP ADD R3,R1,R3 ADD R1,R1,1 CMP R1,R2 BLT LOOP END 程序結(jié)果:實(shí)現(xiàn)do…while條件:MOV R0,1 MOV R1,100 MOV R3,0 LOOP CMP R0,R1 BGT STOP ADD R3,R0,R3 ADD R0,R0,1 B LOOP STOP END 程序結(jié)果:實(shí)驗(yàn)四 基于ARM的C語言程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?C語言的基本框架,學(xué)會(huì)使用ARM的C語言編程。二、實(shí)驗(yàn)設(shè)備,PentiumII以上的PC機(jī),仿真器電纜。三、ARM C語言簡(jiǎn)介與使用規(guī)則在應(yīng)用系統(tǒng)的程序設(shè)計(jì)中,若所有的編程任務(wù)均由匯編語言來完成,其工作量巨大,并且不宜移植。由于ARM的程序執(zhí)行速度較高,存儲(chǔ)器的存儲(chǔ)速度和存儲(chǔ)量也很高,因此,C語言的特點(diǎn)充分發(fā)揮,使得應(yīng)用程序的開發(fā)時(shí)間大為縮短,代碼的移植十分方便,程序的重復(fù)使用率提高,程序架構(gòu)清晰易懂,管理較為容易等等。因此,C語言的在ARM編程中具有重要地位。 C語言程序的基本規(guī)則在ARM程序的開發(fā)中,需要大量讀寫硬件寄存器,并且盡量縮短程序的執(zhí)行時(shí)間的代碼一般使用匯編語言來編寫,比如ARM的啟動(dòng)代碼,ARM的操作系統(tǒng)的移植代碼等,除此之外,絕大多數(shù)代碼可以使用C語言來完成。C語言使用的是標(biāo)準(zhǔn)的C語言,ARM的開發(fā)環(huán)境實(shí)際上就是嵌入了一個(gè)C語言的集成開發(fā)環(huán)境,只不過這個(gè)開發(fā)環(huán)境和ARM的硬件緊密相關(guān)。在使用C語言時(shí),要用到和匯編語言的混合編程。當(dāng)匯編代碼較為簡(jiǎn)潔,則可使用直接內(nèi)嵌匯編的方法,否則,使用將匯編文件以文件的形式加入項(xiàng)目當(dāng)中,通過ATPCS的規(guī)定與C程序相互調(diào)用與訪問。ATPCS,就是ARM、Thumb的過程調(diào)用標(biāo)準(zhǔn)(ARM/Thumb Procedure Call Standard),它規(guī)定了一些子程序間調(diào)用的基本規(guī)則。如寄存器的使用規(guī)則,堆棧的使用規(guī)則,參數(shù)的傳遞規(guī)則等。在C程序和ARM的匯編程序之間相互調(diào)用必須遵守ATPCS。而使用ADS的C語言編譯器編譯的C語言子程序滿足用戶指定的ATPCS的規(guī)則。但是,對(duì)于匯編語言來說,完全要依賴用戶保證各個(gè)子程序遵循ATPCS的規(guī)則。具體來說,匯編語言的子程序應(yīng)滿足下面3個(gè)條件:● 在子程序編寫時(shí),必須遵守相應(yīng)的ATPCS規(guī)則; ● 堆棧的使用要遵守相應(yīng)的ATPCS規(guī)則; ● 在匯編編譯器中使用atpcs選項(xiàng)?;镜腁TPCS規(guī)定,請(qǐng)?jiān)斠娤嚓P(guān)技術(shù)文檔。匯編程序調(diào)用C程序匯編程序的設(shè)置要遵循ATPCS規(guī)則,保證程序調(diào)用時(shí)參數(shù)正確傳遞。在匯編程序中使用IMPORT偽指令聲明將要調(diào)用的C程序函數(shù)。在調(diào)用C程序時(shí),要正確設(shè)置入口參數(shù),然后使用BL調(diào)用。C程序調(diào)用匯編程序匯編程序的設(shè)置要遵循ATPCS規(guī)則,保證程序調(diào)用時(shí)參數(shù)正確傳遞。在匯編程序中使用EXPORT偽指令聲明本子程序,使其他程序可以調(diào)用此子程序。在C語言中使用extern關(guān)鍵字聲明外部函數(shù)(聲明要調(diào)用的匯編子程序)。在C語言的環(huán)境內(nèi)開發(fā)應(yīng)用程序,一般需要一個(gè)匯編的啟動(dòng)程序,從匯編的啟動(dòng)程序,跳到C語言下的主程序,然后,執(zhí)行C程序,在C環(huán)境下讀寫硬件的寄存器,一般是通過宏調(diào)用,在每個(gè)項(xiàng)目文件的Startup44b0/,那里面定義了所有關(guān)于44B0的硬件寄存器的宏,對(duì)宏的讀寫,就能操作44B0
點(diǎn)擊復(fù)制文檔內(nèi)容
合同協(xié)議相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1