微機(jī)原理實(shí)驗(yàn)之_分支程序、循環(huán)程序設(shè)計(jì)_第1頁
微機(jī)原理實(shí)驗(yàn)之_分支程序、循環(huán)程序設(shè)計(jì)_第2頁
微機(jī)原理實(shí)驗(yàn)之_分支程序、循環(huán)程序設(shè)計(jì)_第3頁
微機(jī)原理實(shí)驗(yàn)之_分支程序、循環(huán)程序設(shè)計(jì)_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn)三 分支程序、循環(huán)程序設(shè)計(jì)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?. 掌握分支程序的結(jié)構(gòu)。2. 掌握分支程序的設(shè)計(jì)、調(diào)試方法。3. 加深對循環(huán)結(jié)構(gòu)的理解。4. 掌握循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的方法以及調(diào)試方法。二、實(shí)驗(yàn)設(shè)備PC 機(jī)一臺, TD-PITE 實(shí)驗(yàn)裝置一套。三、實(shí)驗(yàn)內(nèi)容:設(shè)計(jì)一數(shù)據(jù)塊間的搬移程序。設(shè)計(jì)思想: 程序要求把內(nèi)存中一數(shù)據(jù)區(qū)(稱為源數(shù)據(jù)塊) 傳送 到另一存儲區(qū)(稱為目的數(shù)據(jù)塊) 。源數(shù)據(jù)塊和目的數(shù)據(jù)塊在存儲中可能有三種情況,如圖1 所示。圖 3-1 源數(shù)據(jù)塊與目的數(shù)據(jù)塊在存儲中的位置情況對于兩個數(shù)據(jù)塊分離的情況,如圖3-1 (a),數(shù)據(jù)的傳送從數(shù)據(jù)塊的首地址開始,或從數(shù)據(jù)塊的末地址開始均可。但是對于有重

2、疊的情況,則要加以分析,否則重疊部分會因“搬移而遭到破壞,可有如下結(jié)論:當(dāng)源數(shù)據(jù)塊首地址v目的塊首地址時,從數(shù)據(jù)塊末地址開始傳送數(shù)據(jù),如圖3-1 (b)所示。當(dāng)源數(shù)據(jù)塊首地址目的塊首地址時,從數(shù)據(jù)塊首地址開始傳送數(shù)據(jù),如圖3-1 (c)所示。參考流程:如圖 3-2 所示。圖 3-2 程序流程圖實(shí)驗(yàn)程序STACKSEGMENT STACKDW 64 DUP(?)STACKENDSCODESEGMENTASSUME CS:CODESTART:MOV CX, 0010HMOV SI, 3100HMOV DI, 3200HCMP SI, DIJA A2ADD SI, CXADD DI, CXDEC S

3、IDEC DIA1:MOV AL, SI MOV DI, AL DEC SIDEC DIDEC CX JNE A1JMP A3A2:MOV AL, SI MOV DI, AL INC SIINC DIDEC CXJNE A2A3: JMP A3CODE ENDSEND START實(shí)驗(yàn)步驟1. 按流程圖編寫實(shí)驗(yàn)程序,經(jīng)編譯、鏈接無誤后裝入系統(tǒng);2. 用E命令在以SI為起始地址的單元中填入16個數(shù);3. 運(yùn)行程序,然后再停止運(yùn)行;4. 通過 D 命令查看 DI 為起始地址的單元中的數(shù)據(jù)是否與 SI 單元中數(shù)據(jù)相同;5. 通過改變 SI、DI 的值,觀察在三種不同的數(shù)據(jù)塊情況下程序的運(yùn)行情況,并驗(yàn)證

4、程序的 功能。2.計(jì)算 S= 1 + 2X3 + 3M + 4X5 + N(N + 1),直到 N(N + 1)項(xiàng)大于 200 為止。 編寫實(shí)驗(yàn)程序,計(jì)算上式的結(jié)果,參考流程圖如圖 3-3 所示。圖 3-3 程序流程圖 實(shí)驗(yàn)程序 STACK SEGMENT STACKDW 64 DUP(?) STACK ENDSCODE SEGMENT ASSUME CS:CODE; 結(jié)果存于 DX 中START: MOV DX,0001H MOV BL,02H A1: MOV AL,BL INC BL MUL BL ADD DX,AXCMP AX,00C8H;判斷 N(N+1) 與 200 的大小JNA A

5、1A2: JMP A2CODE ENDSEND START實(shí)驗(yàn)步驟(1) 編寫實(shí)驗(yàn)程序,編譯、鏈接無誤后裝入系統(tǒng);(2) 運(yùn)行程序,然后再停止程序運(yùn)行;( 3)運(yùn)算結(jié)果存儲在寄存器 DX 中,查看結(jié)果是否正確;(4)可以改變N ( N + 1)的條件來驗(yàn)證程序功能是否正確,但要注意,結(jié)果若大于FFFFH將產(chǎn)生數(shù)據(jù)溢出。2. 求某數(shù)據(jù)區(qū)內(nèi)負(fù)數(shù)的個數(shù) 設(shè)數(shù)據(jù)區(qū)的第一單元存放區(qū)內(nèi)單元數(shù)據(jù)的個數(shù), 從第二單元開始存放數(shù)據(jù), 在區(qū)內(nèi)最后一個 單元存放結(jié)果。 為統(tǒng)計(jì)數(shù)據(jù)區(qū)內(nèi)負(fù)數(shù)的個數(shù),需要逐個判斷區(qū)內(nèi)的每一個數(shù)據(jù), 然后將所有數(shù)據(jù)中凡是符號位為 1 的數(shù)據(jù)的個數(shù)累加起來,即得到區(qū)內(nèi)所包含負(fù)數(shù)的個數(shù)。 實(shí)驗(yàn)

6、程序流程圖如圖 3-4 所示。圖 3-4 程序流程圖實(shí)驗(yàn)程序STACKSEGMENT STACKDW 64 DUP(?)STACKENDSCODESEGMENTASSUME CS:CODESTART:MOV DI, 3000H;數(shù)據(jù)區(qū)首地址MOV CL, DI;取數(shù)據(jù)個數(shù)XOR CH, CHMOV BL, CHINC DI;指向第一個數(shù)據(jù)A1:MOV AL, DITEST AL, 80H;檢查數(shù)據(jù)首位是否為JE A2INC BL;負(fù)數(shù)個數(shù)加 1A2:INC DILOOP A1MOV DI, BL;保存結(jié)果A3:JMP A3CODEENDSEND START1實(shí)驗(yàn)步驟(1)按實(shí)驗(yàn)流程編寫實(shí)驗(yàn)程序;(2)編譯、鏈接無誤后裝入系統(tǒng);(3)鍵入 E3000 ,輸入數(shù)據(jù)如下:3000 = 06 (數(shù)據(jù)個數(shù))3001=123002=883003

溫馨提示

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

最新文檔

評論

0/150

提交評論