微機(jī)原理與接口技術(shù)實(shí)驗(yàn)指導(dǎo)書076077班用new_第1頁
微機(jī)原理與接口技術(shù)實(shí)驗(yàn)指導(dǎo)書076077班用new_第2頁
微機(jī)原理與接口技術(shù)實(shí)驗(yàn)指導(dǎo)書076077班用new_第3頁
微機(jī)原理與接口技術(shù)實(shí)驗(yàn)指導(dǎo)書076077班用new_第4頁
微機(jī)原理與接口技術(shù)實(shí)驗(yàn)指導(dǎo)書076077班用new_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

1、機(jī)械工程學(xué)院微機(jī)原理與接口技術(shù)實(shí)驗(yàn)指導(dǎo)書羅艷蕾 編寫適用專業(yè):機(jī)械設(shè)計(jì)制造及其自動(dòng)化貴州大學(xué)二七年七月前 言本實(shí)驗(yàn)指導(dǎo)書是微機(jī)原理與接口技術(shù)課程的配套使用實(shí)驗(yàn)書。隨著電子技術(shù)的發(fā)展,特別是大規(guī)模集成電路的產(chǎn)生,微型計(jì)算機(jī)得到了日益廣泛的應(yīng)用。掌握微處理器及其接口的工作原理成為應(yīng)用和開發(fā)微型計(jì)算機(jī)必不可少的基本技能。為了使學(xué)生更好地理解和深刻地把握微機(jī)原理與接口技術(shù)課程相關(guān)知識(shí),根據(jù)教學(xué)大綱的學(xué)時(shí)設(shè)置,本實(shí)驗(yàn)指導(dǎo)書共設(shè)置了2個(gè)實(shí)驗(yàn)項(xiàng)目,供4學(xué)時(shí)使用。本實(shí)驗(yàn)指導(dǎo)書著重介紹8086系列微型計(jì)算機(jī)有關(guān)軟件設(shè)計(jì)的技術(shù)。通過實(shí)驗(yàn)教學(xué),一方面可加深對(duì)本課程的基本知識(shí)的理解和掌握;另一方面為今后使用匯編語言編

2、程打下基礎(chǔ)。匯編語言是面向機(jī)器的語言,采用匯編語言進(jìn)行程序設(shè)計(jì)時(shí),可以充分利用機(jī)器的硬件功能和結(jié)構(gòu)特點(diǎn),可有效加快程序的執(zhí)行速度,減少目標(biāo)程序所占用的存儲(chǔ)空間,常用于編寫計(jì)算機(jī)系統(tǒng)程序、實(shí)時(shí)通信程序、實(shí)時(shí)控制程序等。本實(shí)驗(yàn)指導(dǎo)書中實(shí)驗(yàn)1為匯編語言程序的編輯、匯編、連接、調(diào)試和運(yùn)行。熟悉DOS操作系統(tǒng)的使用以及在PC機(jī)上編輯、匯編、連接、調(diào)試和運(yùn)行匯編語言程序的整個(gè)過程。實(shí)驗(yàn)2為DOS中斷及功能調(diào)用,了解數(shù)據(jù)信息輸入的方法以及將數(shù)據(jù)顯示時(shí)須轉(zhuǎn)為ASCII碼的原理,掌握DOS功能調(diào)用的編程方法。本實(shí)驗(yàn)指導(dǎo)書為機(jī)械設(shè)計(jì)制造及其自動(dòng)化專業(yè)學(xué)生使用,也可供非電類其它專業(yè)的本科生參考。I目 錄1、實(shí)驗(yàn)一

