微機(jī)原理與應(yīng)用實(shí)驗(yàn)報(bào)告-3(軟件中斷調(diào)用實(shí)驗(yàn))_第1頁
微機(jī)原理與應(yīng)用實(shí)驗(yàn)報(bào)告-3(軟件中斷調(diào)用實(shí)驗(yàn))_第2頁
微機(jī)原理與應(yīng)用實(shí)驗(yàn)報(bào)告-3(軟件中斷調(diào)用實(shí)驗(yàn))_第3頁
微機(jī)原理與應(yīng)用實(shí)驗(yàn)報(bào)告-3(軟件中斷調(diào)用實(shí)驗(yàn))_第4頁
微機(jī)原理與應(yīng)用實(shí)驗(yàn)報(bào)告-3(軟件中斷調(diào)用實(shí)驗(yàn))_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)裝訂裝訂線 開課學(xué)院及實(shí)驗(yàn)室:電氣信息學(xué)院 6A-217實(shí)驗(yàn)時(shí)間 :年月日學(xué) 生 姓 名學(xué)號成 績學(xué)生所在學(xué)院電氣信息學(xué)院年級/專業(yè)/班課 程 名 稱微機(jī)原理與應(yīng)用課 程 代 碼實(shí)驗(yàn)項(xiàng)目名稱軟件中斷調(diào)用實(shí)驗(yàn)項(xiàng) 目 代 碼指 導(dǎo) 教 師項(xiàng) 目 學(xué) 分一、實(shí)驗(yàn)?zāi)康?、熟練掌握DOS 中斷功能調(diào)用及BIOS 中斷調(diào)用方法。2、熟練掌握全屏幕文本編輯應(yīng)用軟件(如EDIT.COM、Windows 的記事本、各種匯編集成編輯器)的用法;3、學(xué)習(xí)調(diào)用宏匯編程序(MASM.EXE)來匯

2、編源程序;4、學(xué)習(xí)調(diào)用連接程序(LINK.EXE)來獲得可執(zhí)行的目標(biāo)程序;5、進(jìn)一步熟悉MS-DOS 操作系統(tǒng)的常用命令;二、實(shí)驗(yàn)原理(一)DOS 功能調(diào)用(二)DOS軟件中斷調(diào)用過程1、將功能調(diào)用號傳送到AH 中;2、把調(diào)用參數(shù)(入口參數(shù))傳送到規(guī)定寄存器中;3、發(fā)中斷命令I(lǐng)NT N;4、在返回參數(shù)(出口參數(shù))寄存器或存儲器區(qū)域查詢執(zhí)行結(jié)果;(三)實(shí)驗(yàn)內(nèi)容:1、基本實(shí)驗(yàn):編寫一個(gè)程序?qū)崿F(xiàn)在CRT 上循環(huán)顯示0-9 共50 次,即0 1 2 3 4 5 6 7 8 9 0 1 2 3,最好顯示一個(gè)字符后有一定延時(shí)。2、設(shè)計(jì)實(shí)驗(yàn):編程實(shí)現(xiàn)模擬計(jì)算機(jī)開機(jī)密碼輸入過程,即顯示“Password:”,

3、等待用戶輸入密碼(1-6 位),每輸入一個(gè)字符顯示一個(gè)*,要求把輸入的口令存儲在buffer 為起始地址的內(nèi)存區(qū)域。3、設(shè)計(jì)實(shí)驗(yàn):編寫一個(gè)程序,把從鍵盤輸入的十個(gè)大寫字母轉(zhuǎn)換為小寫字母,并在屏幕上顯示出來。三、實(shí)驗(yàn)設(shè)備、儀器及材料1、微機(jī)系統(tǒng)一套及EL-1 微機(jī)實(shí)驗(yàn)教學(xué)系統(tǒng)一套;2、宏匯編語言匯編連接工具軟件、匯編集成編輯器、EDIT.COM、Windows 的記事本;3、DEBUG 調(diào)試工具(DEBUG 的使用方法參見實(shí)驗(yàn)一);四、實(shí)驗(yàn)步驟(按照實(shí)際操作過程)1、建立源程序用匯編集成編輯器或編輯程序EDIT.COM、Windows記事本建立匯編語言源程序的磁盤文件。2、對源文件進(jìn)行匯編匯編時(shí)

4、,匯編程序?qū)σ灰⑦@些文件采用屏幕對答式提問,你必須逐項(xiàng)回答。匯編時(shí)發(fā)現(xiàn)源程序中有語法錯(cuò)誤,則顯示有錯(cuò)誤的語句序號和錯(cuò)誤代碼,最后列出錯(cuò)誤總數(shù)。這時(shí),要仔細(xì)分析出錯(cuò)誤信息表。再調(diào)用EDIT 對源程序進(jìn)行修改。3、對源程序進(jìn)行修改在系統(tǒng)提示符下輸入命令:F:EDIT A:MONTH.ASM這時(shí)可對原文件進(jìn)行刪除、插入等修改編輯操作,修改結(jié)束后存盤。然后再調(diào)用MASM 對修改后的源程序匯編,如果程序還有錯(cuò)誤,又調(diào)用EDIT 對它進(jìn)行修改、再匯編,直到程序匯編通過為止。匯編通過后,在A 盤中生成*.obj,*.lst,*.crf 三個(gè)文件。4、目標(biāo)文件的連接用LINK 連接目標(biāo)文件,可以采用三種

