微機原理設(shè)計實驗_第1頁
微機原理設(shè)計實驗_第2頁
微機原理設(shè)計實驗_第3頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、微機原理設(shè)計實驗之兩個數(shù)相乘-CAL-FENGHAI-(2020YEAR-YICAI)i課程設(shè)計題目:兩個數(shù)相乘一、實驗?zāi)康?、領(lǐng)會匯編語言的編程思想;2、掌握匯編語言的指令,加深乘法指令和循環(huán)指令的用法;3、學(xué)會DOS功能的調(diào)用。二、實驗內(nèi)容實現(xiàn)兩個十進(jìn)制數(shù)的乘法,被乘數(shù)和乘數(shù)均以ASCII碼形式存放在內(nèi)存中,乘積在屏幕上顯示岀來。三、實 驗原理本實驗設(shè)計A、B兩個數(shù)相乘。巧妙地運用了數(shù)學(xué)中的乘法原理,將B的低位和A的最低位相乘得到的數(shù)的低位存到 AL中,這個數(shù)的進(jìn)位存到AH中,再用B 的低位和 A 的次低位相乘,得到一個數(shù),這個數(shù)的低位和上一次的進(jìn)位相加。循環(huán)此過程直到到 B 與 A 的最

2、高位相乘結(jié)束,并與上一次結(jié)果的進(jìn)位相加,得到最后的結(jié)果。四、程序設(shè)計流程圖( 此處畫上是實驗紙上的流程圖 )五、實驗程序DATA SEGMENT;定義數(shù)據(jù)段DATA1 DB 32H,39H,30H,35l/34H ;用 ASCII碼表示被乘數(shù) 45092DATA2 DB 34H;用ASCII碼表示乘數(shù) 4MES1 DB切 ,$ 'MES2 DBBUFDB?ResultS1RESULT DB 6 DUP(OOH)定義存放結(jié)果的數(shù)據(jù)緩沖區(qū),6個字節(jié)長,初值為0 DATAENDS;數(shù)據(jù)段結(jié)束STACK SEGMENT;定義堆棧段STA DB 20 DUP();為變量STA分配20個字節(jié)的空間

3、TOP EQU LENGTH STA;返回利用DUP定義的數(shù)組元素的個數(shù)到TOP,TOP=20STACK ENDS;堆棧段結(jié)束CODE SEGMENT;定義代碼段ASSUME CS: CODEQS:DATA,SS:STACK,ES:DATASTART: MOV AX,DATA ;DSTAXMOV DS,AXMOV AXZSTACKMOV SS,AXMOV SP,TOP;SSTSTACK;棧頂指針指向TOPMOV DX,OFFESET BUF ;DOS功能號 09H 送 AHMOV AH,9;顯示字符串 'please inputINT21H;被乘數(shù)首地址送 SILEA SI,DATA1

4、MOV BX,05HLI: MOV AH,O2HMOV DL,SI+BX-1INT 21H;DOS功能號02H送AH;被乘數(shù)送DL;DOS功能號調(diào)用(顯示器輸出)DEC BXJNZ LIMOV AH,09H;DOS功能號 09H 送 AHLEA DX,MES1;MES1的偏移地址送DXINT 21H;DOS功能號調(diào)用(顯示字符串)LEA SI,DATA2;乘數(shù)地址送SIMOV AH,O2HMOV DL,SI;乘數(shù)送DLINT 21H;顯示乘數(shù)MOV AH,09HLEA DX,MES2;MES2的偏移地址送DXINT 21HMOV SI,OFFSET DATA2MOV BL,SI;DATA2中的

5、乘數(shù)送 BLAND BL,OOOO1111B 屏敝乘數(shù)咼4位,ASCII碼轉(zhuǎn)換為十六進(jìn)制MOV SI,OFFSET DATA1;被乘數(shù)偏移地址送SIMOV DI,OFFSET RESULT;運算結(jié)果偏移地址送 DIMOV CX,O5;設(shè)置循環(huán)次數(shù)LOOP1: MOV AL,S;被乘數(shù)送ALAND AL,OOOO1111B ;屏敝被乘數(shù)咼4位,ASCII碼轉(zhuǎn)換為十六進(jìn)INC SI制MUL BL;AL * BL S AXAAM;乘法十進(jìn)制調(diào)整ADD AL,DI;結(jié)果低位與前次計算的進(jìn)位相加AAA;BCD碼加法十進(jìn)制調(diào)整指令MOV DI,AL;計算結(jié)果低位送DIINC DIMOV DI,AH;訃算結(jié)