3、匯編語言程序的編輯、匯編、連接、調(diào)試和運(yùn)行12、實(shí)驗(yàn)二 DOS中斷及功能調(diào)用 9實(shí)驗(yàn)一 : 匯編語言程序的編輯、匯編、連接、調(diào)試和運(yùn)行實(shí)驗(yàn)學(xué)時(shí):2學(xué)時(shí)實(shí)驗(yàn)類型:驗(yàn)證性實(shí)驗(yàn)實(shí)驗(yàn)要求:必修一、實(shí)驗(yàn)?zāi)康?、 熟悉8086匯編語言程序的結(jié)構(gòu)和格式。2、 練習(xí)用編輯程序編寫8086匯編語言源程序。3、 掌握宏匯編程序MASM的使用方法。4、 掌握用連接程序LINK來形成可執(zhí)行文件。5、 學(xué)會(huì)使用DEBUG調(diào)試程序,掌握DEBUG 的常用基本命令及其功能。6、 掌握各種尋址方法以及簡單指令及程序的執(zhí)行過程。7、 熟悉在PC機(jī)上編輯、匯編、連接、調(diào)試和運(yùn)行匯編語言程序的整個(gè)過程。二、實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)程序1:用匯

4、編語言編寫一個(gè)完成 “10+2”、“10-2” “10×2” “10÷2”的計(jì)算程序(要求用移位指令實(shí)現(xiàn)乘法和除法),將結(jié)果分別送到AU、SU、MU和DU內(nèi)存單元中,并用DEBUG查看結(jié)果。PROG1.ASM三、實(shí)驗(yàn)原理、方法和手段實(shí)驗(yàn)程序1源程序清單:;PROG1.ASMDATA SEGMENT AU DB ?SU DB ?MU DB ?DU DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AXMOV AL,0AH ;將10送AL寄存器MOV CL,AL ;將10保存在CL寄

5、存器MOV BL,02H ;將2送BL寄存器ADD AL,BL ;加法MOV AU,AL ;和送AU單元MOV AL,CL ;從CL中取10送AL寄存器SUB AL,BL ;減法MOV SU,AL ;差送SU單元MOV AL,CL ;從CL中取10送AL寄存器SHL AL,1 ;乘法,算術(shù)左移一位,乘以2MOV MU,AL ;積送MU單元MOV AL,CL ;從CL中取10送AL寄存器SHR AL,1 ;除法,算術(shù)右移一位,除以2MOV DU,AL ;商送DU單元MOV AH,4CHINT 21H ;返回DOSCODE ENDSEND START建立一個(gè)可執(zhí)行程序的步驟: 用編輯軟件編輯一個(gè)擴(kuò)

6、展名為ASM的匯編語言源程序; 調(diào)用MASM匯編程序?qū)R編語言源程序進(jìn)行匯編,生成擴(kuò)展名為OBJ的目標(biāo)文件; 運(yùn)行連接程序LINK,生成擴(kuò)展名為EXE的可執(zhí)行文件; 運(yùn)行可執(zhí)行程序文件; 用調(diào)試程序DEBUG對(duì)程序進(jìn)行調(diào)試,并查看結(jié)果。1、編寫匯編語言源程序用PE.EXE、WORDSTART全屏幕編輯程序、EDLIN.COM行編輯程序、EDIT文本編輯、WORD或WINDOWS附件中的記事本、寫字板等編輯程序來編輯和修改源程序。在編輯程序狀態(tài)下用鍵盤鍵入?yún)R編語言源程序,生成以. ASM為擴(kuò)展名的源程序文件。注意源程序文件名用戶可以自己定義,但是文件的擴(kuò)展名必須是. ASM。2、編譯匯編語言源程

7、序宏匯編程序MASM的功能:(1) 檢查和編制源程序;(2) 生成宏指令;(3) 把初始已經(jīng)分配地址的目標(biāo)程序重新分配為其它的地址;(4) 檢查源程序的錯(cuò)誤;(5) 產(chǎn)生源程序語句列表和每個(gè)源程序匯編后的目標(biāo)程序。機(jī)器只能接收機(jī)器碼,源程序經(jīng)過匯編后產(chǎn)生機(jī)器碼的目標(biāo)文件,后綴為OBJ的目標(biāo)程序。如果在源程序中有任何語法錯(cuò)誤,宏匯編將指出。經(jīng)過匯編程序的編譯,實(shí)際上可產(chǎn)生三個(gè)文件。即:機(jī)器碼的目標(biāo)文件OBJ,列表文件LST和交叉文件CRF。列表文件:是可打印文件,它除了包含源程序以外還包含行號(hào)、段地址、每條指令的偏移地址和每條指令的目標(biāo)碼。如果在匯編后出現(xiàn)錯(cuò)誤,LST文件可在出錯(cuò)行提示錯(cuò)誤的信息

