BIOS和DOS中斷調(diào)用_第1頁
BIOS和DOS中斷調(diào)用_第2頁
BIOS和DOS中斷調(diào)用_第3頁
BIOS和DOS中斷調(diào)用_第4頁
BIOS和DOS中斷調(diào)用_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.BIOS和DOS中斷調(diào)用  用戶中斷調(diào)用-DOS中斷調(diào)用-BIOS中斷用  在存儲(chǔ)器系統(tǒng)中,內(nèi)存從0FE000H高端8K的ROM中存放有根本輸入輸出系統(tǒng)Basic Input/Output System,BIOS例行程序。BIOS給PC系列的不同微處理器提供了兼容的系統(tǒng)加電自檢、引導(dǎo)裝入、主要I/O設(shè)備的處理程序以及接口控制等功能模塊來處理所有的系統(tǒng)中斷。使用BIOS功能調(diào)用,給程序員編程帶來極大方便。程序員不必理解硬件的詳細(xì)細(xì)節(jié),可直接使用指令設(shè)置參數(shù),并中斷調(diào)用BIOS例行程序,所以利用BIOS功能調(diào)用編寫的程序簡潔,可讀性好,而且易于移植磁盤操作

2、系統(tǒng)Disk Operating System是PC機(jī)上最重要的操作系統(tǒng),它是由軟盤或硬盤提供的。它的兩個(gè)DOS模塊IBMBIO 和IBMDOS 使BIOS使用起來更方便。因?yàn)镈OS模塊提供了更多更必要的測試,使用DOS操作比使用相應(yīng)功能的BIOS操作更簡易,而且DOS對(duì)硬件的依賴性更少些。DOS中斷和BIOS中斷使用方法 DOS功能調(diào)用與BIOS功能都通過軟件中斷調(diào)用。在中斷調(diào)用前需要把功能號(hào)裝入AH存放器,把子功能號(hào)裝入AL存放器,除此之外,還需要在CPU的存放器中提供專門的調(diào)用參數(shù)。一般來說,調(diào)用DOS或BIOS功能時(shí),有以下幾個(gè)步驟:1將調(diào)用參數(shù)裝入指定的存放器。2如需功能調(diào)用號(hào),把它

3、裝入AH。3如需子功能調(diào)用號(hào),把它裝入AL。4按中斷號(hào)調(diào)用DOS或BIOS。5檢查返回參數(shù)是否正確。DOS中斷類型:鍵盤輸入中斷調(diào)用 ASCII與掃描碼鍵盤是計(jì)算機(jī)最根本的一種輸入設(shè)備,用來輸入信息,以到達(dá)人機(jī)對(duì)話的目的。鍵盤主要由3種根本類型的鍵組成:1字符數(shù)字鍵:2擴(kuò)展功能鍵:如Home、End、Backspace、Delete、Insert、PgUp、PgDown以及功能鍵F1F103和其他鍵組合使用的控制鍵:如Alt,Ctrl,Shift等 鍵盤和主機(jī)通過5芯電纜相連,這5根線分別是電源線、地線、復(fù)位線以及鍵盤數(shù)據(jù)線和鍵盤時(shí)鐘線。PC機(jī)系列的鍵盤觸點(diǎn)電路按16行×8列的矩陣來

4、排列,用單片機(jī)Intel8048來控制對(duì)鍵盤的掃描。按鍵的識(shí)別采用行列掃描法,即根據(jù)對(duì)行線和列線的掃描結(jié)果來確定閉合鍵的位置,這個(gè)位置值稱為按鍵的掃描碼,通過數(shù)據(jù)線將8位掃描碼送往主機(jī)。當(dāng)在鍵盤上“按下或“放開一個(gè)鍵時(shí),假設(shè)鍵盤中斷是允許的21H端口的第一位等于0,就會(huì)產(chǎn)生一個(gè)類型9的中斷,并轉(zhuǎn)入到BIOS的鍵盤中斷處理程序。該處理程序從8255可編程外圍接口芯片的輸入端口讀取一個(gè)字節(jié),這個(gè)字節(jié)的低7位是按鍵的掃描碼。最高位為0或者為1,分別表示鍵是“按下狀態(tài)還是“放開狀態(tài)。按下時(shí),獲得的字節(jié)稱為通碼,放開時(shí)獲得的字節(jié)稱為斷碼。如ESC鍵按下獲得的通碼為01H00000001B,放開ESC鍵時(shí)

