版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
匯編語(yǔ)言程序設(shè)計(jì)第九章資料第15講(第15周):鍵盤(pán)I/O和顯示器I/O前一講總目錄
4.PC中斷系統(tǒng)中中斷類型可分為三類:
第一類BIOS中斷服務(wù)程序(系統(tǒng)主板BIOS芯片提供),主要包括:①.系統(tǒng)內(nèi)部中斷:中斷類型號(hào)從00H到07H(共8個(gè));②.系統(tǒng)8級(jí)外部中斷:中斷類型號(hào)從08H到0FH(共8個(gè)),它們對(duì)應(yīng)于可編程中斷控制器8259A的8個(gè)中斷請(qǐng)求輸入端IR0IR7的8個(gè)外部中斷,其中IR2(中斷類型號(hào)0AH)為系統(tǒng)保留,用戶可通過(guò)該引腳實(shí)現(xiàn)對(duì)用戶所需的外部硬件中斷的管理;③.設(shè)備驅(qū)動(dòng)程序:中斷類型號(hào)從10H到1FH(共16個(gè))等;
第二類DOS中斷服務(wù)程序:中斷類型號(hào)從20H到2FH(共16個(gè));第三類用戶中斷服務(wù)程序:中斷類型號(hào)從60H到7FH、F1H到FFH(共47個(gè))。用戶可根據(jù)實(shí)際需要將某些通用性較強(qiáng)的子程序通過(guò)中斷服務(wù)程序來(lái)實(shí)現(xiàn)。一旦這些中斷服務(wù)程序設(shè)置好了,其他應(yīng)用程序就可以調(diào)用這些中斷服務(wù)程序。5.BIOS和DOS基本調(diào)用方法:[1]、將調(diào)用參數(shù)裝入指定的寄存器中;[2]、BIOS或DOS功能號(hào)裝入AH;[3]、如需子功能號(hào),把它裝入AL;[4]、按中斷號(hào)調(diào)用DOS或BIOS中斷(INT);[5]、檢查或取得返回參數(shù)。例:DOS調(diào)用:鍵盤(pán)輸入,顯示輸出
MOVAH,01 ;DOS功能號(hào):鍵盤(pán)輸入
INT21H ;DOS調(diào)用
MOVCHAR,AL ;返回參數(shù):(AL)MOVDL,CHAR
;調(diào)用參數(shù):輸出字符
MOVAH,02 ;DOS功能號(hào):顯示輸出
INT21H ;DOS調(diào)用第15講(第15周):鍵盤(pán)I/O和顯示器I/O總目錄前一講第15講(第15周):鍵盤(pán)I/O和顯示器I/O總目錄§9.1、鍵盤(pán)I/O1、鍵盤(pán)鍵的分類:[1].字符數(shù)字鍵傳送一個(gè)ASCⅡ碼字符;主要是字母A(a)~Z(z)、常用字符%、$、#等以及數(shù)字(0~9);[2].擴(kuò)展功能鍵產(chǎn)生一個(gè)動(dòng)作;比如Home把光標(biāo)移到屏幕左上角;這些鍵主要有:F1~F12(程序功能鍵)、ESC、INSERT、DELETE、HOME、END、PAGEUP、PAGEDOWN等等;[3].組合鍵和其它鍵組合使用的控制鍵:Alt、Ctrl、Shift等;說(shuō)明:鍵盤(pán)和主機(jī)相連的五根線:電源線、地線、復(fù)位線、鍵盤(pán)數(shù)據(jù)線和鍵盤(pán)時(shí)鐘線;按盤(pán)識(shí)別采用“行列掃描法”;鍵盤(pán)數(shù)據(jù)線將按鍵的8位“掃描碼”送入主機(jī);前一講第15講(第15周):鍵盤(pán)I/O和顯示器I/O總目錄2、字符碼與掃描碼:[1]、掃描碼的獲得若鍵盤(pán)中斷允許(8259A的中斷屏蔽寄存器[即21H端口]的第1位為0),按下或放開(kāi)一個(gè)鍵時(shí)產(chǎn)生一個(gè)類型9的鍵盤(pán)中斷而轉(zhuǎn)入BIOS鍵盤(pán)中斷處理程序,該程序從8255可編程外圍接口芯片的輸入口60H讀取一個(gè)字節(jié),該字節(jié)低7位就是“掃描碼”,按下時(shí)最高位為0(此時(shí)稱為“通碼”),放開(kāi)時(shí)最高位為1(此時(shí)稱之為“斷碼”);[2]、掃描碼的處理BIOS鍵盤(pán)中斷處理程序?qū)呙璐a作如下處理:字符數(shù)字鍵(ASCⅡ碼鍵)把掃描碼轉(zhuǎn)換成相應(yīng)的字符碼(大部分為ASCⅡ碼);非字符數(shù)字符鍵(非ASCⅡ碼鍵)不轉(zhuǎn)換,仍為掃描碼,產(chǎn)生一個(gè)操作;字符碼或掃描碼存儲(chǔ)于ROMBIOS數(shù)據(jù)區(qū)的鍵盤(pán)緩沖區(qū)KB-BUFFER中
前一講3.鍵盤(pán)I/O中斷(1).BIOS鍵盤(pán)中斷(INT16H)AH功能返回參數(shù)
0從鍵盤(pán)讀一字符AL=字符碼,AH=掃描碼
1讀鍵盤(pán)緩沖區(qū)的字符如ZF=0,AL=字符碼,AH=掃描碼如ZF=1,緩沖區(qū)空
2取鍵盤(pán)狀態(tài)字節(jié)AL=鍵盤(pán)狀態(tài)字節(jié)
P319
字符數(shù)字鍵字符碼為ASCII碼功能鍵、控制鍵字符碼為0對(duì)應(yīng)一個(gè)掃描碼第15講(第15周):鍵盤(pán)I/O和顯示器I/O總目錄前一講DOS鍵盤(pán)中斷(INT21H)第15講(第15周):鍵盤(pán)I/O和顯示器I/O總目錄AH功能調(diào)用參數(shù)返回參數(shù)1鍵盤(pán)輸入一個(gè)字符,并回顯在屏幕上AL=字符(ASCⅡ碼)6讀取鍵盤(pán)緩沖區(qū)字符DL=OFFHZF=0時(shí)(不空),AL=字符;ZF=1時(shí)(為空),AL=07鍵盤(pán)輸入一個(gè)字符,不回顯AL=字符8鍵盤(pán)輸入一個(gè)字符,不回顯;檢測(cè)ctrl-break
AL=字符A輸入字符到緩沖區(qū)DS:DX=緩沖區(qū)首址首字節(jié)初始化為最大字符數(shù)
B讀鍵盤(pán)狀態(tài)有鍵入時(shí)AL=FFH無(wú)鍵入時(shí)AL=00HC清除鍵盤(pán)緩沖區(qū),并調(diào)用一種鍵盤(pán)功能AL=鍵盤(pán)功能號(hào)(1、6、7、8、A)注意:AH=1/7/8/0AH都是字符先進(jìn)鍵盤(pán)緩沖區(qū)然后進(jìn)AL或用戶緩沖區(qū);前一講第15講(第15周):鍵盤(pán)I/O和顯示器I/O總目錄[1]、單字符輸入方法AH=01/07/08AH=01H和08H時(shí),如果按下Ctrl-C或Ctrl-Break,DOS在返回前調(diào)用INT23H并結(jié)束程序;實(shí)例參見(jiàn)eg9.2~9.4[2]、字符串輸入方法
AH=OAH
(P322)
從鍵盤(pán)讀入一個(gè)字符串并把它存入用戶定義的緩沖區(qū)中;緩沖區(qū)中第1個(gè)字節(jié)保存事前用戶指定的本次輸入的最大字符數(shù)(<=255);緩沖區(qū)的第2個(gè)字節(jié)是實(shí)際輸入的字符數(shù)(由功能A填入)最后結(jié)束字符串的回車ODH占一個(gè)字節(jié);整個(gè)緩沖區(qū)的大小為“最大字符數(shù)(含回車)+2”;程序運(yùn)行時(shí),每鍵入一個(gè)字符第2個(gè)字節(jié)自增1,當(dāng)?shù)?個(gè)字節(jié)值比第1個(gè)字節(jié)小且遇到“回車”則結(jié)束輸入,若第1個(gè)字節(jié)等于第0個(gè)字節(jié)值還沒(méi)有“回車”則光標(biāo)不移動(dòng)且發(fā)“嘟嘟”聲;[3]、清除鍵盤(pán)緩沖區(qū)方法
AH=OCH
MOVAH,0CHMOVAL,08H;指定清除鍵盤(pán)緩沖區(qū)以后執(zhí)行相應(yīng)的功能;INT21H[4]、檢查鍵盤(pán)狀態(tài)方法
AH=OBH若有按鍵則AL=0FFH,沒(méi)有按鍵則AL=OH
SOUNDER:……
MOVAH,OBHINT21HINCALJNZSOUNDER
RET前一講例:輸入字符串到緩沖區(qū)STRING,用戶最多連續(xù)輸入32個(gè)字符;DATASSEGMENT
MAXLENDB32
ACTLENDB?
STRINGDB32DUP(?)DATASENDSCODE SEGMENT
… MOVAX,DATAS MOV DS,AX LEA DX,MAXLEN MOV AH,0AH INT 21H …CODE ENDS END第15講(第15周):鍵盤(pán)I/O和顯示器I/O總目錄前一講或MAXLENDB32,0,32DUP(?)或MAXLENDB32,33DUP(?)第15講(第15周):鍵盤(pán)I/O和顯示器I/O總目錄§9.2、顯示器I/O1、顯示器簡(jiǎn)介顯示器通過(guò)“顯示適配器(即:顯卡)”與PC機(jī)相連,[1].顯卡的組成
PCB板印刷電路板; 圖形芯片(GPU)相當(dāng)于CPU,處理顯示信息; 顯存存儲(chǔ)臨時(shí)信息等;(獨(dú)立于主存)[2].顯卡的分類獨(dú)立顯卡顯存是一個(gè)單獨(dú)芯片;集成顯卡顯存和圖形芯片等集成在PCB板上;早期顯卡:?jiǎn)紊@卡(MDA)接單色顯示器;只能顯示ASCⅡ碼字符;彩色顯卡(CGA)接彩色顯示器;可顯示ASCⅡ碼字符,可顯示以點(diǎn)繪制的圖形;后來(lái)陸續(xù)出現(xiàn)“增強(qiáng)型圖形適配器(EGA)”、“視頻圖形陣列適配器(VGA)”2、字符顯示屬性說(shuō)明屏幕上每個(gè)字符都對(duì)應(yīng)于顯存的連續(xù)兩個(gè)字節(jié),一個(gè)字節(jié)保存ASCⅡ碼,另一個(gè)字節(jié)保存字符的屬性;[1].單色字符顯示字符顯示屬性字節(jié)參見(jiàn)P325圖9.5;同一屏的不同字符可以按不同屬性來(lái)顯示,具體參見(jiàn)P326表9.6;[2].彩色字符顯示顯示屬性字節(jié)參見(jiàn)P326圖9.6和表9.7;[3].顯示存儲(chǔ)器不同顯卡的顯示存儲(chǔ)器起始地址不同;一般而言顯示存儲(chǔ)器可容納多屏(即多頁(yè))顯示信息,參見(jiàn)P327例9.7;前一講第15講(第15周):鍵盤(pán)I/O和顯示器I/O總目錄3、BIOS顯示中斷INT10H(參見(jiàn)P329表9.8)[1]、控制光標(biāo)INT10H
的功能1顯示或關(guān)閉光標(biāo);
INT10H
的功能2設(shè)置光標(biāo)位置;
AH=1 CH0~3=光標(biāo)開(kāi)始行,CL0~3=光標(biāo)結(jié)束行;方法是
CH4=1關(guān)閉光標(biāo),CH4=0打開(kāi)光標(biāo);
AH=2 DH=光標(biāo)行號(hào);DL=光標(biāo)列號(hào);
BH=光標(biāo)頁(yè)號(hào);(單色BH=0)Eg9.8略;[2]、讀光標(biāo)位置INT10H
AH=03
在BH中指定頁(yè)號(hào),光標(biāo)行號(hào)在DH中,光標(biāo)列號(hào)在DL中,光標(biāo)大小的參數(shù)填入CH(光標(biāo)開(kāi)始行)和CL(光標(biāo)結(jié)束行)中;[3]、選擇顯示頁(yè)INT10HAH=5;AL=顯示頁(yè);[4]、清屏和卷屏INT10HAH=6;(參見(jiàn)Eg9.11)[5]、兩種字符顯示方法
INT10HAH=09H字符及其屬性輸出到當(dāng)前光標(biāo)位置;INT10HAH=0AH字符輸出到當(dāng)前光標(biāo)位置,屬性同先前此位置的屬性;[6]、彩色和字符串顯示INT10HAH=09功能
AL=字符ASCⅡ碼;BL=彩色屬性;前一講4、顯示器I/O文本方式ASCII字符
76543210
76543210前景000=黑111=白亮度0=正常亮度1=加強(qiáng)亮度閃爍0=正常顯示1=閃爍顯示背景000=黑111=白單色屬性
76543210
前景閃爍背景BL
R
G
B
IRGB16色屬性第15講(第15周):鍵盤(pán)I/O和顯示器I/O總目錄前一講BIOS顯示中斷實(shí)例(INT10H)功能號(hào)AH=0,1,2,3,5,6,7,8,9,0AH,0EH,13H(p.328)例:清除屏幕
mov ah,6 ;屏幕初始化 mov al,0 ;全屏空白 mov bh,7 ;卷入行屬性 mov ch,0 ;左上角行號(hào) mov cl,0 ;左上角列號(hào) mov dh,24 ;右下角行號(hào) mov dl,79 ;右下角列號(hào)
int 10h ;BIOS調(diào)用
定義窗口第15講(第15周):鍵盤(pán)I/O和顯示器I/O總目錄前一講例:
在品紅背景下,顯示5個(gè)淺綠色閃爍的星號(hào)。
MOVAH,09;光標(biāo)位置下顯示
MOVAL,’*’;顯示字符
MOVBH,0;顯示頁(yè)0MOVBL,0DAH;1
101
1010(表9.7)MOVCX,05H;顯示次數(shù)
INT10H
;BIOS調(diào)用第15講(第15周):鍵盤(pán)I/O和顯示器I/O總目錄前一講例:在屏幕上以紅底蘭字顯示字符串:“WORLDSCENERY”STRINGDB‘WORLDSCENERY’;定義在ES段LEN_TRDW13 ┇MOVAL,3 ;80×25,16色文本方式;MOVAH,0
INT10HMOVBP,SEGSTRING MOVES,BP;串地址ES:BPMOVBP,OFFSETSTRINGMOVCX,LEN_STR;串長(zhǎng)度
MOVDX,0 ;起始行列MOVBX,0041H ;0100
0001(屬性)MOVAL,1 ;子功能MOVAH,13H
;顯示字符串INT10H
第15講(第15周):鍵盤(pán)I/O和顯示器I/O總目錄前一講5、DOS顯示功能調(diào)用中斷(INT21H)第15講(第15周):鍵盤(pán)I/O和顯示器I/O總目錄AH功能調(diào)用參數(shù)2顯示一個(gè)字符(檢驗(yàn)Ctrl-Break)光標(biāo)跟隨字符移動(dòng)DL=字符6顯示一個(gè)字符(不檢驗(yàn)Ctrl-Break)光標(biāo)跟隨字符移動(dòng)DL=字符9顯示字符串光標(biāo)跟隨串移動(dòng)DS:DX=串地址串必須以$結(jié)束例:顯示字符串
MESSAGEDB‘Thesortoperationisfinished.’,13,10,’$’…… MOVAH,9 MOVDX,SEGMESSAGE MOVDS,DX MOVDX,OFFSETMESSAGE
INT21H前一講§9.3、打印機(jī)I/O
(自學(xué)內(nèi)容)第15講(第15周):鍵盤(pán)I/O和顯示器I/O總目錄例:
打印字符串TEXT(DOS)TEXTDB‘Hello,everybody!’COUNTEQU$-TEXT;COUNT=17……MOVCX,COUNTMOVBX,0 NEXT:MOVAH,5
MOVDL,TEXT[BX]
INT21HINC BX LOOPNEXT 例:
打印字符串TEXT(BIOS)TEXTDB‘Hello,everybody!’COUNTEQU$-TEXT……MOVCX,COUNTMOVBX,0NEXT:MOVAH,0
MOVAL,TEXT[BX]
MOVDX,0;打印機(jī)號(hào)
INT17HINCBXLOOPNEXT前一講§9.4、串行通信口I/O第15講(第15周):鍵盤(pán)I/O和顯示器I/O總目錄9.4.1、串行通信接口基礎(chǔ)知識(shí)1、串行通信的方式:[1].同步方式一次傳遞一個(gè)字節(jié);[2].異步方式一次傳遞一個(gè)數(shù)據(jù)塊;2、串行通信接口(RS-23
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年團(tuán)聚入境面試題及答案
- 南鐵高招考試題及答案
- 山海關(guān)人民調(diào)解員考試題及答案
- 高壓旋噴樁專項(xiàng)施工方案
- 拆裝勞務(wù)合同范本
- 國(guó)美電器合同范本
- 合租人合住協(xié)議書(shū)
- 2026年高中語(yǔ)文選擇性必修中冊(cè)《過(guò)秦論》理解性默寫(xiě)
- 《商業(yè)銀行信用風(fēng)險(xiǎn)量化分析中大數(shù)據(jù)挖掘技術(shù)的策略與成效研究》教學(xué)研究課題報(bào)告
- 2026年高校教師資格證之高等教育法規(guī)考試題庫(kù)及完整答案(名師系列)
- 2025年GCP考試題庫(kù)及答案(網(wǎng)校專用)
- 2025年社區(qū)警務(wù)規(guī)范考試題庫(kù)及答案
- 車輛和駕駛?cè)斯芾砟M試題及答案
- 2025年廣西公務(wù)員考試【申論A、B、C】真題及答案
- 2025年國(guó)家開(kāi)放大學(xué)《經(jīng)濟(jì)學(xué)基礎(chǔ)》期末考試備考試題及答案解析
- GB/T 12022-2025工業(yè)六氟化硫
- 人工智能通識(shí)基礎(chǔ) 課件 項(xiàng)目一、人工智能概述
- 穿脫無(wú)菌手術(shù)衣課件
- (正式版)DB15∕T 967-2025 《林木育苗技術(shù)規(guī)程》
- 2025新疆維吾爾自治區(qū)人民檢察院招聘聘用制書(shū)記員(14人)筆試參考題庫(kù)附答案解析
- 人工智能導(dǎo)論 課件 第1章 人工智能概述
評(píng)論
0/150
提交評(píng)論