8、。交叉索引文件:CRF提供在源程序中的各種符號(hào)的定義和引用情況。匯編后如果出現(xiàn)錯(cuò)誤(邏輯錯(cuò)誤和語法錯(cuò)誤),應(yīng)重新返回編輯狀態(tài),進(jìn)行修改,修改后再進(jìn)行匯編,直到匯編成功為止。在DOS狀態(tài)下,輸入MASM屏幕顯示與操作如下:C:>MASM 屏幕顯示以下各行(一次一行),提示用戶輸入:Source filename·ASM ; 用戶在此輸入源程序文件名Object filename*·OBJ ; 提示用戶輸入目標(biāo)文件名,通常用戶可不需輸入,可以直接回車,產(chǎn)生默認(rèn)文件名的目標(biāo)文件。Source filenameNUL·LST ; LST為列表文件,他提供全部匯編后的

9、信息,若要建立列表文件,需輸入文件名,若不需這些信息,可以直接回車。Cross-referenceNUL·CRF ; CRF文件為交叉引用文件,若要建立交叉文件,需輸入文件名,若不需這些信息,可以直接回車。完成上述人機(jī)對(duì)話后,匯編過程開始,如果發(fā)現(xiàn)源程序有語法錯(cuò)誤,則出現(xiàn)出錯(cuò)信息,出錯(cuò)信息包括錯(cuò)誤所在的行號(hào)、錯(cuò)誤代碼和錯(cuò)誤類型。用戶可以根據(jù)信息提示修改源程序,修改完畢必須再進(jìn)行匯編,直到源程序正確無誤。3、連接目標(biāo)程序源程序經(jīng)過匯編后產(chǎn)生的目標(biāo)文件必須經(jīng)過連接LINK后,才能成為可執(zhí)行程序EXE文件。連接程序的是把一個(gè)或多個(gè)獨(dú)立的目標(biāo)程序文件模塊連接起來,解決在匯編程序里的符號(hào)地址問

10、題。把程序中可浮動(dòng)的相對(duì)地址變?yōu)榻^對(duì)地址,形成可執(zhí)行的EXE文件,然后,就可以在DOS狀態(tài)下執(zhí)行文件,如果執(zhí)行結(jié)果不令人滿意,可以通過調(diào)試程序DEBUG進(jìn)行調(diào)試。再編輯、連接和執(zhí)行,直到滿意為止。在DOS狀態(tài)下,直接啟動(dòng)連接程序。C:>LINK <文件名> 屏幕上顯示內(nèi)容如下: List fileNUL·MAP Libraries·LIB其中MAP文件是否建立由用戶確定,若要建立映象文件,需輸入文件名,若不需這些信息,可以直接回車。后一個(gè)對(duì)話詢問在連接時(shí)是否需要用庫文件,通常直接回車。若是連接多個(gè)目標(biāo)程序,可以將目標(biāo)程序文件名用“”連接起來,如:C:>

11、;LINK A1A2A3這樣產(chǎn)生的一個(gè)可執(zhí)行文件約定取用第一個(gè)目標(biāo)程序文件名,當(dāng)然操作人員也可以重新取用新的文件名。4、運(yùn)行一個(gè)可執(zhí)行程序 生成的可執(zhí)行文件,可以在在DOS狀態(tài)下,直接輸入文件名,即可執(zhí)行程序。C:>文件名5、調(diào)試程序DEBUG的使用DEBUG是調(diào)試匯編語言的工具,有18條子命令。它具有跟蹤程序的運(yùn)行、觀察每一步執(zhí)行的結(jié)果、設(shè)置斷點(diǎn)顯示修改內(nèi)存與寄存器的內(nèi)容等功能。因此在調(diào)試程序中可以尋找錯(cuò)誤和修改錯(cuò)誤,可以對(duì)小段程序進(jìn)行匯編,也可以對(duì)磁盤進(jìn)行讀寫操作,是調(diào)試各種應(yīng)用程序極其方便的工具。若調(diào)試的文件是可執(zhí)行文件,則經(jīng)過DEBUG調(diào)試后的程序,如果需要修改,必須重新進(jìn)行編輯