5、會(huì)產(chǎn)生一個(gè)斷碼81H10000001B。        BIOS鍵盤處理程序?qū)@得的掃描碼轉(zhuǎn)換成相應(yīng)的字符碼,大部分的字符碼是一個(gè)標(biāo)準(zhǔn)的ASCII碼;沒有相應(yīng)ASCII的鍵,如Alt和功能鍵F1F10,字符碼為0;還有一些非ASCII碼鍵產(chǎn)生一個(gè)指定的操作鍵盤緩沖區(qū):鍵盤緩沖區(qū)是一個(gè)先進(jìn)先出的環(huán)形隊(duì)列,其所占內(nèi)存區(qū)域如下:KBHead    DW?         ;其內(nèi)存地址為0000:041AH,緩沖區(qū)頭指針KB

6、Tail     DW?         ;其內(nèi)存地址為0000:041CH,緩沖區(qū)尾指針KBBuff     DW16 DUP?     ;其內(nèi)存地址為0000:041EH,該緩沖區(qū)                  

7、            的缺省長度為16個(gè)字鍵盤緩沖區(qū)是一個(gè)環(huán)形隊(duì)列,其性質(zhì)與?數(shù)據(jù)構(gòu)造?課程中對(duì)“環(huán)形隊(duì)列所描繪的性質(zhì)完全一致。雖然緩沖區(qū)的本身長度為16個(gè)字,但出于判斷“對(duì)列滿的考慮,它最多只能保存15個(gè)鍵盤信息。當(dāng)緩沖區(qū)滿時(shí),系統(tǒng)將不再承受按鍵信息,而會(huì)發(fā)出“嘟的聲音,以示要暫緩按鍵。當(dāng)KBHeadKBTail時(shí),表示無鍵盤輸入。BIOS鍵盤中斷 :類型 16H 的中斷提供了根本的鍵盤操作,它的中斷處理程序包括3個(gè)不同的功能,分別根據(jù)AH存放器中的子功能號(hào)來確定。1AH=0 本功

8、能為從鍵盤讀字符到AL存放器中。AL=字符碼,AH=掃描碼   2AH=1 本功能為讀鍵盤緩沖區(qū)字符到AL存放器中,      并置ZF標(biāo)志位。假設(shè)ZF=0,那么AL=字符碼,AH=掃描碼,   ZF=1,緩沖區(qū)空3AH=2   本功能為讀取特殊功能鍵的狀態(tài)。AL=鍵盤狀態(tài)字節(jié)從鍵盤讀字符:code segment          assume cs:code   

9、       mov    ah, 0          int     16h          mov   ah, 4ch          int  &#

10、160;  21h   code   endsend鍵盤狀態(tài)字:在計(jì)算機(jī)鍵盤上除了可輸入各種字符字母、數(shù)字和符號(hào)等的按鍵之外,還有一些功能鍵如:F1、F2、等、控制鍵如:Ctrl、Alt、Shift等、雙態(tài)鍵如:Num Lock、Caps Lock等和特殊懇求鍵如:Print Screen、Scroll Lock等。     鍵盤中的控制鍵和雙態(tài)鍵是非打印按鍵,它們是起控制或轉(zhuǎn)換作用的。當(dāng)使用者按下控制鍵或雙態(tài)鍵時(shí),系統(tǒng)要記住其所按下的按鍵。為此,在計(jì)算機(jī)系統(tǒng)中,特意安排的一個(gè)字來標(biāo)志這些按鍵的狀態(tài),我們稱該字為鍵