6、果高位進(jìn)位送DI+1LOOP LOOP1;循環(huán)MOV CX,06MOV SI, DI;計算結(jié)果送SIDISPLMOV AH,02H;調(diào)用DOS功能號02H送AHMOV DL,SIADD DL,3OH;結(jié)果轉(zhuǎn)換為ASCII碼INT 21H;顯示一位數(shù)據(jù)DEC SI;地址減一,繼續(xù)后面的數(shù)據(jù)顯示LOOP DISPL;顯示運算結(jié)果MOV AX,4C00H;返回DOSINT 21H;結(jié)束CODE ENDSEND START六、DOS功能調(diào)用在DOS軟中斷指令中最常用的是系統(tǒng)功能調(diào)用 (INT21H),主要完成文件 管理,輸入 / 輸出設(shè)備控制,系統(tǒng)參數(shù)操作等等。它本身包含 80多個子程 序, 每個字程

7、序?qū)?yīng)一個功能號,其編號為 0? 62H。此次課程設(shè)計用到的兒個 常用 DOS系統(tǒng)功能調(diào)用。1)鍵盤顯示并回顯(01H號功能)。此功能程序?qū)呙桄I盤并等待輸入一 個字符,直到按下一個鍵(輸入一個字符),先檢查是否有 Ctrl+Break 鍵,若 是則退出,否則把字符的ASCH碼送入寄存器AL,并在屏幕上顯示該字符。2)在屏幕顯示一個字符 (02H 號功能)。該功能要求的入口參數(shù)為:將將要 顯示的字符的ASCII碼存入DL,功能號存入AHo在執(zhí)行INT 21H時,會把DL寄 存器中的ASCII碼字符送到屏幕顯示。02H號功能可顯示任意字符,如果 DLo 09H 號功能不能顯示 '$

8、9; 符號,所以 02H 號功能可作為 09H 號功能的補 充。3)字符串顯示 (09H 號功能)。 09H 號功能子程序?qū)⒅付ǖ膬?nèi)存緩沖區(qū)中的字符串送屏幕顯示。要現(xiàn)實的字符串必須事先存放在內(nèi)存數(shù)據(jù)區(qū)中,且字符 串以'$ ' 作為結(jié)束標(biāo)志,除此之外,還需要把存放待顯示字符串的內(nèi)存首地 址 分別存入DS和DX中。也可以將非顯示字符(如:回車,換行)的ASCE碼(如:0AH,0DH)插入字符串中。4)讀入字符串操作 ( 0AH 號功能)。這個功能子程序入口參數(shù)是 DS: DX= 輸入緩沖區(qū)首地址。5)返回操作系統(tǒng)(4CH號功能)。這個功能子程序無入口參數(shù),結(jié)束當(dāng)前 正在執(zhí)行的程序,

9、并返回操作系統(tǒng),屏幕上顯示操作系統(tǒng)提示符。七、部分指令介紹1、 AAA是對BCD碼的加法十進(jìn)制進(jìn)行調(diào)整,用于對兩個非組合的BCD碼相加的結(jié)果進(jìn)行調(diào)整,產(chǎn)生一個非組合的BCD碼。2、 AAM指令總是跟在乘法指令之后,對兩個非組合 BCD碼相乘結(jié)果進(jìn)行 調(diào)整,最后得到一個正確的非組合 BCD碼結(jié)果。3、EQU:標(biāo)號賦值偽指令,代表數(shù)據(jù)、數(shù)據(jù)地址或程序地址。4、DB:偽指令,是用來定義字節(jié)類型的偽變量八、實驗結(jié)果九、實驗總結(jié)及體會通過此次實驗,我查閱了相關(guān)資料,學(xué)習(xí)匯編語言,了解了匯編語言的編 程思路,同時還學(xué)到一些 DOS功能以及其調(diào)用方式。從匯編語言的編程思路上來看,匯編的編程思路一般是基于最基礎(chǔ)的原 理,易理解,這樣就會產(chǎn)生較清晰的編程思路,但是在編程上還是有些吃力。 一方面與自身編程經(jīng)歷少有關(guān)外,還有一方面就是沒有很系統(tǒng)地掌握這門計算 機語言,對計算機內(nèi)部運行機制的理解還不到位,感覺很簡單,卻不知道從何 下手,知道如何實現(xiàn)部分功能,卻不能系統(tǒng)地聯(lián)系起來,可以說,只能寫程序 段,不熟悉怎么寫程序。此次實驗最大的收獲就是了解并學(xué)習(xí)了DOS功能。這是我們上課沒有涉及到的,感覺很新鮮,覺得這是匯編很關(guān)鍵的地方,可以大大減輕用戶的編程負(fù) 擔(dān),使用起來也很簡單方便。有了這些調(diào)用這些DOS功能號可使編寫的程序簡單,易讀,代碼緊湊,調(diào)試也方便。而且,我們可以利用DOS的這些功能實現(xiàn)更便捷

溫馨提示

  • 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

提交評論