12、、再匯編和連接才能執(zhí)行。1)DEBUG程序的啟動(dòng)。在DOS提示符下,可鍵入命令:C> DEBUGd:path文件名 參數(shù)1參數(shù)2其中文件名是被調(diào)試文件的名稱,它須是執(zhí)行文件(EXE),兩個(gè)參數(shù)是運(yùn)行被調(diào)試文件時(shí)所需要的命令參數(shù),在DEBUG程序調(diào)入后,出現(xiàn)提示符“-”,此時(shí),可鍵入所需的DEBUG命令。在啟動(dòng)DEBUG時(shí),如果輸入了文件名,則DEBUG程序把指定文件裝入內(nèi)存。用戶可以通過DEBUG的命令對(duì)指定文件進(jìn)行修改、顯示和執(zhí)行。如果沒有文件名,則是以當(dāng)前內(nèi)存的內(nèi)容工作,或者用命名命令和裝入命令把需要的文件裝入內(nèi)存,然后再用DEBUG的命令進(jìn)行修改、顯示和執(zhí)行。2)DEBUG的主要命

13、令(1)匯編命令A(yù),格式為: -A地址該命令從指定地址開始允許輸入?yún)R編語句,把它們匯編成機(jī)器代碼相繼存放在從指定地址開始的存儲(chǔ)器中。(2)追蹤命令T,有兩種格式:逐條指令追蹤:-T=地址該命令從指定地址起執(zhí)行一條指令后停下來,顯示寄存器內(nèi)容和狀態(tài)值。多條指令追蹤:-T=地址值該命令從指定地址起執(zhí)行n條命令后停下來,n由值確定。(3)顯示內(nèi)存單元內(nèi)容的命令D,格式為:-D地址或-D范圍(4)修改內(nèi)存單元內(nèi)容的命令E,它有兩種格式: 用給定的內(nèi)容代替指定范圍的單元內(nèi)容: -E地址 內(nèi)容表例如:-E 2000:0100 F3 “XYZ” 8D其中F3,“X”“Y”“Z”和8D各占一個(gè)字節(jié),用這五個(gè)字

14、節(jié)代替原內(nèi)存單元2000:0100到0104的內(nèi)容,“X”“Y”“Z”將分別按它們的ASCII碼值代入。 逐個(gè)單元相繼地修改: -E地址例如:-E 100: 18E4:0100 89.78此命令是將原100號(hào)單元的內(nèi)容89改為78。78是程序員鍵入的。(5)寫命令W,有兩種格式:把數(shù)據(jù)寫入磁盤的指定扇區(qū):-W 地址 驅(qū)動(dòng)器 扇區(qū)號(hào) 扇區(qū)數(shù)把數(shù)據(jù)寫入指定文件中:-W 地址此命令把指定內(nèi)存區(qū)域中的數(shù)據(jù)寫入由CS:5CH處的FCB所規(guī)定的文件中。在用W命令前,BX和CX中應(yīng)包含要寫入文件的字節(jié)數(shù)。(6)檢查和修改寄存器內(nèi)容的命令R,它有三種方式: 顯示CPU內(nèi)部所有寄存器內(nèi)容和標(biāo)志位狀態(tài);格式為:-

15、RR命令顯示中標(biāo)志位狀態(tài)的含義如下表所示:標(biāo) 志 名置 位復(fù) 位溢出Overflow(是/否)OVNV方向Direction(減量/增量)DNUP中斷Interrupt(允許/屏蔽)EIDI符號(hào)Sign(負(fù)/正)NGPL零Zero(是/否)ZRNZ輔助進(jìn)位Auxiliary Carry(是/否)ACNA奇偶Parity(偶/奇)PEPO進(jìn)位Carry(是/否)CYNC 顯示和修改某個(gè)指定寄存器內(nèi)容,格式為:-R 寄存器名例如打入:-R AX系統(tǒng)將響應(yīng)如下:AX FIF4:表示AX當(dāng)前內(nèi)容為F1F4,此時(shí)若不對(duì)其作修改,可按ENTER鍵,否則,打入修改后內(nèi)容,如:-R BXBX 0369:059