11、盤狀態(tài)字。鍵盤狀態(tài)字的各位含義如以下圖。讀取特殊功能鍵的狀態(tài):code segment          assume cs:code          mov   ah, 2          int      16h   &#

12、160;      mov    ah, 4ch          int      21h    code   endsend1單字符輸入例: 接收鍵盤輸入并對(duì)其進(jìn)展測試。get_key:mov    ah, 1       &

13、#160;         int      21h                 cmp   al , y               

14、  je       yes                 cmp   al, n                 je     

15、0;  no                 jne     get_key例:檢測鍵盤輸入的字符是否是回車鍵wait_here: mov   ah, 7                  

16、   int      21h                     cmp    al, 0dh                

17、0;    jne     wait_here假設(shè)程序要求能接收功能鍵或數(shù)字組合鍵必須進(jìn)展兩次DOS功能調(diào)用:第一次回送00第二次回送掃描碼2輸入字符串data segment      smax db 21      sact db ?      stri db 21 dup?data endscode segment     

18、; assume cs:code,ds:data Start:mov ax,data       mov ds,ax        lea dx, stri       mov ah,0ah       int 21h       mov ah,4ch    

19、   int 21hcode endsEnd start3去除鍵盤緩沖區(qū)Int 21的功能0ch能去除鍵盤緩沖區(qū),然后執(zhí)行在AL中指定的功能。AL中指定的功能可以是1,6,7,8或0AH。4檢驗(yàn)鍵盤狀態(tài)例   編寫按任意鍵完畢程序的程序段mov    ah, 0bhint     21hinc    alje      exitExit:顯示器I/O顯示器可以簡單的分為單色顯示器和彩色顯示器。隨著顯示技術(shù)的

20、開展,種類也更加豐富,常見的有陰極攝像管CRT、液晶顯示器、等離子顯示器等。   顯示器是通過顯卡與主機(jī)相連。顯示器的顯示屏通常稱之為屏幕,如今常用的顯示器有14"和17",常用的顯示分辨率為800×600或1024×768等。常用的顯示卡類型為VGA、SVGA、EVGA和TVGA等,顯示卡上也都帶有大量的顯示存儲(chǔ)器,能快速顯示精巧的圖象。1MDA     MDAMonochrome Display Adapter 屬于單色顯示適配器,是IBM最早研制的視頻顯示適配器。2CGA 

21、60;   在MDA推出的同時(shí),IBM也推出了彩色圖形顯示適配器CGAColor Graphics Adapter。3EGA     增強(qiáng)圖形顯示適配器EGAEnhanced Graphics Adapter是IBM公司推出的第二代圖形顯示適配器,它兼容了MDA和CGA的全部功能。4VGA      視頻圖形陣列顯示適配器VGAVideo Graphics Array是IBM公司推出的第三代圖形顯示適配器,它兼容了MDA、CGA和EGA的全部功能。5.   XGA 

22、    XGAExtended Graphics Array是IBM公司繼VGA之后推出的擴(kuò)展圖形顯示適配器。顯示形式           計(jì)算機(jī)系統(tǒng)中的顯示器都有二種顯示方式:文本顯示方式和圖形顯示方式。      在DOS操作系統(tǒng)環(huán)境下,其默認(rèn)的顯示方式為文本顯示方式,而在Windows操作系統(tǒng)環(huán)境下,其顯示方式是圖形顯示方式,其絕大多數(shù)操作界面是以圖形界面的窗口形式出現(xiàn)的。文本顯示方式  &

23、#160;              文本顯示方式是指以字符為最小單位的顯示方式,每個(gè)字符都是以矩形塊形式顯示的。在BIOS ROM中存有多種不同大小的字符集,主要的顯示字符集大小為:8×8標(biāo)準(zhǔn)、8×14和8×16等。      在常用的文本顯示形式形式3下,屏幕被劃分成25行,每行可顯示80個(gè)字符,所以,每屏最多可顯示200080×25個(gè)字符。為了便于標(biāo)識(shí)屏幕上的每個(gè)顯示位置

