第9章 中斷調(diào)用程序設(shè)計_第1頁
第9章 中斷調(diào)用程序設(shè)計_第2頁
第9章 中斷調(diào)用程序設(shè)計_第3頁
第9章 中斷調(diào)用程序設(shè)計_第4頁
第9章 中斷調(diào)用程序設(shè)計_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章開開 始始 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言

2、第第9章章(擴充(擴充BIOS中斷向量)中斷向量)18019F 6067 為用戶軟中斷保留為用戶軟中斷保留1A01FF 687F 不用(其中不用(其中70707777為為I/OI/O設(shè)備中斷向量)設(shè)備中斷向量)200217 8085 BASIC使用使用2183C3 86F0 BASIC運行時,用于解釋運行時,用于解釋3C43FF F1FF 未用未用 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)

3、系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章: 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章code segment assume cs:code mov ah, 0 int 16h mov ah, 4ch int 21h code end

4、send 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章code segment assume cs:code mov ah, 2 int 16h mov ah, 4ch int 21h code endsend 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章無無 伊犁師范學(xué)院伊犁師范學(xué)院 計算

5、機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算

6、機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 9.2 顯示器顯示器I/O 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊

7、犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 從上面三種不同圖形顯示模式的介紹,不難從上面三種不同圖形顯示模式的介紹,不難看出:各種顯示模式在顯示緩沖區(qū)存儲方式上的明看出:各種顯示模式在顯示緩沖區(qū)存儲方式上的明顯差異,操作象素方法的難易程度相差也很大,所顯差異,操作象素方法的難易程度相差也很大,所以,再次建議:以,再次建議:程序員不要用直接操作顯示緩沖區(qū)程序員不要用直接操作顯示緩沖區(qū)的辦法來達到改變顯示象素的目的,最好是通過的辦法來達到改變顯示象素的目的,最好是通過BIOSBIOS內(nèi)的中斷功能來實現(xiàn)相應(yīng)的功能內(nèi)的中斷功能來實現(xiàn)相應(yīng)的功能,這樣

8、,所編這樣,所編寫的程序能很方便地適應(yīng)不同的圖形顯示模式。寫的程序能很方便地適應(yīng)不同的圖形顯示模式。 顯示器的屏幕通常劃分為行和列的二維系統(tǒng),顯示適配器顯示器的屏幕通常劃分為行和列的二維系統(tǒng),顯示適配器就在行列組成的網(wǎng)格位置上顯示字符。對應(yīng)屏幕上的每個字符就在行列組成的網(wǎng)格位置上顯示字符。對應(yīng)屏幕上的每個字符位置,主存空間都有相應(yīng)的存儲單元與之對應(yīng),因此可說是顯位置,主存空間都有相應(yīng)的存儲單元與之對應(yīng),因此可說是顯示屏幕式示屏幕式“存儲器的映像存儲器的映像”。對應(yīng)顯示屏幕上的每個字符,在。對應(yīng)顯示屏幕上的每個字符,在存儲器中由連續(xù)的兩個字節(jié)表示,存儲器中由連續(xù)的兩個字節(jié)表示,一個字節(jié)表示一個字

9、節(jié)表示ASCIIASCII碼,另一碼,另一個字節(jié)保存字符的屬性。個字節(jié)保存字符的屬性。 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章單色顯示的屬性值單色顯示的屬性值 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章彩色字符顯示屬性字節(jié)彩色字符顯示屬性字節(jié) 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章110 棕RGB顏色000 黑藍綠011青紅101品紅111白IRGB顏色IRGB顏色0000黑1000灰0001藍1001淺藍0010綠10

10、10淺綠0011青1011淺青0100紅1100淺紅0101品紅1101淺品紅0110棕1110黃0111白1111強度白 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章3. 顯示存儲器顯示存儲器 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章AL顯示方式顯示方式04025黑白文本方式黑白文本方式14025彩色文本方式彩色文本方式28025黑白文本方式黑白文本方式38025彩色文本方式彩色文本

11、方式4320200彩色圖形方式彩色圖形方式5320200黑白圖形方式黑白圖形方式6640200黑白圖形方式黑白圖形方式78025黑白文本方式(單色顯示卡)黑白文本方式(單色顯示卡) 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師

12、范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師