16、F則BX內(nèi)容由0369改為059F 顯示和修改標(biāo)志位狀態(tài),命令格式為:-RF系統(tǒng)將給出響應(yīng),如:OV DN EI NG ZR AC PE CY-這時(shí)若不作修改可按ENTER鍵,否則在“-”號(hào)之后鍵入修改值,鍵入順序任意。如 OV DN EI NG ZR AC PE CY-PONZDINV(7)退出DEBUG命令Q,該命令格式為: Q退出DEBUG程序,返回DOS,但該命令本身并不把在內(nèi)存中的文件存盤,如需存盤,應(yīng)在執(zhí)行Q命令前先執(zhí)行寫命令W。四、實(shí)驗(yàn)組織運(yùn)行要求采用以學(xué)生自主訓(xùn)練為主的開放式模式組織教學(xué)。五、實(shí)驗(yàn)條件硬件環(huán)境 IBM/PC及其兼容機(jī)軟件環(huán)境 操作系統(tǒng)DOS6.22 編輯程序 P

17、E.EXE、WORDSTART、EDIT、EDLIN.COM行編輯程序、WORD、WINDOWS附件中的寫字板、記事本或其它編輯程序。匯編程序 MASM.EXE連接程序 LINK.EXE調(diào)試程序 DEBUG.COM六、實(shí)驗(yàn)步驟1、認(rèn)真聽取講解與演示。 2、讀懂匯編語言源程序,學(xué)習(xí)匯編語言源程序的指令、完整的程序結(jié)構(gòu)。3、了解匯編語言的上機(jī)全過程。4、熟悉DOS啟動(dòng)及其相關(guān)命令的使用。5、掌握匯編語言源程序的編輯、匯編、連接、調(diào)試、修改、運(yùn)行及存盤。(以PROG1ASM程序?yàn)槔M(jìn)行說明)1) 源文件的建立:用編輯程序EDIT或其它編輯程序?qū)υ闯绦蜻M(jìn)行編輯,形成PROG1ASM文件后存盤,熟練掌握

18、編輯程序中的常用命令。2) 目標(biāo)文件的建立:用匯編程序MASMEXE對(duì)PROG1ASM文件源程序進(jìn)行匯編,如出現(xiàn)錯(cuò)誤,對(duì)源程序修改后重新匯編,直到無錯(cuò)誤,生成PROG1OBJ文件。3) 執(zhí)行文件的建立:用連接程序LINKEXE對(duì)PROG1OBJ文件目標(biāo)程序進(jìn)行連接,生成可執(zhí)行程序PROG1EXE文件。4) 運(yùn)行可執(zhí)行程序PROG1EXE文件。在DOS狀態(tài)下,輸入PROG1并回車。5) 用調(diào)試程序DEBUGCOM對(duì)可執(zhí)行程序PROG1EXE文件進(jìn)行調(diào)試。6) 將PROG1EXE程序文件存盤。七、思考題1、 用DEBUG的T命令進(jìn)行單步跟蹤時(shí),用注意每一步操作后寄存器的內(nèi)容、標(biāo)志寄存器的各個(gè)位以及