24、,我們就用其所在行和列來表示之,并規(guī)定:屏幕的左上角坐標(biāo)為0, 0,右下角坐標(biāo)為24, 79。在顯示字符時(shí),用一個(gè)字節(jié)存儲(chǔ)該字符的ASCII碼,用另一個(gè)字節(jié)存儲(chǔ)的顯示屬性,即:顯示顏色。在80×25的文本顯示形式下,滿屏可顯示2000個(gè)字符,也就需要4000個(gè)字節(jié)來存儲(chǔ)一屏的顯示信息圖形顯示方式     圖形顯示是目前最常用的一種顯示方式,也是Windows操作系統(tǒng)的默認(rèn)顯示方式。在該顯示方式下,我們可以看到優(yōu)美的圖象、VCD、閱讀豐富多彩的網(wǎng)頁等。     圖形顯示的最小單位是象素,對(duì)每個(gè)象素可用不同的

25、顏色來顯示。所以,在顯示緩沖區(qū)內(nèi)記錄的信息是屏幕各象素的顯示顏色。由于各種圖形顯示形式所能顯示的顏色和象素是不同的,它決定了顯示緩沖區(qū)的存儲(chǔ)方式也是不同的。下面給出三個(gè)詳細(xì)的圖形顯示形式及其存儲(chǔ)方式,通過它們可看出各種顯示形式在顯示緩沖區(qū)存儲(chǔ)方式上的明顯差異。色320×200圖形顯示形式     由于每個(gè)象素只能是四種顏色之一,而四種情況用2位二進(jìn)制就可表示,所以,一個(gè)字節(jié)可表示4個(gè)象素的顯示顏色,存儲(chǔ)一行上的所有象素信息就需要80個(gè)字節(jié)。     在詳細(xì)存儲(chǔ)過程中,它又把偶數(shù)行象素和奇數(shù)行分開來存儲(chǔ)。偶

26、數(shù)行和齊數(shù)行的象素總數(shù)各有32000個(gè),也都需要8000個(gè)字節(jié)來存儲(chǔ),并規(guī)定:    偶數(shù)行象素從0B800:0000H開場存儲(chǔ),    奇數(shù)行象素從0B800:2000H開場存儲(chǔ)。    該顯示形式的存儲(chǔ)形式如以下圖。16色640×480圖形顯示形式    640×480圖形顯示形式共有307200個(gè)象素,每個(gè)象素可選用16種顏色,它需要用4位二進(jìn)制來表示。該顯示形式在存儲(chǔ)顯示信息時(shí),把該4位分在四個(gè)位平面P1、P2、P3和P4上,所以,位平面Pii=1

27、,2,3,4共有307200個(gè)二進(jìn)制位,即有38400個(gè)字節(jié)。其顯示緩沖區(qū)的存儲(chǔ)形式如以下圖256色320×200圖形顯示形式表達(dá)256種不同顏色需要8位二進(jìn)制,即一個(gè)字節(jié)。在該形式下,其顯示緩沖區(qū)的存儲(chǔ)方式是非常簡單的,即:第一個(gè)字節(jié)存儲(chǔ)第一個(gè)象素的顏色,第二個(gè)字節(jié)存儲(chǔ)第二個(gè)象素的顏色,以此類推,所以,存儲(chǔ)滿屏象素所需要的字節(jié)數(shù)為:320×200×164000。其顯示緩沖區(qū)的存儲(chǔ)方式如以下圖。從上面三種不同圖形顯示形式的介紹,不難看出:各種顯示形式在顯示緩沖區(qū)存儲(chǔ)方式上的明顯差異,操作象素方法的難易程度相差也很大,所以,再次建議:程序員不要用直接操作顯示緩沖區(qū)的