13、范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 9.3 串行通信口串行通信口I/O 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章串行通信可以分為兩種類型:串行通信可以分為兩種類型:同步通信、異步通信。同步通信、異

14、步通信。一個字符一個字符地傳輸,每個字符一位一位地傳一個字符一個字符地傳輸,每個字符一位一位地傳輸,傳輸一個字符時,以輸,傳輸一個字符時,以起始位起始位開始,然后傳輸字開始,然后傳輸字符本身的各位,接著傳輸符本身的各位,接著傳輸校驗位校驗位,最后以,最后以停止位停止位結(jié)結(jié)束該字符的傳輸。一次傳輸?shù)钠鹗嘉?、字符各位、束該字符的傳輸。一次傳輸?shù)钠鹗嘉?、字符各位、校驗位、停止位?gòu)成一組完整的信息,稱為校驗位、停止位構(gòu)成一組完整的信息,稱為幀幀(Frame)。)。幀與幀之間可有任意個幀與幀之間可有任意個空閑位空閑位。起始位之后時數(shù)據(jù)的最低位。起始位之后時數(shù)據(jù)的最低位。 伊犁師范學(xué)院伊犁師范學(xué)院 計算機

15、科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 在異步通信中,在異步通信中,每個每個字符字符都都要用起始位作為字符的開始要用起始位作為字符的開始和結(jié)束的標(biāo)志,占用了傳輸?shù)臅r間,所以在數(shù)據(jù)塊傳送時,和結(jié)束的標(biāo)志,占用了傳輸?shù)臅r間,所以在數(shù)據(jù)塊傳送時,為了提高效率,就要去掉這些標(biāo)志,采用同步通信。為了提高效率,就要去掉這些標(biāo)志,采用同步通信。同步通同步通信方式不給每個字符都加起始位和停止位,而把字符順序的信方式不給每個字符都加起始位和停止位,而把字符順序的連接起來,組成一個數(shù)據(jù)塊連接起來,組成一個數(shù)據(jù)塊(首尾相連的數(shù)據(jù)串),把這樣(首尾相連的數(shù)據(jù)串),把這樣一個數(shù)據(jù)塊稱為一個信

16、息楨。在數(shù)據(jù)的開始加上一個同步字一個數(shù)據(jù)塊稱為一個信息楨。在數(shù)據(jù)的開始加上一個同步字符,而在信息的末尾加有一定的差錯檢驗字符,其格式如下:符,而在信息的末尾加有一定的差錯檢驗字符,其格式如下:同步字符同步字符 字符字符1 字符字符2 字符字符n 校驗字符校驗字符數(shù)據(jù)塊數(shù)據(jù)塊 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章實現(xiàn)串行通信有專用的接口芯片,實現(xiàn)串行通信有專用的接口芯片,常用的有常用的有USART(通通用同步用同步/異步接收異步接收/發(fā)送器發(fā)送器)如如Intel8251和和UART(通用異步接收通用異步接收/發(fā)送器發(fā)送器)如如Ins

17、8250。無論是無論是UART,還是,還是USART,均能實現(xiàn)數(shù)據(jù)發(fā)送時所,均能實現(xiàn)數(shù)據(jù)發(fā)送時所需要的需要的并串轉(zhuǎn)換并串轉(zhuǎn)換以及數(shù)據(jù)被以及數(shù)據(jù)被CPU接收時所需要的接收時所需要的串串并轉(zhuǎn)換。并轉(zhuǎn)換。 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章串行通信接口串行通信接口串行通信基礎(chǔ)串行通信基礎(chǔ)起始位起始位最低位最低位最高位最高位奇偶位奇偶位停止位停止位數(shù)據(jù)位數(shù)據(jù)位異步通信的信息格式:異步通信的信息格式: 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 并行通信中,傳輸速率以每秒鐘傳輸多少字節(jié)

18、來表并行通信中,傳輸速率以每秒鐘傳輸多少字節(jié)來表示。而串行通信中,傳輸速率是用波特率來表示。所謂示。而串行通信中,傳輸速率是用波特率來表示。所謂波特率是指單位時間內(nèi)傳送二進制數(shù)據(jù)的位數(shù)波特率是指單位時間內(nèi)傳送二進制數(shù)據(jù)的位數(shù)(簡寫為簡寫為bps)。在計算機里,每秒傳輸多少位和波特率的含義是。在計算機里,每秒傳輸多少位和波特率的含義是完全一致的。但是要注意,在最初的定義上(波特率是完全一致的。但是要注意,在最初的定義上(波特率是每秒傳輸離散信號的數(shù)目),每秒傳輸多少位和波特率每秒傳輸離散信號的數(shù)目),每秒傳輸多少位和波特率是不相同的。是不相同的。收、發(fā)雙方的波特率必須一致。傳輸一位所需要的時間收