19、內(nèi)存單元的內(nèi)容等變化情況,程序執(zhí)行的最終結(jié)果如何查看,結(jié)果可以送到寄存器中,也可以輸出到存儲(chǔ)器中,還可以輸出到那里?2、 是否可以用其它文件編輯程序來編輯8086匯編語言程序?若可以,有何要求? 八、實(shí)驗(yàn)報(bào)告 要求學(xué)生完成整個(gè)上機(jī)過程,并通過不斷的修改和調(diào)試,在計(jì)算機(jī)上得出正確的結(jié)果即可。1、了解程序的功能、結(jié)構(gòu)。2、上機(jī)過程:包括上機(jī)步驟、上機(jī)調(diào)試的情況、調(diào)試所遇到的問題是如何解決的,并對(duì)調(diào)試過程中的問題進(jìn)行分析,對(duì)執(zhí)行結(jié)果進(jìn)行分析。3、了解在DEBUG狀態(tài)下編寫、運(yùn)行程序的過程,并對(duì)調(diào)試過程中所遇到的問題進(jìn)行分析,問題是如何解決的,對(duì)執(zhí)行結(jié)果進(jìn)行分析。九、其它說明實(shí)驗(yàn)二: DOS中斷及功能

20、調(diào)用實(shí)驗(yàn)學(xué)時(shí):2學(xué)時(shí)實(shí)驗(yàn)類型:驗(yàn)證性實(shí)驗(yàn)實(shí)驗(yàn)要求:必修一、實(shí)驗(yàn)?zāi)康?、掌握數(shù)據(jù)信息輸入的方法,并了解將數(shù)據(jù)顯示時(shí),須轉(zhuǎn)為ASCII碼的原理。2、熟悉DOS中斷及功能調(diào)用。3、 利用DOS中斷及功能調(diào)用編寫編程。4、學(xué)會(huì)實(shí)現(xiàn)子程序調(diào)用的方法。二、實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)程序2:編寫一個(gè)匯編語言程序,利用DOS中斷及功能調(diào)用,將一串含有大寫和小寫的字母分別轉(zhuǎn)換為對(duì)應(yīng)的小寫字母和大寫字母,并在顯示器上顯示出結(jié)果。PROG2.ASM三、實(shí)驗(yàn)原理、方法和手段實(shí)驗(yàn)程序3源程序清單:;PROG2.ASMDAT SEGMENT D2 DB 0DH,0AH D1 DB 'AKFRRgfGKJFghkffFTgvv&

21、#39;,'$' ;任意輸入一串含有大、小寫的字符DAT ENDSSTAC SEGMENT STA1 DW 100 DUP(?)STAC ENDSCODE SEGMENT ASSUME CS:CODE,DS:DAT ASSUME SS:STAC,ES:DATSTAR PROC FAR PUSH DS XOR AX,AX PUSH AX MOV AX,DAT MOV DS,AX MOV ES,AX CALL TT LEA DI,D1 CALL TT1 CALL TT LEA DI,D1 CALL TT2 CALL TT RETSTAR ENDPTT1 PROCGG: MOV AL

22、,DI CMP AL,'$' JZ GG2 CMP AL,'A' JB GG1 CMP AL,'Z' JA GG1 ADD BYTE PTRDI,20HGG1:INC DI JMP GGGG2:RETTT1 ENDPTT2 PROCGQ: MOV AL,DI CMP AL,'$' JZ GQ2 CMP AL,'a' JB GQ1 CMP AL,'z' JA GQ1 SUB BYTE PTRDI,20HGQ1:INC DI JMP GQGQ2:RETTT2 ENDPTT PROC LEA DX,D2