28、方法來到達(dá)改變顯示象素的目的,最好是通過BIOS內(nèi)的中斷功能來實(shí)現(xiàn)相應(yīng)的功能,這樣,所編寫的程序能很方便地適應(yīng)不同的圖形顯示形式字符屬性       顯示器的屏幕通常劃分為行和列的二維系統(tǒng),顯示適配器就在行列組成的網(wǎng)格位置上顯示字符。對(duì)應(yīng)屏幕上的每個(gè)字符位置,主存空間都有相應(yīng)的存儲(chǔ)單元與之對(duì)應(yīng),因此可說是顯示屏幕式“存儲(chǔ)器的映像。對(duì)應(yīng)顯示屏幕上的每個(gè)字符,在存儲(chǔ)器中由連續(xù)的兩個(gè)字節(jié)表示,一個(gè)字節(jié)表示ASCII碼,另一個(gè)字節(jié)保存字符的屬性。1、單色字符屬性2、彩色字符顯示3.    顯示存儲(chǔ)器對(duì)于所有的顯示

29、適配器,文本方式下顯示字符的原理是一樣的,所不同的是顯存的起始地址不同,對(duì)于MDA,顯存的起始地址為B000:0000;對(duì)于CGA、EGA、VGA是B800:0000.每個(gè)字符的ASCII碼和屬性碼字節(jié)存放于兩個(gè)連續(xù)的字節(jié)中。圖形顯示方式下,其顯示緩沖區(qū)段地址為0A000H。     在25 X 80的文本顯示方式下,屏幕可有2000個(gè)字符位置,因每個(gè)字符需要用兩個(gè)字節(jié),顯存容量需要多少?假設(shè)顯存有16K,可保存幾屏幕的數(shù)據(jù)?對(duì)CGA,EGA和VGA的80列顯示方式,0頁的起始地址是B800:0000,1頁的起始地址是B800:1000,2頁的起始地址為

30、B800:2000,3頁的起始地址為B800:3000 。    如何計(jì)算一個(gè)字符在顯存中的位置?BIOS顯示中斷調(diào)用 10H中斷調(diào)用為顯示器中斷,共有17種功 能。下面列出幾種主要功能的使用情況。 1設(shè)置顯示方式0號(hào)功能入口參數(shù):AH=0功能號(hào),AL=設(shè)置方式07。出口參數(shù):無。2設(shè)置光標(biāo)類型1號(hào)功能入口參數(shù):AH=1功能號(hào),CH=光標(biāo)開場行,CL=光標(biāo)完畢行。出口參數(shù):無。根據(jù)CX給出光標(biāo)的大小。3設(shè)置光標(biāo)位置2號(hào)功能入口參數(shù):AH=2功能號(hào),BH=頁號(hào),DH=行號(hào),DL=列號(hào)。出口參數(shù):無。根據(jù)DX確定了光標(biāo)位置。4讀當(dāng)前光標(biāo)位置3號(hào)功能入口參數(shù);AH=3功

31、能號(hào),BH=頁號(hào)。出口參數(shù):DH=行號(hào),DL=列號(hào),CX=光標(biāo)大小。5初始窗口或向上滾動(dòng)6號(hào)功能入口參數(shù):AH=6,AL=上滾行數(shù),CX=上滾窗口左上角的行、列號(hào)。DX=上滾窗口右下角的行、列號(hào)。BH=空白行的屬性。出口參數(shù):無。當(dāng)滾動(dòng)后,底部為空白輸入行。6初始窗口或向下滾動(dòng)7號(hào)功能入口參數(shù):AH=7,AL=下滾行數(shù),CX=下滾窗口左上角的行、列號(hào)。DX=下滾窗口右下角的行、列號(hào)。BH=空白行的屬性。出口參數(shù):無。當(dāng)滾動(dòng)后,頂部為空白輸入行。7讀當(dāng)前光標(biāo)位置的字符與屬性8號(hào)功能入口參數(shù):AH=08H,BH=頁號(hào)。出口參數(shù):AL為讀出的字符,AH為字符屬性8在當(dāng)前光標(biāo)位置寫字符和屬性9號(hào)功能入