5、方式:交護(hù)式;命令方式;命令文件方式。下面僅介紹交互式的連接過程,其他方式和多個(gè)目標(biāo)文件的連接請參考DOS 使用手冊。連接通過,在A 盤上生成MONTH.EXE 的可執(zhí)行文件。如果讀者不希望作人機(jī)對話輸入,那麼可以用下匯編連接方法:F:MASM MONTH;F:LINK MONTH;5、用戶程序的調(diào)試運(yùn)行在DOS 狀態(tài)下運(yùn)行程序,再根據(jù)設(shè)計(jì)要求逐項(xiàng)測試程序功能。這是因?yàn)榻?jīng)過匯編、連接生成的可執(zhí)行文件,雖然已經(jīng)排除了源程序在語法上的錯(cuò)誤,但還不能保證程序的功能,如果存在差錯(cuò)或有需要刪改的地方,則重復(fù)編輯、匯編、運(yùn)行步驟,直到程序功能完全符合要求為止。用戶的可執(zhí)行程序,也可以在DEBUG 程序管理

6、下進(jìn)行單步、斷點(diǎn)、連續(xù)運(yùn)行、以及進(jìn)行增加、刪改等修改操作。jmp do0 ;跳到do0jmp do0 ;跳到do0do1:dec cx ;cx-1mov dl, ;將 給dlmov ah,02 ;調(diào)用顯示中斷int 21h ;調(diào)用中斷,顯示al中的數(shù)字jnz next ;如果cx不為0,那么跳到nextmov ah,4ch ;結(jié)束int 21hcode endsend gocode segmentassume cs:codego:mov cx,50 ;循環(huán)控制next:mov al,0 ;輸入0do0:mov dl,al ;將0給dlmov ah,02 ;調(diào)用顯示中斷int 21h ;調(diào)用中斷

7、,顯示al中的數(shù)字cmp al,9 ;將al與9進(jìn)行比較jae do1 ;如果al=9 ,則跳到do1inc al ;如果al9,al+1jmp do0 ;跳到do0data segmentstrdb 0ah,0dh, Enter password:$ ;定義一個(gè)字符串str1db 0ah,0dh, Your password is:$ ;定義一個(gè)字符串bufdb 6 dup(?),$ ;定義6個(gè)0mov ah,02mov ah,02 ;調(diào)用顯示輸出中斷int 21h ;調(diào)用顯示輸出中斷inc di ;di+1dec cx ;cx-1jnz next ;cx不到0,調(diào)到nextlea dx,s

8、tr1 ;將str1的地址給dxmov ah,09 ;調(diào)用顯示字符串中斷int 21h ;調(diào)用顯示字符串中斷l(xiāng)ea dx,buf ;將buf的地址給dxmov ah,09 ;調(diào)用顯示字符串中斷int 21h ;調(diào)用顯示字符串中斷mov ah,4ch ;結(jié)束int 21hcode endsend gocode segmentassume cs:code,ds:datago:push ds ;初始化mov ax,0push axmov ax,datamov ds,ax ;初始化lea dx,str ;將str的地址給dx mov ah,09 ;調(diào)用顯示字符串中斷int 21h ;調(diào)用顯示字符串中斷

9、lea di,buf ;將buf的地址給dimov cx,6 ;循環(huán)次數(shù)為6next:mov ah,07h ;調(diào)用鍵盤輸入中斷int 21h ;調(diào)用鍵盤輸入中斷mov di,al ;將鍵盤輸入的值給dsdi處mov dl,* ;把*給dlcmp al,Z ;將輸入字與cmp al,Z ;將輸入字與Z比較ja do0 ;輸入為小寫,那么跳到do add al,a-A ;否則為大寫,al+32jmp do1 ;跳到do1do0:sub al,a-A ;將al-32do1:mov di,al ;將al送到ds:diinc di ;di+1dec cx ;cx-1jnz next ;cx不為,跳到ne

10、xtlea dx,str1 ;將str1的地址給dxmov ah,09 ;調(diào)用顯示字符串中斷int 21h ;調(diào)用顯示字符串中斷l(xiāng)ea dx,buf ;將buf的地址給dxmov ah,09 ;調(diào)用顯示字符串中斷int 21h ;調(diào)用顯示字符串中斷mov ah,4ch ;結(jié)束int 21h code endsend gostrdb 0ah,0dh, Enter string:$ ;定義一個(gè)字符串str1db 0ah,0dh, Change to:$ ;定義一個(gè)字符串bufdb 10 dup(?),$ ;定義10個(gè)0data endscode segmentassume cs:code,ds:datago:push ds ;初始化mov ax,0push axmov ax,data

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論