19、、發(fā)雙方的波特率必須一致。傳輸一位所需要的時間T叫叫“位周期位周期”。例:計算串行傳輸5頁,每頁80 x25個字符總共需要多少位?假設(shè)每個字符8位,1位起始位和1位終止位。計算傳輸上述五頁所需要的時間。數(shù)據(jù)傳輸率分別為2400bps 和9600bps 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章RS232串行通信接口串行通信接口為了兼容各廠家生產(chǎn)的數(shù)據(jù)通信設(shè)備,1960年電子工業(yè)協(xié)會(Electronics Industries association ,EIA)制定了RS-232接口標(biāo)準(zhǔn),以后又陸續(xù)發(fā)布了修訂版本RS-232A,RS-23

20、2B和RS-232C。目前廣泛應(yīng)用于個人計算機上的RS-232串行接口,他安裝于PC機內(nèi)的通信適配器版上。PC機上的機上的COM1、COM2接口,就是接口,就是RS-232C接口,使用接口,使用9針和針和25針連接器針連接器 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章RS-232C采用負(fù)邏輯,且信號電采用負(fù)邏輯,且信號電平與平與TTL不兼容,不兼容,規(guī)定邏輯規(guī)定邏輯“1”在在-3V-15V之間,之間,邏輯邏輯“0”在在+3V+15V之間。之間。RS-232C不是不是TTL電平的接口標(biāo)電平的接口標(biāo)準(zhǔn),當(dāng)計算機與外設(shè)進行通信時,準(zhǔn),當(dāng)計算機與

21、外設(shè)進行通信時,必須有相應(yīng)的電平轉(zhuǎn)換電路。通必須有相應(yīng)的電平轉(zhuǎn)換電路。通常采用的是常采用的是MC1488和和MC1489電電平轉(zhuǎn)換器。平轉(zhuǎn)換器。串行接口芯片串行接口芯片8250、8251均使用均使用TTL電平,應(yīng)使用電平電平,應(yīng)使用電平轉(zhuǎn)換電路與轉(zhuǎn)換電路與RS-232C連接器連接連接器連接。MC1488:TTL電平電平RS232電平電平 (用于發(fā)送方)(用于發(fā)送方)MC1489:TTL電平電平RS232電平電平 (用于接收方)(用于接收方) 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章IBM PC通信端口通信端口 在微機系統(tǒng)中,可以有兩個或

22、多個端口連接到不同的外部設(shè)備上進行通信,如IBM PC和80X86兼容機可以連接4個通信端口,他們的編號為COM14(BIOS編號為COM03),但程序每次只能對其中一個端口進行存取。當(dāng)微機加電自檢時,由加電自檢程序來測試通用異步收發(fā)器的4個COM端口是否存在,如果微機系統(tǒng)中設(shè)置了COM端口,則設(shè)置的每個COM端口的I/O地址就寫到BIOS數(shù)據(jù)區(qū)的0040:00000040:0007,每個端口地址占用兩個字節(jié)。如果沒有連接串行端口,BIOS數(shù)據(jù)區(qū) 的這幾個單元的內(nèi)容就成為0。可以用DEBUG查看URAT的端口地址。 保存在BIOS數(shù)據(jù)區(qū)的COM端口地址稱為基地址,因為每個 COM端口都包括一組