32、口參數(shù):AH=9,BH=頁號(hào),AL=字符的ASCII碼,BL=字符屬性,CX=寫入字符重復(fù)次數(shù)。出口參數(shù):無。9在當(dāng)前光標(biāo)位置寫字符10號(hào)功能入口參數(shù):AH=0AH,BH=頁號(hào),AL=字符的ASCII碼,CX=寫入字符重復(fù)次數(shù)。出口參數(shù):無。10顯示字符串13號(hào)功能ES:BP=串地址CX=串長度DH,DL=起始行列BH=頁號(hào)AL=0,BL=屬性串:char,charchar           光標(biāo)返回到起始位置AL=1,BL=屬性串:char,charchar   

33、;        光標(biāo)跟隨串挪動(dòng)AL=2串:char,charchar           光標(biāo)返回起始位置AL=3串:char,charchar            光標(biāo)跟隨串挪動(dòng)DOS顯示功能:串行通信口I/O計(jì)算機(jī)與外設(shè)交換信息的過程中:并行通信:多位數(shù)據(jù)通過多條數(shù)據(jù)線同時(shí)傳送。串行通信:多位數(shù)據(jù)通過同一條數(shù)據(jù)

34、線按位傳送。          并行通信就是把一個(gè)字符的各數(shù)位用幾條線同時(shí)進(jìn)展傳輸。與串行通信一位一位傳輸相比,在一樣傳輸率下,并行通信的信息實(shí)際傳輸速度快、信息率高。但并行通信比串行通信所用電纜多,隨著間隔 的增加,電纜的開銷會(huì)成為突出的問題。所以,并行通信總是用在數(shù)據(jù)傳輸率要求較高,而傳輸間隔 較短的場合。串行通信可以分為兩種類型:同步通信、異步通信異步通信:一個(gè)字符一個(gè)字符地傳輸,每個(gè)字符一位一位地傳輸,傳輸一個(gè)字符時(shí),以起始位開場,然后傳輸字符本身的各位,接著傳輸校驗(yàn)位,最后以停頓位完畢該字符的傳

35、輸。一次傳輸?shù)钠鹗嘉?、字符各位、校?yàn)位、停頓位構(gòu)成一組完好的信息,稱為幀F(xiàn)rame。幀與幀之間可有任意個(gè)空閑位。起始位之后時(shí)數(shù)據(jù)的最低位。同步通信:在異步通信中,每個(gè)字符都要用起始位作為字符的開場和完畢的標(biāo)志,占用了傳輸?shù)臅r(shí)間,所以在數(shù)據(jù)塊傳送時(shí),為了進(jìn)步效率,就要去掉這些標(biāo)志,采用同步通信。同步通信方式不給每個(gè)字符都加起始位和停頓位,而把字符順序的連接起來,組成一個(gè)數(shù)據(jù)塊首尾相連的數(shù)據(jù)串,把這樣一個(gè)數(shù)據(jù)塊稱為一個(gè)信息楨。在數(shù)據(jù)的開場加上一個(gè)同步字符,而在信息的末尾加有一定的過失檢驗(yàn)字符,其格式如下:實(shí)現(xiàn)串行通信有專用的接口芯片,常用的有USART通用同步/異步接收/發(fā)送器如Intel8251

36、和UART通用異步接收/發(fā)送器如Ins 8250。無論是UART,還是USART,均能實(shí)現(xiàn)數(shù)據(jù)發(fā)送時(shí)所需要的并串轉(zhuǎn)換以及數(shù)據(jù)被CPU接收時(shí)所需要的串并轉(zhuǎn)換串行通信接口異步通信的信息格式:波特率和傳輸率并行通信中,傳輸速率以每秒鐘傳輸多少字節(jié)來表示。而串行通信中,傳輸速率是用波特率來表示。所謂波特率是指單位時(shí)間內(nèi)傳送二進(jìn)制數(shù)據(jù)的位數(shù)簡寫為bps。在計(jì)算機(jī)里,每秒傳輸多少位和波特率的含義是完全一致的。但是要注意,在最初的定義上波特率是每秒傳輸離散信號(hào)的數(shù)目,每秒傳輸多少位和波特率是不一樣的。收、發(fā)雙方的波特率必須一致。傳輸一位所需要的時(shí)間T叫“位周期。例:計(jì)算串行傳輸5頁,每頁80x25個(gè)字符總共