23、MOV DS,DX MOV DX,OFFSET D2 MOV AH,9 INT 21H RETTT ENDPCODE ENDSEND STARDOS中斷及功能調(diào)用MS-DOS系統(tǒng)設(shè)置了幾十個(gè)內(nèi)部子程序,可完成I/O設(shè)備管理、存儲(chǔ)管理、文件管理和作業(yè)管理等功能,它們是獨(dú)立的中斷服務(wù)程序,在匯編語言源程序中可用軟中斷指令調(diào)用。專為IBM PC機(jī)開發(fā)的基本輸入輸出系統(tǒng)BIOS中斷調(diào)用占用10H1AH共11個(gè)中斷類型號(hào),如INT 10H為屏幕顯示調(diào)用,INT 13H為磁盤I/O調(diào)用,INT 16H為鍵盤輸入調(diào)用,INT 1AH為時(shí)鐘調(diào)用等。DOS中斷占用20H3FH共32個(gè)中斷類型號(hào)(其中A0BBH和

24、30H3FH為DOS保留類型號(hào)),DOS系統(tǒng)功能調(diào)用(INT 21H)本身包含80多個(gè)子程序。對(duì)于系統(tǒng)定義的中斷,如BIOS中斷調(diào)用和DOS中斷調(diào)用,在系統(tǒng)引導(dǎo)時(shí)就自動(dòng)完成了中斷向量表中斷向量的裝入,也即中斷類型號(hào)對(duì)應(yīng)中斷服務(wù)程序入口地址的設(shè)置。這些中斷為用戶提供直接與I/O設(shè)備交換信息,同時(shí)又不必了解使用設(shè)備的物理特性、借口方式及內(nèi)存分配等,不必編寫繁瑣的控制程序,用戶只需采用統(tǒng)一的格式調(diào)用這些子程序。1、DOS系統(tǒng)功能調(diào)用的一般步驟DOS為磁盤操作系統(tǒng)(Disk Operating System)的簡稱。DOS提供了極為豐富的子程序,能夠?qū)崿F(xiàn)控制鍵盤、顯示器、讀寫文件、串行通信等一系列功能

25、。采用DOS系統(tǒng)功能調(diào)用時(shí),其統(tǒng)一的格式為: 傳送入口參數(shù)到指定設(shè)置入口參數(shù) 功能調(diào)用號(hào)送AH寄存器 執(zhí)行DOS 功能調(diào)用 INT 21H2、 常用的DOS系統(tǒng)功能調(diào)用 鍵盤輸入 調(diào)用格式: MOV AH, 01H INT 21H功能:等待從鍵盤輸入一個(gè)字符并將輸入字符的ASCII碼送入寄存器AL中,同時(shí)在顯示器上顯示該字符。入口參數(shù): 無出口參數(shù): AL=輸入的ASCII碼字符 顯示單個(gè)字符調(diào)用格式: MOV AH, 02H MOV DL, 字符 INT 21H功能:將DL中的字符送顯示器顯示。入口參數(shù): DL=待顯字符的ASCII碼出口參數(shù): 無 控制臺(tái)輸入調(diào)用格式: MOV AH, 08

26、H INT 21H功能:與1號(hào)相似,但只從鍵盤上輸入而不顯示字符。入口參數(shù): 無出口參數(shù): AL=輸入的ASCII碼字符 顯示字符串調(diào)用格式: MOV AH, 09H MOV DX, OFFSET STRING INT 21H功能:在顯示器上顯示以$(24H)為結(jié)束符的字符串。若顯示的字符串要求回車換行,可在字符串中加入0DH,0AH控制碼。入口參數(shù): DS:DX指向字符串首地址。出口參數(shù): 無例如,要顯示下列DIS0數(shù)組變量中定義的字符串DISO DB PRESS ANY KEY TO QUIT,0DH,0AH, $程序如下:LEA DX, DIS0MOV AH, 09HINT 21H 鍵盤

27、輸入字符串 調(diào)用格式: MOV AH, 0AH MOV DX, OFFSET BUF INT 21H功能:從鍵盤上往指定緩沖區(qū)中輸入字符串并送顯示器顯示。緩沖區(qū)應(yīng)按規(guī)定的格式定義。入口參數(shù): DS:DX指向緩沖區(qū)首地址出口參數(shù): 輸入的字符串及字符個(gè)數(shù)緩沖區(qū)應(yīng)按規(guī)定格式定義。例如定義80個(gè)字符的輸入緩沖區(qū),格式如下:BUF DB 81 ;最大輸入的字符個(gè)數(shù)假定為81 DB ? ;實(shí)際輸入的字符個(gè)數(shù)DB 80 DUP(?) ;輸入字符的ASCII碼存放區(qū)(最多存放80個(gè)字符)(6)結(jié)束用戶程序返回DOS的方法主程序以過程形式編寫時(shí)返回DOS的方法在DOS操作系統(tǒng)下,用戶程序的主程序,對(duì)于操作系統(tǒng)而言,也是一個(gè)過

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論