版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 27728.3-2024濕巾及類似用途產(chǎn)品第3部分:消毒濕巾專用要求
- 大學(xué)生兼職勞動(dòng)合同書2
- 聯(lián)機(jī)手環(huán)測量儀器項(xiàng)目運(yùn)營指導(dǎo)方案
- 電動(dòng)鋸商業(yè)機(jī)會(huì)挖掘與戰(zhàn)略布局策略研究報(bào)告
- 沖床金屬加工用產(chǎn)品供應(yīng)鏈分析
- 電動(dòng)指甲刀商業(yè)機(jī)會(huì)挖掘與戰(zhàn)略布局策略研究報(bào)告
- 眉刷商業(yè)機(jī)會(huì)挖掘與戰(zhàn)略布局策略研究報(bào)告
- 自動(dòng)電話交換機(jī)商業(yè)機(jī)會(huì)挖掘與戰(zhàn)略布局策略研究報(bào)告
- 粉餅盒用粉芯項(xiàng)目運(yùn)營指導(dǎo)方案
- 空手道用護(hù)腿板項(xiàng)目運(yùn)營指導(dǎo)方案
- 彩鋼瓦檢驗(yàn)批DOC
- 小學(xué)美術(shù)課件-第7課地球-我們的家園-贛美版(50張PPT)ppt課件
- 城鎮(zhèn)污水排入排水管網(wǎng)排查整治方案
- 工程流體力學(xué)名詞解釋和簡答題大全
- 【MBA教學(xué)案例】瑞科公司的收入確認(rèn)——“背靠背條款”引發(fā)的風(fēng)波
- 關(guān)愛明天普法先行報(bào)告材料
- 廢棄物、廢水、廢氣、噪聲管理程序4頁
- 淺析專利法第26條第3款和第4款的關(guān)聯(lián)關(guān)系
- 動(dòng)力觸探與標(biāo)準(zhǔn)貫入試驗(yàn)實(shí)施細(xì)則
- 提升機(jī)事故案例分析及提升機(jī)電控技術(shù)PPT課件
- 和易充智能充電系統(tǒng)(PPT課件)
評(píng)論
0/150
提交評(píng)論