37、需要多少位?假設(shè)每個(gè)字符8位,1位起始位和1位終止位。計(jì)算傳輸上述五頁所需要的時(shí)間。數(shù)據(jù)傳輸率分別為2400bps 和9600bpsRS232串行通信接口為了兼容各廠家消費(fèi)的數(shù)據(jù)通信設(shè)備,1960年電子工業(yè)協(xié)會(huì)Electronics Industries association ,EIA制定了RS-232接口標(biāo)準(zhǔn),以后又陸續(xù)發(fā)布了修訂版本RS-232A,RS-232B和RS-232C。目前廣泛應(yīng)用于個(gè)人計(jì)算機(jī)上的RS-232串行接口,他安裝于PC機(jī)內(nèi)的通信適配器版上。PC機(jī)上的COM1、COM2接口,就是RS-232C接口,使用9針和25針連接器RS-232C采用負(fù)邏輯,且信號(hào)電平與TTL不兼

38、容,規(guī)定邏輯“1在-3V-15V之間,邏輯“0在+3V+15V之間。RS-232C不是TTL電平的接口標(biāo)準(zhǔn),當(dāng)計(jì)算機(jī)與外設(shè)進(jìn)展通信時(shí),必須有相應(yīng)的電平轉(zhuǎn)換電路。通常采用的是MC1488和MC1489電平轉(zhuǎn)換器。串行接口芯片8250、8251均使用TTL電平,應(yīng)使用電平轉(zhuǎn)換電路與RS-232C連接器連接。MC1488:TTL電平RS232電平 用于發(fā)送方MC1489:TTL電平RS232電平 用于接收方IBM   PC通信端口          在微機(jī)系統(tǒng)中,可以有兩個(gè)或多個(gè)端口連接到不

39、同的外部設(shè)備上進(jìn)展通信,如IBM PC和80X86兼容機(jī)可以連接4個(gè)通信端口,他們的編號(hào)為COM14BIOS編號(hào)為COM03,但程序每次只能對(duì)其中一個(gè)端口進(jìn)展存取。當(dāng)微機(jī)加電自檢時(shí),由加電自檢程序來測試通用異步收發(fā)器的4個(gè)COM端口是否存在,假設(shè)微機(jī)系統(tǒng)中設(shè)置了COM端口,那么設(shè)置的每個(gè)COM端口的I/O地址就寫到BIOS數(shù)據(jù)區(qū)的0040:00000040:0007,每個(gè)端口地址占用兩個(gè)字節(jié)。假設(shè)沒有連接串行端口,BIOS數(shù)據(jù)區(qū) 的這幾個(gè)單元的內(nèi)容就成為0??梢杂肈EBUG查看URAT的端口地址。        

40、保存在BIOS數(shù)據(jù)區(qū)的COM端口地址稱為基地址,因?yàn)槊總€(gè) COM端口都包括一組位的存放器,程序員可以通過這些存放器進(jìn)展編程,以控制數(shù)據(jù)按設(shè)定的格式發(fā)送或接收數(shù)據(jù)。 BIOS數(shù)據(jù)區(qū)的COM端口地址是第一個(gè)存放器的地址串行口功能調(diào)用、DOS串行通信口功能使用DOS命令可以設(shè)置串行通信參數(shù),如波特率,字長,校驗(yàn)位和終止位。格式:MODE   COMm:b ,p ,d , s例如:MODE COM1 :24,O,8,1說明:波特率用最高兩位來表示,P是校驗(yàn)位N無,O奇,E偶。端口號(hào)的分配:BIOS位,DOS為DOS串行通信口功能調(diào)用:串行通信口 BIOS功能調(diào)用int 14h:磁盤

