一、系統(tǒng)功能調用
(一)概述
DOS為程序設計者提供了許多可直接調用的功能子程序,這些功能子程序的主要功能:
(1)磁盤的讀寫、控制。
(2)內存管理、文件操作和目錄操作。
(3)基本輸入輸出管理(如鍵盤、打印機、顯示器、磁帶等管理),另外還有時間、日期等子程序。
這幾十個子程序給匯編語言程序員提供了極大方便,程序員不必編寫這些繁雜程序,也不必搞清有關的設備、電路、接口等,只需直接調用即可。
(二)調用方法
為了使用的方便,所有子程序已按序編號—功能號從00H ~ 68H,調用時使用如下調用方法:
(1)入口參數送指定寄存器;
(2)功能號送AH;
(3)INT 21H。
有的子程序不要入口參數,但大部分需要將參數送人指定地點。
程序員只須給出這三個方面的信息,不必關心具體程序如何,在內存中的存放地址如
何,DOS根據所給的信息,自動轉入相應的子程序去執(zhí)行。
(三)基本功能調用
1.鍵盤輸入 (1號調用)
功能:等待從標準輸入設備輸入一個字符井送入寄存器虬,
例如:MOVAH,1
INT21H
執(zhí)行上述指令,系統(tǒng)將掃描鍵盤,等待有鍵按下,一旦有鍵按下,就將鍵值(相應字
符的ASCII碼值)讀入,先檢查是否是Ctrl_Break,若是,則退出命令執(zhí)行;否則將鍵值
送人AL寄存器,同時將這個字符顯示在屏幕上。
2.打印輸出 (5號調用)
功能:把DL中的字符輸出到打印機上。
例如: MOVDL,‘A’
MOVAH,5
INT21H
3.直接控制臺輸入輸出 (6號調用)
功能:可以從標準輸入設備輸入字符也可以向屏幕上輸出字符。但不檢查Ctrl_Break。
例如.當DL=FPH時,表示從鍵盤輸入,
若標志ZF=0,表示AL中為鍵入的字符值。
若標志ZF=1,表示AL中不是鍵入的字符值,即尚無鍵按下。
當DL≠FFH時,表示向屏幕輸出,DL中為輸出字符的ASCII碼值。
MOV DL,OFFH
MOV AH,6
INT 21H
即為從鍵盤輸入字符。
4.輸出字符串 (9號調用)
調用時,要求DS:DX必須指向內存中一個以“$”作為結束標志的字符串。字符串中
每一個字符(不包括結尾標志$)都輸出顯示或打印,
例如:DATASEGMENT
BUFDB‘ABCDEFGHIJ$’
…
DATAENDS
CODESEGMENT
…
MOV AX, DATA
MOV DS, AX
…
MOV DX, OFFSET BUF
MOV AH, 9
INT21H
…
CODEENDS
執(zhí)行本程序,屏幕將顯示:ABCDEFGHIJ
5.字符串輸入 (OAH號調用)
從鍵盤接收字符串到內存輸入緩沖區(qū)。要求事先定義一個輸入緩沖區(qū),緩沖區(qū)內第一
個字節(jié)指出緩沖區(qū)能容納的字符個數,不能為零。第二個字節(jié)保留以用作填寫輸入的字符
個數。從第三個字節(jié)開始存放從鍵盤上接收的字符。若實際輸入的字符數少于定義的字節(jié)
數,緩沖區(qū)內其余字節(jié)填零,若多于定義的字節(jié)數,則后來輸入的字符丟掉,且響鈴。
調用時,要求DS:DX指向輸入緩沖區(qū)
例如:
DATASEGMENT
BUF DB 100;緩沖區(qū)長度
DB?;保留為填入實際輸入的字符個數
DB 100 DUP(?);定義100個字節(jié)存貯空間
…
DATAENDS
CODESEGMENT
…
MOV AX,DATA
MOV DS,AX
…
MOV DX,OFFSET BUF
MOV AH,10
INT 21H
CODEENDS
6.日期設置 (2BH調用)
調用時,CX:DX中必須有一個有效的日期,CX中存放年號(1980-2099),DH中存放月號(1—12),DL中放日號。若日期有效,設置成功,AL=0;否則AL=0FFH。
例如:下列程序可把日期設置為2000年10 月1 日。
MOV CX, 2000
MOV DH, 10
MOV DL, 1
MOV AH,2BH
INT 21H
二、ROM BIOS 中斷調用
ROMBIOS(Basic Input/Output System,基本輸入輸出系統(tǒng))存放在內存較高地址區(qū)域的ROM中,它處理系統(tǒng)中的全部內部中斷,還提供對主要I/O接口的控制功能,如鍵盤、
顯示器、磁盤、打印、日期與時間等。BIOS采用模塊化結構形式,每個功能模塊的入口地址都存在中斷向量表中。對這些中斷調用是通過軟中斷指令INT n來實現的,中斷指令中的操作數 n 即中斷類型碼。表4-2中列出了各種中斷調用的類型碼。
表4—2中斷 向 量 表
中斷調用的方法是:首先給出入口參數,然后寫明軟件中斷指令。
下面以鍵盤I/O中斷調用為例介紹中斷調用方法。
鍵盤I/O中斷調用 (16H) 有三個功能,功能號在AH中。
(1)AH=0
入口參數:AH=0
功能:從鍵盤讀人字符送 AL 寄存器。
出口參數:AL中為鍵盤輸入字符的ASCII碼值
(2)AH=1
入口參數:AH=1
功能:從鍵盤讀入字符送AL,并設置ZF標志.若按過任一健 ( 即鍵盤緩沖區(qū)
不空 ),置ZF=0,否則ZF=1。
出口參數:若ZF=0,則AL中為輸入字符的ASCII碼,
(3)AH=2
人口參數:AH=2
功能:讀取特殊功能鍵的狀態(tài)
出口參數:AL為各特殊功能鍵的狀態(tài),位7是插入鍵(INS),位6是大小寫字母鍵(CAPS),位5是數字鍵(NUM),位4是滾動鍵(SCROLL),位3是交替鍵(ALT),位2是控制鍵(CTL),位1是左邊的SHIFT鍵,位0是右邊的SHIFT鍵。
例如:MOV AH,0
INT16H
調用結果,將鍵盤輸入字符的ASCII碼值送AL中。
聲明:
(一)由于考試政策等各方面情況的不斷調整與變化,本網站所提供的考試信息僅供參考,請以權威部門公布的正式信息為準。
(二)本網站在文章內容來源出處標注為其他平臺的稿件均為轉載稿,免費轉載出于非商業(yè)性學習目的,版權歸原作者所有。如您對內容、版權等問題存在異議請與本站聯系,我們會及時進行處理解決。
相關推薦
2022年浙江自考《當代中國政治制度》復習筆記匯總
09-152023年10月浙江自考傳播學概論復習資料:有限效果論
08-30自考輔導資料:2019年10月《美學》知識點-崇高的內涵與特點
09-172022年浙江自考中國古代文學史(一)第三編第九章復習資料
10-312023年4月浙江自考中外教育簡史復習筆記:英國近代教育制度
12-08自考輔導資料:2021年10月《學前教育史》—論幼稚師范教育
06-05自考輔導資料:2021年10月《學前教育史》—雅典的學前教育
06-07自考輔導資料:2019年10月《中國現代文學史》知識點-茅盾
09-242022年浙江自考心理學復習筆記:情緒情感的功能
11-03自考輔導資料:2021年10月《學前教育史》—古代東方國家的學前教育
06-07