23、位的寄存器,程序員可以通過這些寄存器進行編程,以控制數(shù)據(jù)按設(shè)定的格式發(fā)送或接收數(shù)據(jù)。 BIOS數(shù)據(jù)區(qū)的COM端口地址是第一個寄存器的地址。 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章串行口功能調(diào)用、DOS串行通信口功能使用DOS命令可以設(shè)置串行通信參數(shù),如波特率,字長,校驗位和終止位。格式:MODE COMm:b ,p ,d , s例如:MODE COM1 :24,O,8,1說明:波特率用最高兩位來表示,P是校驗位(N無,O奇,E偶。端口號的分配:BIOS位,DOS為 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾

24、匯編語言匯編語言 第第9章章DOS串行通信口功能調(diào)用串行通信口功能調(diào)用 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章例:例:INPUT_CHAR DB ? :MOV AH,3INT 21HMOV INPUT _CHAR,ALBUFFER DB HELLOBUF_LEN EQU $-BUFFER :MOV BX,SEG BUFFERMOV DS,BXMOV BX, OFFSET BUFFERMOV CX,BUF_LENNEXT:MOV DL ,BXMOV AH,4INT 21HLOOP NEXT 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科

25、學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章串行通信口串行通信口 BIOS功能調(diào)用功能調(diào)用(int 14h) 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章例:兩臺例:兩臺PC機通過機通過COM2端口進行串行數(shù)據(jù)通信,端口進行串行數(shù)據(jù)通信,編寫一個匯編語言程序,要求從一臺編寫一個匯編語言程序,要求從一臺PC 機上鍵盤機上鍵盤上輸入的字符傳送到另一臺上輸入的字符傳送到另一臺PC機,若按下機,若按下ESC鍵,鍵,則退出程序。在程序中,則退出程序。在程序中,COM2端口初始化為端口初始化為 4800BPS,8位數(shù)據(jù),無校驗,位數(shù)據(jù),無校驗,

26、1位終止位;位終止位; 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章.data.datamessage db serial communication via com2,4800,no p,1stop,8 bit data ,0ah,0dh,message db serial communication via com2,4800,no p,1stop,8 bit data ,0ah,0dh,$ db any key press is sent to other PC ,0ah,0dh db any key press is sent to

27、 other PC ,0ah,0dh db press esc to exit,$ db press esc to exit,$.code .code main procmain proc mov ax,data mov ax,data mov ds,ax mov ds,ax mov ah,09 mov ah,09 mov bx,offset message mov bx,offset message int 21h int 21h mov ah,0mov ah,0 mov dx,1 mov dx,1 mov al,03ch mov al,03ch int int 14h14hagain: m

28、ov al,01again: mov al,01 int 16h int 16h jz next jz next mov ah,0 mov ah,0 int int 16h16h 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 cmp al,1bhcmp al,1bh je exit je exit mov ah,1mov ah,1 mov dx,1 mov dx,1 int int 14h14h next: next: mov ah,3mov ah,3 mov dx,1 mov dx,1 int int 14h14h and ah,1 an

29、d ah,1 cmp ah,1 cmp ah,1 jne again jne again mov ah,2mov ah,2 mov dx,1 mov dx,1 int 14h int 14h mov mov dl,al dl,al mov ah,2mov ah,2 int 21h int 21h jmp jmp again againexit:mov ah,4chexit:mov ah,4ch int int 21h21hmain endpmain endpendend 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院

30、 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院

31、 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 6 . 移動文件指針(42H)功能:移動由文件代號標(biāo)志的文件讀寫指針的位置入口參數(shù):在bx預(yù)置文件代號,在cx:dx雙字中預(yù)置移 動位移量,在 al 中預(yù)置移動方式移動方式:00h 移動后文件指針值=0+移動位移量01h 移動后文件指針值=當(dāng)前文件指針值+移動位移量02h 移動后文件指針值=文件尾值+移動位移量出口參數(shù):CF=0 表示移動成功,此時CX:DX雙字中返回移動后文件指針值;CF=1 表示移動失敗,此時AX中返回值為1表示移動方式無效,為6表示無效的文件代號。 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)

32、系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章data segmentdata segment fname db c:masmfile1.dat,0 fname db c:masmfile1.dat,0 dat dat db 80h dup(0)db 80h dup(0) dat1 db 80h dup(0) dat1 db 80h dup(0)data endsdata endscode segmentcode segment assume cs:code,ds:data,es assum

33、e cs:code,ds:data,es:data:datastart:mov ax,datastart:mov ax,data mov ds,ax mov ds,ax mov es,ax mov es,ax mov dx,offset fname mov dx,offset fname mov cx,0 mov cx,0 mov ah,3ch mov ah,3ch int 21h int 21h mov si mov si,ax,axnew: mov bxnew: mov bx,0,0 mov cxmov cx,20h,20h era:mov ah,01h era:mov ah,01h in

