下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、課程設(shè)計題目:兩個數(shù)相乘1、 實驗?zāi)康?、領(lǐng)會匯編語言的編程思想;2、掌握匯編語言的指令,加深乘法指令和循環(huán)指令的用法;3、學會DOS功能的調(diào)用。2、 實驗內(nèi)容實現(xiàn)兩個十進制數(shù)的乘法,被乘數(shù)和乘數(shù)均以ASCII碼形式存放在內(nèi)存中,乘積在屏幕上顯示出來。3、 實驗原理 本實驗設(shè)計A、B兩個數(shù)相乘。巧妙地運用了數(shù)學中的乘法原理,將B的低位和A的最低位相乘得到的數(shù)的低位存到AL中,這個數(shù)的進位存到AH中,再用B的低位和A的次低位相乘,得到一個數(shù),這個數(shù)的低位和上一次的進位相加。循環(huán)此過程直到到B與A的最高位相乘結(jié)束,并與上一次結(jié)果的進位相加,得到最后的結(jié)果。4、 程序設(shè)計流程圖 (此處畫上是實驗紙上
2、的流程圖)5、 實驗程序DATA SEGMENT ;定義數(shù)據(jù)段DATA1 DB 32H,39H,30H,35H,34H ;用ASCII碼表示被乘數(shù)45092DATA2 DB 34H ;用ASCII碼表示乘數(shù)4MES1 DB '*','$'MES2 DB '=','$'BUF DB 'Result$' RESULT DB 6 DUP(00H) ;定義存放結(jié)果的數(shù)據(jù)緩沖區(qū),6個字節(jié)長,初值為0DATA ENDS ;數(shù)據(jù)段結(jié)束STACK SEGMENT ;定義堆棧段STA DB 20 DUP(?) ;為變量STA分配20
3、個字節(jié)的空間TOP EQU LENGTH STA;返回利用DUP定義的數(shù)組元素的個數(shù)到TOP,TOP=20STACK ENDS ;堆棧段結(jié)束CODE SEGMENT ;定義代碼段 ASSUME CS: CODE,DS:DATA,SS:STACK,ES:DATASTART: MOV AX,DATA MOV DS,AX ;DSAX MOV AX,STACK MOV SS,AX ;SSSTACK MOV SP,TOP ;棧頂指針指向TOP MOV DX,OFFESET BUF MOV AH,9 ;DOS功能號09H送AH INT 21H ;顯示字符串please input LEA SI,DATA1
4、 ;被乘數(shù)首地址送SI MOV BX,05HL1: MOV AH,02H ;DOS功能號02H送AH MOV DL,SI+BX-1 ;被乘數(shù)送DL INT 21H ; DOS功能號調(diào)用(顯示器輸出) DEC BX JNZ L1 MOV AH,09H ; DOS功能號09H送AH LEA DX,MES1 ;MES1的偏移地址送DX INT 21H ; DOS功能號調(diào)用(顯示字符串) LEA SI,DATA2 ;乘數(shù)地址送SI MOV AH,02H MOV DL,SI ;乘數(shù)送DL INT 21H ;顯示乘數(shù) MOV AH,09H LEA DX,MES2 ; MES2的偏移地址送DX INT 21
5、H MOV SI,OFFSET DATA2 MOV BL,SI ;DATA2中的乘數(shù)送BL AND BL,00001111B ;屏蔽乘數(shù)高4位,ASCII碼轉(zhuǎn)換為十六進制 MOV SI,OFFSET DATA1 ;被乘數(shù)偏移地址送SI MOV DI,OFFSET RESULT ;運算結(jié)果偏移地址送DI MOV CX,05 ;設(shè)置循環(huán)次數(shù) LOOP1: MOV AL,SI ;被乘數(shù)送AL AND AL,00001111B ;屏蔽被乘數(shù)高4位,ASCII碼轉(zhuǎn)換為十六進制 INC SI MUL BL ;AL * BL送AX AAM ;乘法十進制調(diào)整 ADD AL,DI ;結(jié)果低位與前次計算的進位相加
6、 AAA ;BCD碼加法十進制調(diào)整指令MOV DI,AL ;計算結(jié)果低位送DI INC DI MOV DI,AH ;計算結(jié)果高位進位送DI+1 LOOP LOOP1 ;循環(huán) MOV CX,06 MOV SI, DI ;計算結(jié)果送SIDISPL:MOV AH,02H ;調(diào)用DOS功能號02H送AH MOV DL,SI ADD DL,30H ;結(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 6、 DOS功能調(diào)
7、用 在DOS軟中斷指令中最常用的是系統(tǒng)功能調(diào)用(INT 21H),主要完成文件管理,輸入/輸出設(shè)備控制,系統(tǒng)參數(shù)操作等等。它本身包含80多個子程序,每個字程序?qū)?yīng)一個功能號,其編號為062H。此次課程設(shè)計用到的幾個常用DOS系統(tǒng)功能調(diào)用。1) 鍵盤顯示并回顯(01H號功能)。此功能程序?qū)呙桄I盤并等待輸入一個字符,直到按下一個鍵(輸入一個字符),先檢查是否有Ctrl+Break鍵,若是則退出,否則把字符的ASC碼送入寄存器AL,并在屏幕上顯示該字符。2) 在屏幕顯示一個字符(02H號功能)。該功能要求的入口參數(shù)為:將將要顯示的字符的ASC碼存入DL,功能號存入AH。在執(zhí)行INT 21H時,會把
8、DL寄存器中的ASC碼字符送到屏幕顯示。02H號功能可顯示任意字符,如果DL。09H號功能不能顯示符號,所以02H號功能可作為09H號功能的補充。3) 字符串顯示(09H號功能)。09H號功能子程序?qū)⒅付ǖ膬?nèi)存緩沖區(qū)中的字符串送屏幕顯示。要現(xiàn)實的字符串必須事先存放在內(nèi)存數(shù)據(jù)區(qū)中,且字符串以作為結(jié)束標志,除此之外,還需要把存放待顯示字符串的內(nèi)存首地址分別存入DS和DX中。也可以將非顯示字符(如:回車,換行)的ASC碼(如:0AH,0DH)插入字符串中。4) 讀入字符串操作(0AH號功能)。這個功能子程序入口參數(shù)是DS:DX=輸入緩沖區(qū)首地址。5) 返回操作系統(tǒng)(4CH號功能)。這個功能子程序無入
9、口參數(shù),結(jié)束當前正在執(zhí)行的程序,并返回操作系統(tǒng),屏幕上顯示操作系統(tǒng)提示符。7、 部分指令介紹1、AAA是對BCD碼的加法十進制進行調(diào)整,用于對兩個非組合的BCD碼相加的結(jié)果進行調(diào)整,產(chǎn)生一個非組合的BCD碼。2、AAM指令總是跟在乘法指令之后,對兩個非組合BCD碼相乘結(jié)果進行調(diào)整,最后得到一個正確的非組合BCD碼結(jié)果。3、EQU:標號賦值偽指令,代表數(shù)據(jù)、數(shù)據(jù)地址或程序地址。4、DB:偽指令,是用來定義字節(jié)類型的偽變量8、 實驗結(jié)果9、 實驗總結(jié)及體會通過此次實驗,我查閱了相關(guān)資料,學習匯編語言,了解了匯編語言的編程思路,同時還學到一些DOS功能以及其調(diào)用方式。從匯編語言的編程思路上來看,匯編的編程思路一般是基于最基礎(chǔ)的原理,易理解,這樣就會產(chǎn)生較清晰的編程思路,但是在編程上還是有些吃力。一方面與自身編程經(jīng)歷少有關(guān)外,還有一方面就是沒有很系統(tǒng)地掌握這門計算機語言,對計算機內(nèi)部運行機制的理解還不到位,感覺很簡單,卻不知道從何下手,知道如何實現(xiàn)部分功能,卻不能系統(tǒng)地聯(lián)系起來,可以說,只能寫程序段,不熟悉怎么寫程序。此次實驗最大的收獲就是了解并學習了DOS功能。這是我們上課沒有涉及到的,感覺很新鮮,覺得這是匯編很關(guān)鍵的地方,可以大大減輕用戶的編程負擔,使用起來也很簡單方便。有了這些調(diào)用這些DOS功能號可使編寫的程序簡單,易讀,代碼緊湊,調(diào)試也方便。而且,我們可以利用DOS的這些功能實
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年新建住宅小區(qū)門窗采購合同
- 2024年式專利技術(shù)租賃合同
- 2024年度光伏發(fā)電設(shè)備采購與安裝合同
- 2024年式種豬選購協(xié)議
- DB4117T 223-2019 代料保鮮香菇秋栽技術(shù)規(guī)程
- 2024年新修訂:房產(chǎn)抵押借款合同
- 2024年建筑項目代理合同:居間工程代理
- 2024年度污水處理工程合同
- 2024年度建筑項目工程維護合同
- 押題02全球氣候變化-備戰(zhàn)2023年高考地理之考前押大題(解析版)
- 食品檢驗檢測技術(shù)專業(yè)職業(yè)生涯規(guī)劃書
- 食品40農(nóng)產(chǎn)品加工業(yè)發(fā)展
- 《如何學好初中數(shù)學》課件
- 華為常用網(wǎng)絡(luò)拓撲模板
- 02(111)力學第二章平面匯交力系與平面力偶系解析
- 粉塵防爆知識課件
- 女西褲前片結(jié)構(gòu)制圖教案
- 新疆烏魯木齊地區(qū)2024屆生物高一上期末聯(lián)考試題含解析
- 產(chǎn)品開發(fā)保密協(xié)議
- 生物柴油生產(chǎn)工藝
- 新能源汽車充電樁專屬安裝竣工驗收單模板
評論
0/150
提交評論