微機(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頁
微機(jī)原理實(shí)驗(yàn)之_分支程序、循環(huán)程序設(shè)計(jì)_第5頁
免費(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ù)塊在存儲中的位置情況對于兩個(gè)數(shù)據(jù)塊分離的情況,如圖3-1(a),數(shù)據(jù)的傳送從數(shù)據(jù)塊的首地址開始,或從數(shù)據(jù)塊的末地址開始均可。但是對于有重疊的情況,則要加以分析,否

2、則重疊部分會(huì)因“搬移”而遭到破壞,可有如下結(jié)論:當(dāng)源數(shù)據(jù)塊首地址目的塊首地址時(shí),從數(shù)據(jù)塊末地址開始傳送數(shù)據(jù),如圖3-1(b)所示。當(dāng)源數(shù)據(jù)塊首地址目的塊首地址時(shí),從數(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 SIDEC DIA1:MOV AL,

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

4、項(xiàng)大于200為止。編寫實(shí)驗(yàn)程序,計(jì)算上式的結(jié)果,參考流程圖如圖3-3所示。圖3-3 程序流程圖實(shí)驗(yàn)程序STACKSEGMENT STACKDW 64 DUP(?)STACKENDSCODESEGMENTASSUME CS:CODESTART:MOV DX,0001HMOV BL,02HA1:MOV AL,BLINC BLMUL BLADD DX,AX;結(jié)果存于DX中CMP AX,00C8H;判斷N(N+1)與200的大小JNA A1A2:JMP A2CODEENDSEND START實(shí)驗(yàn)步驟(1)編寫實(shí)驗(yàn)程序,編譯、鏈接無誤后裝入系統(tǒng);(2)運(yùn)行程序,然后再停止程序運(yùn)行;(3)運(yùn)算結(jié)果存儲在寄

5、存器DX中,查看結(jié)果是否正確;(4)可以改變N(N1)的條件來驗(yàn)證程序功能是否正確,但要注意,結(jié)果若大于FFFFH將產(chǎn)生數(shù)據(jù)溢出。2. 求某數(shù)據(jù)區(qū)內(nèi)負(fù)數(shù)的個(gè)數(shù)設(shè)數(shù)據(jù)區(qū)的第一單元存放區(qū)內(nèi)單元數(shù)據(jù)的個(gè)數(shù),從第二單元開始存放數(shù)據(jù),在區(qū)內(nèi)最后一個(gè)單元存放結(jié)果。為統(tǒng)計(jì)數(shù)據(jù)區(qū)內(nèi)負(fù)數(shù)的個(gè)數(shù),需要逐個(gè)判斷區(qū)內(nèi)的每一個(gè)數(shù)據(jù),然后將所有數(shù)據(jù)中凡是符號位為1的數(shù)據(jù)的個(gè)數(shù)累加起來,即得到區(qū)內(nèi)所包含負(fù)數(shù)的個(gè)數(shù)。實(shí)驗(yàn)程序流程圖如圖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ù)個(gè)數(shù)XOR CH, CHMOV BL, CHINC DI;指向第一個(gè)數(shù)據(jù)A1:MOV AL, DITEST AL, 80H;檢查數(shù)據(jù)首位是否為1JE A2INC BL;負(fù)數(shù)個(gè)數(shù)加1A2:INC DILOOP A1MOV DI, BL;保存結(jié)果A3:JMP A3CODEENDSEND START實(shí)驗(yàn)步驟(1)按實(shí)驗(yàn)流程編寫實(shí)驗(yàn)程序;(2)編譯、鏈接無誤后裝入系統(tǒng);(3)鍵入E3000,輸入數(shù)據(jù)如下:300006 (數(shù)據(jù)個(gè)數(shù))30011230028830

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論