34、t 21h int 21h mov datbx mov datbx,al,al inc bx inc bx loop era loop era mov datbx,0ah mov datbx,0ah mov dx,offset dat mov dx,offset dat mov cx,20h mov cx,20h mov bx,si mov bx,si mov ah,40h mov ah,40h int 21h int 21h mov bx,si mov bx,si mov ah,3eh mov ah,3eh int 21h int 21h mov ah,4ch mov ah,4ch int

35、int 21h 21h code ends code endsend startend start例:從鍵盤輸入例:從鍵盤輸入20個字符存放到利用擴充文件管理方式建立個字符存放到利用擴充文件管理方式建立的文件中。的文件中。 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章data segmentdata segment fname db c:masmfile1.dat fname db c:masmfile1.dat,0,0 fname1 db c:masmfile2.dat,0 fname1 db c:masmfile2.dat,0 dta

36、dta db 80h dup(0)db 80h dup(0) dta1 db 80h dup(0) dta1 db 80h dup(0)data endsdata endscode segmentcode segment assume cs:code,ds assume cs:code,ds:data:datastart:mov ax,datastart:mov ax,data mov ds,ax mov ds,ax mov es,ax mov es,ax mov dx,offset fnamemov dx,offset fname mov al,0 mov al,0 mov ah,3dh m

37、ov ah,3dh int 21h int 21h mov si,ax mov si,ax mov bx,si mov bx,si mov dx,offset dta1mov dx,offset dta1 mov cx,10h mov cx,10h mov ah,3fh mov ah,3fh int int 21h 21h mov di,axmov di,ax mov ah,3ehmov ah,3eh int 21h int 21h mov dx,offset fname1mov dx,offset fname1 mov cx,0 mov cx,0 mov ah,3ch mov ah,3ch

38、int 21h int 21h mov si,ax mov si,ax mov dx,offset dta1mov dx,offset dta1 mov cx,di mov cx,di mov bx,si mov bx,si mov ah,40h mov ah,40h int 21h int 21h mov bx,si mov bx,si mov ah,3eh mov ah,3eh int 21h int 21h mov ah,4ch mov ah,4ch int int 21h 21hcode endscode endsend startend start例:從文件例:從文件file1中讀取

39、中讀取10個字符到個字符到file2文件中文件中 伊犁師范學(xué)院伊犁師范學(xué)院 計算機科學(xué)系計算機科學(xué)系 伊力亞爾伊力亞爾 匯編語言匯編語言 第第9章章data segmentdata segment fname db c:masmfile1.dat fname db c:masmfile1.dat,0,0 data1 db 8,?,8 dup(?) data1 db 8,?,8 dup(?) dat1 db 3000h dup(0) dat1 db 3000h dup(0) src dw src dw 0ah 0ah mess1 db reading from n1=?,10,13,$ mess

40、1 db reading from n1=?,10,13,$ mess2 db long n2=?,10,13,$ mess2 db long n2=?,10,13,$ mess3 db 10,13,$ mess3 db 10,13,$data endsdata endsstack segment stack stack segment stack dw dw 100 dup(0) 100 dup(0) top label word top label wordstack endsstack endscode segmentcode segmentmain proc farmain proc

41、far assume cs:code,ds:data,ss assume cs:code,ds:data,ss:stack:stackstart:push dsstart:push ds sub ax,axsub ax,ax push ax push ax mov ax,data mov ax,data mov ds,ax mov ds,ax mov es,ax mov es,ax mov ax,stack mov ax,stack mov ss,ax mov ss,ax mov dx,offset mess1 mov dx,offset mess1 mov ah,09h mov ah,09h

42、 int int 21h 21hcall inputcall input dec di dec di mov si,di mov si,di mov dx,offset mess3 mov dx,offset mess3 mov ah,9 mov ah,9 int 21h int 21h mov dx,offset mess2 mov dx,offset mess2 mov ah,9 mov ah,9 int int 21h 21hcall inputcall input mov dx,offset mess3 mov dx,offset mess3 mov ah,09h mov ah,09h int 21h int 21h mov dx,offset fname mov dx,offset fname mov al,0 mov al,0 mov ah,3dh mov ah,3dh int 21h int 21h mov bx,ax mov bx,ax mov cx,0 mov cx,0 mov dx,si mov dx,si mov al,0 mov al,0 mov ah,42h mov ah,42h int int 21h 21h 例:從文

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論