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

正文內(nèi)容

0837嵌入式體系結(jié)構(gòu)綜合實驗報告-資料下載頁

2025-10-19 15:33本頁面
  

【正文】 擇File—New,使用ARM Executable Image工程模板建立一個工程,工程名稱為ADS?!O置直接添加到項目中,輸入程序代碼。 New,對于中文支持不完善,因此建議修改字體。選擇Edit—Perferences,在Font選項設置字體為Fixedsys,Script為CHINESE_GB2312。建議在Tab Inserts Spaces前打勾,使Tab鍵插入的是多個空格?!狣ebugRel Settings,在DebugRel Settings對話框的左邊選擇ARM Linker項,然后在Output頁設置連接地址ROBase 為0x40000000,RW Base 為0x40003000,在Options頁設置調(diào)試入口地址Image entry point 為 0x40000000?!狹ake,將編譯鏈接整個工程?!狣ebug,或單擊快捷鍵F5,IDE環(huán)境就會啟動AXD調(diào)試軟件。四、程序清單:AREAExample1,CODE,READONLY。聲明代碼段Example1ENTRY。標識程序入口CODE32。聲明32 位ARM 指令STARTMOVR0,15。設置參數(shù)MOVR1,8ADDSR0,R0,R1。R0 = R0 + R1BSTARTEND五、心得體會:通過本次實驗,我熟悉了ADS 集成開發(fā)環(huán)境,學會了怎樣建立工程,在工程里面建立文件和進行最基本的運行操作。我感觸最深的是每次軟件的開始使用是最關(guān)鍵的,想要掌握一個軟件的使用必須進行多次的練習,多練幾遍自然而然的會熟練的操作。實驗二存儲器訪問指令練習實驗一、實驗目的: 集成開發(fā)環(huán)境及ARMulator軟件仿真。,并能編寫簡單的匯編程序。二、實驗內(nèi)容:,將數(shù)據(jù)加1,若結(jié)果小于10,則使用STR指令把結(jié)果回寫原地址;若結(jié)果大于或等于10,則把0寫回原地址。 ,單步、全速運行程序,設置斷點,打開寄存器窗口(Processor Registers)監(jiān)視R0和R1的值,打開存儲器觀察窗口(Memory)監(jiān)視0x40003100上的值。三、實驗步驟: ,使用ARM Executable Image工程模板建立一個工程Instruction2。,編寫實驗程序,然后添加到工程中。 為0x40000000,RW Base 為0x40003000。設置調(diào)試入口地址Image entry point 為 0x40000000。,選擇Project —Debug,啟動AXD進行軟件仿真調(diào)試。(Processor Registers),選擇Current 項監(jiān)視R0和R1的值。打開存儲器觀察窗口(Memory)設置觀察地址為0x40003100,顯示方式Size為32Bit,監(jiān)視0x40003100地址上的值。四、程序清單:COUNTEQU0x40003100。定義一個變量,地址為0x40003100AREAExample2,CODE,READONLY。聲明代碼段Example2ENTRY。標識程序入口CODE32。聲明32 位ARM 指令STARTLDRR1,=COUNT。R1 MOVR0,0。R0 STRR0,[R1]。[R1] LOOPLDRR1,=COUNTLDRR0,[R1]。R0 ADDR0,R0,1。R0 CMPR0,10。R0 與 10 比較,影響條件碼標志MOVHSR0,0。若R0 大于等于 10,則此指令執(zhí)行,R0 STRR0,[R1]。[R1] BLOOPEND五、心得體會:通過本次實驗,讓我更深一步的了解了ADS 集成開發(fā)環(huán)境及ARMulator軟件仿真。通過對程序的解讀,我掌握一些匯編指令的寫法,同時也提高了我的讀程序的能力。本次實驗中我遇到了一個問題,在工程里加載文件的時候,沒注意文件的后綴應為“。S”,結(jié)果造成文件加載失敗。實驗三數(shù)據(jù)處理指令練習實驗一、實驗目的:。二、實驗內(nèi)容:。、SUB、AND、ORR、CMP和TST等指令完成數(shù)據(jù)加減運算及邏輯運算。三、實驗步驟:1),使用ARM Executable Image 工程模板建立一個工程Instruction3。2) ,編寫實驗程序,然后添加到工程中。3)設置工程鏈接地址RO Base為0x40000000,RW Base為0x40003000。設置調(diào)試入口地址Image entry point 為 0x40000000。4)編譯鏈接工程,選擇Project —Debug,啟動AXD進行軟件仿真調(diào)試。5)打開寄存器窗口(Processor Registers),選擇Current 項監(jiān)視各寄存器的值。6)單步運行程序,觀察寄存器值的變化。四、程序清單:XEQU。定義X 的值為11YEQU。定義Y 的值為8BIT23EQU(1。定義BIT23 的值為0x00800000AREAExample3,CODE,READONLY。聲明代碼段Example3ENTRY。標識程序入口CODE32。聲明32 位ARM 指令START。使用MOV、ADD 指令實現(xiàn):R8 = R3 = X + YMOVR0,X。R0 MOVR1,Y。R1 ADDR3,R0,R1。即是R3 = X + YMOVR8,R3。R8 。使用MOV、MVN、SUB 指令實現(xiàn):R5 = 0x5FFFFFF8y。break。case7: x = key * y。break。default: x = 168。SWITCHCASE_0CASE_2CASE_3CASE_5CASE_7。break。}。設x 為R0,y 為R1,key 為R2(x、y、key 均為無符號整數(shù))MOVR1,3。初始化y 的值MOVR2,2。初始化key 的值ANDR2,R2,0x0F。switch(keyamp。0x0F)CMPR2,0。case 0:CMPNER2,2。case 2:MPNER2,3。case 3:BNECASE_5ADDR0,R2,R1。x = key + yBSWITCH_END。breakCMPR2,5。case 5:BNECASE_7SUBR0,R2,R1。x = key1)*4 SvcStackSpace +(SVC_STACK_LEGTH1)*4 FiqStackSpace +(FIQ_STACK_LEGTH1)*4UndtStackSpace +(UND_STACK_LEGTH1)*4。分配堆??臻gAREAMyStacks, DATA, NOINIT, ALIGN=2UsrStackSpaceSPACEUSR_STACK_LEGTH * 4。用戶(系統(tǒng))模式堆??臻gSvcStackSpaceSPACESVC_STACK_LEGTH * 4。管理模式堆??臻gIrqStackSpaceSPACEIRQ_STACK_LEGTH * 4。中斷模式堆??臻gFiqStackSpaceSPACEFIQ_STACK_LEGTH * 4??焖僦袛嗄J蕉褩?臻gAbtStackSpaceSPACEABT_STACK_LEGTH * 4。中止義模式堆??臻gUndtStackSpaceSPACEUND_STACK_LEGTH * 4。未定義模式堆棧END五、心得體會:通過本次實驗,我較好的掌握了如何使用MRS/MSR指令實現(xiàn)ARM微控制器工作模式的切換。較好的了解了在各個工作模式下的寄存器。實驗六C語言程序?qū)嶒炓?、實驗目的:通過實驗了解使用ADS ,并進行調(diào)試。二、實驗內(nèi)容:編寫一個匯編程序文件和一個C程序文件。匯編程序的功能是初始化堆棧指針和初始化C程序的運行環(huán)境,然后跳轉(zhuǎn)到C程序運行,這就是一個簡單的啟動程序。C程序使用加法運算來計算1+2+3+…+(N1)+N的值(N為0時,結(jié)果為0;N為1時,結(jié)果為1)。三、實驗步驟:,使用ARM Executable Image 工程模板建立一個工程ProgramC。,編寫實驗程序,然后添加到工程中。 Base為0x40000000,RW Base為0x40003000。設置調(diào)試入口地址Image entry point 為 0x40000000。:選擇Edit—DebugRel Settings,在DebugRel Settings對話框的左邊選擇ARM Linker項,然后在Layout頁設置Object/,Section為Start。,選擇Project—Debug,啟動AXD進行軟件仿真調(diào)試?!癇 Main”處設置斷點,然后全速運行程序。單步運行程序,判斷程序是否跳轉(zhuǎn)到C程序中運行。選擇Processor Views—Variables打開變量觀察窗口,觀察全局變量的值,然后單步/全速運行程序,判斷程序的運算結(jié)果是否正確。四、程序清單:define uint8unsigned chardefine uint32unsigned intdefine Nuint32 sum。// 使用加法運算來計算 1+2+3+...+(N1)+N 的值。(N0)void Main(void){ uint32 i。sum = 0。for(i=0。i{ sum += i。}while(1)。}簡單的起動代碼。起動文件。初始化 C 程序的運行環(huán)境,然后進入C 程序代碼。IMPORT|Image$$RO$$Limit|IMPORT|Image$$RW$$Base|IMPORT|Image$$ZI$$Base|IMPORT|Image$$ZI$$Limit|IMPORTMain。聲明C 程序中的Main()函數(shù)AREAStart,CODE,READONLY。聲明代碼段StartENTRY。標識程序入口CODE32。聲明32 位ARM 指令ResetLDRSP,=0x40003F00。初始化C 程序的運行環(huán)境LDRR0,=|Image$$RO$$Limit|LDRR1,=|Image$$RW$$Base|LDRR3,=|Image$$ZI$$Base|CMPR0,R1BEQLOOP1LOOP0CMPR1,R3LDRCCR2,[R0],4STRCCR2,[R1],4BCCLOOP0LOOP1LDRR1,=|Image$$ZI$$Limit|MOVR2,0LOOP2CMPR3,R1STRCCR2,[R3],4BCCLOOP2BMain。跳轉(zhuǎn)到 C 程序代碼Main()函數(shù)END五、心得體會:通過本次實驗,我學會并掌握使用ADS ,并進行調(diào)試。這次實驗不同于前幾次,必須在一個工程里面同時加載兩個文件,分別是“。c”和“.s”文件。
點擊復制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1