實(shí)驗(yàn)三_尋址方式、指令系統(tǒng)和匯編偽操作_第1頁(yè)
實(shí)驗(yàn)三_尋址方式、指令系統(tǒng)和匯編偽操作_第2頁(yè)
實(shí)驗(yàn)三_尋址方式、指令系統(tǒng)和匯編偽操作_第3頁(yè)
實(shí)驗(yàn)三_尋址方式、指令系統(tǒng)和匯編偽操作_第4頁(yè)
實(shí)驗(yàn)三_尋址方式、指令系統(tǒng)和匯編偽操作_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、尋址方式、指令系統(tǒng)和匯編偽操作姓名:鄧陟 學(xué)號(hào):2009011976 實(shí)驗(yàn)班號(hào):13 機(jī)器號(hào):A65(A13一、 實(shí)驗(yàn)?zāi)康?. 學(xué)習(xí) MSP430的尋址方式和指令系統(tǒng)2. 了解計(jì)算機(jī)取指令、執(zhí)行指令的工作過(guò)程3. 掌握 DEBUG 下的運(yùn)行命令、調(diào)試程序的方法4. 掌握常用匯編偽操作(指示性語(yǔ)句二、 實(shí)驗(yàn)基本任務(wù)1. 學(xué)習(xí)尋址方式和指令系統(tǒng)運(yùn)行 EW430, 新建一個(gè)匯編語(yǔ)言建立項(xiàng)目 Lab_3, 編寫(xiě)下面 L3_task1.s43, 添加到項(xiàng) 目 Lab_3中, 移出項(xiàng)目自帶的 asm.s43, 編譯連接后,在 DEBUG 下單步執(zhí)行程序, 回答:下面各條指令采用了哪些尋址方式?程序的功能是

2、什么?如何查看程序執(zhí)行 的結(jié)果? 表 1 指令尋址方式 儲(chǔ)器單元中。程序執(zhí)行的結(jié)果可在 memory 中查看。按下面方式完成操作:1 先用 view 中的 memory 操作將 300h 開(kāi)始的 8個(gè)內(nèi)存單元內(nèi)容順序修改為十六 進(jìn)制的 11,12,13,14,15,16,17,18,19,1a ;2 用單步執(zhí)行命令 step over(F10執(zhí)行一遍程序, 注意觀察每條指令執(zhí)行后的結(jié)果, 含相關(guān)寄存器和存儲(chǔ)單元的變化;表 2 指令執(zhí)行結(jié)果 3 復(fù)位程序,分別在 JNZ next、 exit 語(yǔ)句前設(shè)置一個(gè)斷點(diǎn),用連續(xù)執(zhí)行命令 Go(F5執(zhí)行程序,觀察每次執(zhí)行后的結(jié)果。表 3 執(zhí)行后結(jié)果 4 如

3、果將程序中的 ADD.B R14,R15和 INC R14兩條語(yǔ)句改為一條 ADD.B R14+,R15語(yǔ)句,采用了什么尋址方式?程序執(zhí)行的功能是否改變?采用了寄存器間接增量尋址。程序執(zhí)行的功能不改變。5 在 4 的基礎(chǔ)上將程序中的 ADD.B R14+,R15改為 ADD.W R14+,R15,將 MOV.B R15, 0(R14改為 MOV.W R15, 0(R14,重新執(zhí)行程序,執(zhí)行的結(jié)果有什么不同? 執(zhí)行的結(jié)果是將 300h 為首地址的 6個(gè)字存儲(chǔ)器單元內(nèi)容相加,結(jié)果放在 30Ch 存儲(chǔ)器單元中。6 如果程序中的 INC R4 寫(xiě)成了 INC.B R4,執(zhí)行的結(jié)果一樣嗎?為什么?不一樣

4、。因?yàn)?INC.B R4會(huì)使 R4中高字節(jié)內(nèi)容清零。2. 調(diào)試程序練習(xí)程序 L3_task2.s43功能是向端口 2(地址為 &029h傳送 0FFh 初值,延時(shí)一段時(shí)間, 求反后再送出,延時(shí),如此反復(fù)。由于端口 2與發(fā)光二級(jí)管相連,看到的現(xiàn)象應(yīng)該 是 8個(gè)發(fā)光二級(jí)管全亮,延時(shí),全滅,如此反復(fù)。程序沒(méi)有語(yǔ)法上的問(wèn)題,但運(yùn)行 后不能實(shí)現(xiàn)上述現(xiàn)象,請(qǐng)查找其中的問(wèn)題,并修改。 CALL #delay。3. 比較 step into和 step over的不同在修改好了的 L3_task2.s43的基礎(chǔ)上,調(diào)試程序,分別用 Step into 和 Step over執(zhí) 行 CALL 指令,比較有何不同

5、。1 記錄用 step over(F10執(zhí)行程序中的 call 指令后, SP 的變化。SP 停留在 0x0A00。2 記錄用 step into(F11執(zhí)行程序中的 call 指令后, SP 的變化。SP 進(jìn)入子程 delay 后由 0x0A00變?yōu)?0x09FE 。Step into會(huì)進(jìn)入子程, Step over則不會(huì)進(jìn)入子程。4. 學(xué)習(xí)匯編指示性語(yǔ)句編寫(xiě)下面程序 L3_directives.s43,利用 project/remove移出模板文件 asm.s43,點(diǎn)擊 project/add/files將 L3_directives.s43添加到項(xiàng)目中。 1 利用 EW430下的 vie

6、w/memory查看 DATA16_C段中定義的存儲(chǔ)單元內(nèi)容和地址。表 4 存儲(chǔ)單元符號(hào)、地址和內(nèi)容 2 在 L3_directives.s43中, number4和 number1分別被定義成了什么?二者有何 不同? #number4和 #number1這兩個(gè)操作有何不同? MOV #number4, R7和 MOV number4, R7執(zhí)行的結(jié)果會(huì)相同嗎?為什么?number4被定義成常量而 number1被定義成字節(jié)類(lèi)型變量。 #number4取常量 number4作為立即數(shù),而 #number1取 number1的地址作為立即數(shù)。 MOV #number4, R7和 MOV numb

7、er4, R7執(zhí)行的結(jié)果不相同。 因?yàn)?#number4是立即數(shù)尋址而 number4 是符號(hào)地址尋址。 三、 已完成的選做任務(wù) 5. 理解 CPU 對(duì)存儲(chǔ)器進(jìn)行字操作遵循的“對(duì)準(zhǔn)偶地址”原則 在 430 單片機(jī)中,當(dāng)向存儲(chǔ)器進(jìn)行一個(gè)字節(jié)的讀/寫(xiě)操作時(shí),對(duì)存儲(chǔ)器單元的地址 沒(méi)有奇、偶的限制;當(dāng)向存儲(chǔ)器進(jìn)行一個(gè)字的讀/寫(xiě)操作時(shí),要求從偶地址開(kāi)始(即 對(duì)準(zhǔn)偶地址原則,存放的規(guī)則采用“小端模式” (Little Endian) ,即字?jǐn)?shù)據(jù)中的低字 節(jié)存放在低地址單元,高字節(jié)存放在高地址單元。如果從奇地址讀寫(xiě)一個(gè)字,往往 會(huì)給編程者帶來(lái)非意想的數(shù)據(jù)結(jié)果。 閱讀下面程序 L3_task5.s43, 填寫(xiě)

8、下表 1 和 2,比較上機(jī)前后得到的結(jié)果。 L3_task5.s43 程序清單 #include msp430.h NAME PUBLIC ORG DC16 RSEG RSEG init: main: MOV NOP MOV.W MOV.W MOV.W MOV.W MOV.W MOV.W MOV.W MOV.W MOV.W MOV.W JMP $ END 表 5 存儲(chǔ)單元內(nèi)容比對(duì) main main 0FFFEh init CSTACK CODE #SFE(CSTACK, SP ; set reset vector to init label ; pre-declaration of segm

9、ent ; place program in CODE segment ; set up stack ; main program #WDTPW+WDTHOLD,&WDTCTL #1234H, #5678H, &200h &202h ; Stop watchdog timer ; #define controlled include file ; module name ; make the main label vissible ; outside this module #9ABCH, &203h #0DE0FH, &204h &200h, R4 &202H, R5 &203h, R6 &204h, R7 &205h, R8 ; jump to current location $ ; (endless loop 存儲(chǔ)單元地址 200h 201h 202h 203h 存儲(chǔ)單元內(nèi)容 上機(jī)前預(yù)測(cè)的結(jié)果 34 12 78 B

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論