41、文件管理 DOS磁盤存取功能 DOS功能調(diào)用中斷INT 21H提供了兩類磁盤文件管理功能,一類是FCB表控制方式,另一類是文件代號(hào)式存取方式。 當(dāng)用戶需要翻開或建立一個(gè)文件時(shí),必須提供文件標(biāo)識(shí)符。文件標(biāo)識(shí)符用ASCII Z字符串表示。ASCII Z字符串是指文件標(biāo)識(shí)符的ASCII字符串后面再加1個(gè)“0字符。文件標(biāo)識(shí)符的字符串包括驅(qū)動(dòng)器名、途徑名和文件名。其格式為d:pathfilename.exe其中d為驅(qū)動(dòng)器名,path為途徑名,.exe為文件名后綴。1建立文件3CH功能:按指定文件名建立文件。入口參數(shù):AH3CH,DS:DX指向ASCII   Z字符串的段地址和偏移地址

42、,          CX文件屬性。出口參數(shù):假設(shè)操作成功,那么CF0,AX文件代號(hào);           假設(shè)操作失敗,那么CF1,AX錯(cuò)誤代碼。2翻開文件3DH功能:翻開由ASCII   Z串指定的文件。入口參數(shù):AH3DH,DS:DX指向ASCII   Z字符串的段地址和偏移地址,       

43、;   AL存取方式代碼0:讀文件,1:寫文件,2:讀、寫文件。出口參數(shù):假設(shè)操作成功,那么CF0,AX文件代號(hào);           假設(shè)操作失敗,那么CF1,AX錯(cuò)誤代碼。3關(guān)閉文件3EH功能:關(guān)閉文件代號(hào)指定的文件。入口參數(shù):AH3EH,BX文件代號(hào)。出口參數(shù):假設(shè)操作成功,那么CF0;           假設(shè)操作失敗,那么CF1,AX錯(cuò)誤代碼。 4讀文件3FH功能:按

44、文件代號(hào)讀取文件。入口參數(shù):AH3FH,BX文件代號(hào),CX要讀取的字節(jié)數(shù);     DS:DX指向接收數(shù)據(jù)緩沖區(qū)的段地址和偏移地址。出口參數(shù):假設(shè)操作成功,那么CF0,AX實(shí)際讀入字節(jié)數(shù),AX0,文件完畢;           假設(shè)操作失敗,那么CF1,AX錯(cuò)誤代碼。5寫文件40H功能:按文件代號(hào)寫文件。入口參數(shù):AH40H,BX文件代號(hào),CX要寫入的字節(jié)數(shù);     DS:DX指向存放寫入信息數(shù)據(jù)緩沖區(qū)的段地址和偏

45、移地址。出口參數(shù):假設(shè)操作成功,那么CF0,AX寫入字節(jié)數(shù);           假設(shè)操作失敗,那么CF1,AX錯(cuò)誤代碼。6 . 挪動(dòng)文件指針42H功能:挪動(dòng)由文件代號(hào)標(biāo)志的文件讀寫指針的位置入口參數(shù):在bx預(yù)置文件代號(hào),在cx:dx雙字中預(yù)置移            動(dòng)位移量,在 al 中預(yù)置挪動(dòng)方式挪動(dòng)方式:00h   挪動(dòng)后文件指針值=0+挪動(dòng)位移量01h   挪動(dòng)后文件指針值=當(dāng)前文件指針值+挪動(dòng)位移量02h   挪動(dòng)后文件指針值=文件尾值+挪動(dòng)位移量出口參數(shù):CF=0 表示挪動(dòng)成功,此時(shí)CX:DX雙字中返回挪動(dòng)后文件指針值;CF=1 表示挪動(dòng)失敗,此時(shí)AX中返回值為1表示挪動(dòng)方式無效

溫馨提示

  • 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)論