freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

匯編語(yǔ)言程序設(shè)計(jì)-資料下載頁(yè)

2025-08-04 17:41本頁(yè)面
  

【正文】 (0, 1位 ) 3C0H~3CFH VGA/EGA 200H~20FH 游戲控制口 3D0H~3DFH CGA 278H~27FH 并行口 LPT3 3F0H~3F7H 磁盤控制器 2F8H~2FFH 串行口 COM2 3F8H~3FFH 串行口 COM1 第 8章 輸入輸出和中斷 I/O指令 由于 I/O端口地址和內(nèi)存單元地址是相互獨(dú)立的,這些端口地址不能用普通的訪問(wèn)內(nèi)存指令來(lái)訪問(wèn)其信息。 ?輸入指令 IN 輸入指令 IN的一般格式如下: IN AL/AX, PortNo/DX 該指令的作用是從端口中讀入一個(gè)字節(jié)或字,并保存在寄存器 AL或 AX中。如果某輸入設(shè)備的端口地址在 0~255范圍之內(nèi),那么,可在指令 IN中直接給出,否則,要把該端口地址先存入寄存器 DX中,然后由 DX來(lái)給出其端口地址。 例如: IN AL, 60H 。從端口 60H讀入一個(gè)字節(jié)到 AL中 IN AX, 20H 。把端口 20H、 21H按“高高低低”組成的字讀入 AX MOV DX, 2F8H IN AL, DX 。從端口 2F8H讀入一個(gè)字節(jié)到 AL中 IN AX, DX 。把端口 2F8H、 2F9H按“高高低低”組成的字讀入AX 第 8章 輸入輸出和中斷 ?輸出指令 OUT 輸出指令 OUT的一般格式如下: OUT PortNo/DX, AL/AX 該指令的作用是把寄存器 AL或 AX的內(nèi)容輸出到指定端口。如果某輸出設(shè)備的端口地址在 0~255范圍之內(nèi),那么,可在指令 OUT中直接給出,否則,要把該端口地址先存入寄存器 DX中,然后在指令中由 DX來(lái)給出其端口地址。 例如: OUT 61H, AL 。把 AL的內(nèi)容輸出到端口 61H中 OUT 20H, AX 。把 AX的內(nèi)容輸出到端口 20H、 21H中 MOV DX, 3C0H OUT DX, AL 。把 AL的內(nèi)容輸出到端口 3C0H中 OUT DX, AX 。把 AX的內(nèi)容輸出到端口 3C0H、 3C1H中 第 8章 輸入輸出和中斷 中斷的基本概念 中斷 1. 中斷和中斷源 CPU在執(zhí)行程序時(shí),是否響應(yīng)中斷要取決于以下三個(gè)條件能否同時(shí)滿足: (1)、有中斷請(qǐng)求 (2)、允許 CPU接受中斷請(qǐng)求 (3)、一條指令執(zhí)行完,下一條指令還沒(méi)有開始執(zhí)行 條件 (1)是響應(yīng)中斷的主體。除用指令 INT所引起的軟件中斷之外,其它中斷請(qǐng)求信號(hào)是隨機(jī)產(chǎn)生的,程序員是無(wú)法預(yù)見的。 程序員可用程序來(lái)控制條件 (2)的滿足與否,即用指令 STI和 CLI來(lái)控制 CPU是否響應(yīng)可屏蔽的外部中斷。但對(duì)于不可屏蔽中斷和內(nèi)部中斷,程序員是無(wú)法控制它們的, CPU一定會(huì)執(zhí)行這些中斷的中斷服務(wù)程序。 第 8章 輸入輸出和中斷 2. 中斷向量表和中斷服務(wù)程序 中斷向量表是一個(gè)特殊的線性表,它保存著系統(tǒng)中所有中斷服務(wù)程序或系統(tǒng)參數(shù)的入口地址(偏移量和段地址 )。在微機(jī)系統(tǒng)中,該向量表有256個(gè)元素,每個(gè)元素占 4個(gè)字節(jié),總共占 1K個(gè)字節(jié)。 右圖中的“偏移量”和“段地址”是指該中斷服務(wù)程序入口單元的“偏移量”和“段地址”。從圖中不難看出:若中斷號(hào)為 n,則在中斷向量表中存儲(chǔ)該中斷服務(wù)程序入口地址的單元地址為:4n。 第 8章 輸入輸出和中斷 表 部分常用的中斷號(hào)及其含義 中斷號(hào) 含義 中斷號(hào) 含義 0 除法出錯(cuò) 8 定時(shí)器 1 單步 9 鍵盤 2 非屏蔽中斷 A 未用 3 斷點(diǎn) B COM2 4 溢出 C COM1 5 打印屏幕 D 硬盤 (并行口 ) 6 未用 E 軟盤 7 未用 F 打印機(jī) 第 8章 輸入輸出和中斷 引起中斷的指令 中斷指令 INT 中斷指令 INT的一般格式如下: INT Imm 其中:立即數(shù) Imm是一個(gè) 0~0FFH范圍內(nèi)的整數(shù)。 指令執(zhí)行的步驟: ?把標(biāo)志寄存器壓棧,清除標(biāo)志位 IF和 TF; ?把段寄存器 CS的內(nèi)容壓棧,并把中斷服務(wù)程序入口地址的高字部分送 CS; ?把指針寄存器 IP的內(nèi)容壓棧,并把中斷服務(wù)程序入口地址的低字部分送 IP;對(duì)80386及其以后的 CPU,對(duì) 16位段,壓 16位 IP;對(duì) 32位段,壓 32位 EIP。 在該指令執(zhí)行完后, CPU將轉(zhuǎn)去執(zhí)行中斷服務(wù)程序。由于有了指令 INT,程序員就能為滿足某種特殊的需要,在程序中有目的地安排中斷的發(fā)生,也就是說(shuō),該中斷不是隨機(jī)產(chǎn)生的,而是完全受程序控制的。 第 8章 輸入輸出和中斷 溢出指令 INTO 當(dāng)標(biāo)志位 OF為 1時(shí),引起中斷。該指令格式如下: INTO 該指令影響標(biāo)志位: IF和 TF。 第 8章 輸入輸出和中斷 中斷返回指令 當(dāng)一個(gè)中斷服務(wù)程序執(zhí)行完畢時(shí), CPU將恢復(fù)被中斷的現(xiàn)場(chǎng),返回到被中斷的程序中。為實(shí)現(xiàn)此功能,指令系統(tǒng)提供了一條專用的中斷返回指令。該指令的格式如下: IRET/IRETD 該指令執(zhí)行的過(guò)程基本上是 INT指令的逆過(guò)程,具體如下: ?從棧頂彈出內(nèi)容送入 IP; ?再?gòu)男聴m攺棾鰞?nèi)容送入 CS; ?再?gòu)男聴m攺棾鰞?nèi)容送入標(biāo)志寄存器; 對(duì) 80386及其以后的 CPU,指令 IRETD從棧頂彈出 32位內(nèi)容送入 EIP。 第 8章 輸入輸出和中斷 中斷和子程序調(diào)用 中斷和子程序調(diào)用之間有其相似和不同之處。它們的工作過(guò)程非常相似,即:暫停當(dāng)前程序的執(zhí)行,轉(zhuǎn)而執(zhí)行另一程序段,當(dāng)該程序段執(zhí)行完時(shí), CPU都自動(dòng)恢復(fù)原程序的執(zhí)行。 中斷和子程序調(diào)用在實(shí)現(xiàn)方面的主要差異: ? 子程序調(diào)用是程序員在編寫源程序時(shí)事先安排好的,是可知的,而中斷是由中斷源根據(jù)自身的需要產(chǎn)生的,是不可預(yù)見的 (用指令 INT引起的中斷除外 ); ? 子程序調(diào)用是用 CALL指令來(lái)實(shí)現(xiàn)的,但沒(méi)有調(diào)用中斷的指令,只有發(fā)出中斷請(qǐng)求的事件 (指令 INT是發(fā)出內(nèi)部中斷信號(hào),不要理解為調(diào)用中斷服務(wù)程序 ); ? 子程序的返回指令是 RET,而中斷服務(wù)程序的返回指令是 IRET/IRETD; ? 在通常情況下,子程序是由應(yīng)用系統(tǒng)的開發(fā)者編寫的,而中斷服務(wù)程序是由系統(tǒng)軟件設(shè)計(jì)者編寫的。 第 8章 輸入輸出和中斷 中斷功能的分類 匯編語(yǔ)言程序員常用的這類中斷有: DOS功能調(diào)用 (INT 21H)、 BIOS中斷、硬件和外設(shè)的中斷等。 在用戶程序中,若直接通過(guò)端口來(lái)操作硬件或外設(shè),那么,其處理過(guò)程沒(méi)有額外的多余工作,處理速度顯然是最快的,但這樣做,無(wú)疑使用戶程序具有了很大的局限性。硬件環(huán)境的改變將直接影響程序的正常運(yùn)行。 若用戶程序通過(guò)調(diào)用 DOS功能來(lái)實(shí)現(xiàn)其所需功能,那么,應(yīng)用程序與低層硬件相距較遠(yuǎn),操作最終的對(duì)象需要經(jīng)過(guò)中間環(huán)節(jié),處理速度肯定受到一定的損失,但這種應(yīng)用程序適應(yīng)性強(qiáng),應(yīng)用范圍廣,對(duì)硬件的依賴性最小。 由于 BIOS介于 DOS和具體硬件之間,所以,調(diào)用 BIOS的功能是一個(gè)很好的折中方案。程序員可在以下三種情況下考慮使用 BIOS的功能: 1)、 BIOS提供的功能,而 DOS沒(méi)有提供該功能的情況; 2)、不能利用 DOS功能調(diào)用的情況 (可能因?yàn)槟承┚唧w應(yīng)用的限制 ); 3)、基于處理速度的考慮,需要繞過(guò) DOS層的情況。 綜上所述,可以歸納出如下結(jié)論:使用中斷的層次越高,它與硬件設(shè)備相關(guān)程度就越低,處理速度也就越低,但用戶程序的適用范圍較廣。反之也然。 第 8章 輸入輸出和中斷 鍵盤輸入的中斷功能 例 用鍵盤最多輸入 10個(gè)字符,并存入內(nèi)存變量 Buff中,“ CR”鍵結(jié)束輸入。 解: 方法 1 .MODEL SMALL CR EQU 0DH 。定義“回車”鍵的符號(hào)名 .DATA Buff DB 10 DUP(?) .CODE .STARTUP MOV CX, 0AH LEA BX, Buff .REPEAT MOV AH, 0H INT 16H 。用 BIOS中的中斷功能 .BREAK .IF AL==CR MOV [BX], AL INC BX .UNTILCXZ .EXIT 0 END 第 8章 輸入輸出和中斷 例 用鍵盤最多輸入 10個(gè)字符,并存入內(nèi)存變量 Buff中,“ CR”鍵結(jié)束輸入。 解: 方法 2 .MODEL SMALL .DATA Buff DB 10, ?, 10 DUP(?) 。注意緩沖區(qū)的定義方式 .CODE .STARTUP LEA DX, Buff MOV AH, 0AH INT 21H 。用 DOS中的功能調(diào)用 .EXIT 0 END 第 8章 輸入輸出和中斷 屏幕顯示的中斷功能 文本顯示方式 文本顯示方式是指以字符為最小單位的顯示方式,每個(gè)字符都是以矩形塊形式顯示的。 在常用的文本顯示模式 (模式 3)下,屏幕被劃分成 25行,每行可顯示 80個(gè)字符,所以,每屏最多可顯示 2022(80 25)個(gè)字符。為了便于標(biāo)識(shí)屏幕上的每個(gè)顯示位置,我們就用其所在行和列來(lái)表示之,并規(guī)定:屏幕的左上角坐標(biāo)為 (0, 0),右下角坐標(biāo)為 (24, 79)。 在顯示字符時(shí),用一個(gè)字節(jié)存儲(chǔ)該字符的 ASCII碼,用另一個(gè)字節(jié)存儲(chǔ)的顯示屬性,即:顯示顏色。 由上面的敘述可知:在 80 25的文本顯示模式下,滿屏可顯示 2022個(gè)字符,也就需要 4000個(gè)字節(jié)來(lái)存儲(chǔ)一屏的顯示信息。 第 8章 輸入輸出和中斷 圖形顯示方式 圖形顯示是目前最常用的一種顯示方式,也是 Windows操作系統(tǒng)的默認(rèn)顯示方式。在該顯示方式下,我們可以看到優(yōu)美的圖象、 VCD、瀏覽豐富多彩的網(wǎng)頁(yè)等。 圖形顯示的最小單位是象素,對(duì)每個(gè)象素可用不同的顏色來(lái)顯示。所以,在顯示緩沖區(qū)內(nèi)記錄的信息是屏幕各象素的顯示顏色。 由于各種圖形顯示模式所能顯示的顏色和象素是不同的,它決定了顯示緩沖區(qū)的存儲(chǔ)方式也是不同的。 第 8章 輸入輸出和中斷 例 用直接寫屏方式在屏幕第 5行、第 10列以黃色 (0EH)顯示字符串“ Hello”。 解:在文本顯示方式下,每行顯示 80個(gè)字符,每個(gè)字符占 2個(gè)字節(jié),所以,顯示一行需要 160個(gè)字節(jié)。若在第 m行、第 n列位置顯示字符,則該位置所對(duì)應(yīng)存儲(chǔ)單元的偏移量為: m 160 + n 2。 例 用“霓虹燈”的顯示方式顯示字符串“ Hello”,按 ESC鍵時(shí)結(jié)束程序的運(yùn)行。 解:我們用顯示顏色的變化來(lái)模擬霓虹燈的顯示方式,即用顏色 15(亮白 )作為字符的主要顯示顏色,再用顏色 12(亮紅 )從左到右逐個(gè)掃描。 例 編寫一個(gè)輸入密碼的程序,該程序的具體要求如下: 每輸入一個(gè)字符,顯示字符” ”表示之; 密碼最多只有 10個(gè)字符,多余的按鍵被丟棄; 若輸入的字符串為“ HELLO”,則以藍(lán)色顯示” Wele…” ,否則,以閃爍、亮紅色在顯示” Invalid Password”。 解: 第 8章 輸入輸出和中斷 例 在 256色 320 200的圖形顯示模式下,從屏幕最左邊向最右邊,依次畫豎線 (從頂?shù)降?),線的顏色從 1依次加 1。要求用中斷調(diào)用的方法來(lái)畫線。 解: 例 在 256色 320 200的圖形顯示模式下,從屏幕頂?shù)狡聊坏滓来萎嫏M線 (從最左邊到最右邊 ),線的顏色從 1依次加 1。要求用直接操作顯示緩沖區(qū)的方法來(lái)畫線。 解: 第 8章 輸入輸出和中斷 打印輸出的中斷功能 串行通信口的中斷功能 鼠標(biāo)的中斷功能 目錄和文件的中斷功能 內(nèi)存管理的中斷功能 讀取和設(shè)置中斷向量 謝 謝 計(jì)算機(jī)科學(xué)系 2022年 03月 20日
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1