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

正文內(nèi)容

匯編語(yǔ)言程序設(shè)計(jì)-閱讀頁(yè)

2024-08-23 17:41本頁(yè)面
  

【正文】 12+34, ADDR MSG 其中: TEST是子程序名,寄存器 AX和表達(dá)式“ 12+34”是參數(shù),“ ADDR MSG”是傳遞變量 MSG的地址。其中參數(shù)的個(gè)數(shù)不定,參數(shù)的個(gè)數(shù)由第一個(gè)參數(shù)來(lái)確定。第一個(gè)參數(shù) parmcount確定其后面參數(shù) parmvalues中所含參數(shù)的個(gè)數(shù) ADDUP PROC NEAR C, parmcount:WORD, parmvalues:VARARG XOR AX, AX XOR SI, SI MOV CX, parmcount .REPEAT ADD AX, parmvalues[SI] INC SI INC SI .UNTILCXZ RET ADDUP ENDP .STARTUP INVOKE ADDUP, 3, 5, 2, 4 。計(jì)算 1+2+3+4 .EXIT 0 END 第 7章 子程序和庫(kù) 局部變量的定義格式: LOCAL 變量名 [[數(shù)量 ]] [:數(shù)據(jù)類型 ] [,變量名 [[數(shù)量 ]] [:數(shù)據(jù)類型 ]]... 偽指令 LOCAL的作用是說(shuō)明一個(gè)或多個(gè)臨時(shí)的局部變量 (位于堆棧中 )。 在子程序中,若說(shuō)明了某個(gè)局部變量,則子程序體中的指令就可使用該局部變量。 局部變量只在當(dāng)前子程序中使用,離開(kāi)該子程序,它們就不能再被引用。 局部變量的定義 第 7章 子程序和庫(kù) “數(shù)量”用來(lái)說(shuō)明該變量所具有的元素個(gè)數(shù),該數(shù)量必須寫在括號(hào)“ [ ]”之中。 局部變量的類型說(shuō)明符可以是任何合法的數(shù)據(jù)類型說(shuō)明符。 例如: LOCAL data[20]:BYTE, num:WORD 在上例的說(shuō)明中,定義了二個(gè)局部變量: data和 num。 第 7章 子程序和庫(kù) 宏匯編 MASM系統(tǒng)提供了建立庫(kù)文件的命令文件 。 一、 MSDOS系統(tǒng) 顯示命令 LIB用法的命令如下: …lib /? 該命令的顯示結(jié)果如右圖所示??捎孟铝蟹椒▉?lái)建立該庫(kù)文件: 方法 1:所有目標(biāo)文件都準(zhǔn)備好了,可一次性把它們加入到庫(kù)文件中 …lib mylib +sub1 +sub2 +sub3 方法 2:隨著目標(biāo)文件的逐個(gè)生成,而依次把它們加入到庫(kù)文件中 …lib mylib +sub1 …lib mylib +sub2 …lib mylib +sub3 假如源文件 ,并也生成了新的目標(biāo)文件 ,這時(shí),可用下面命令來(lái)實(shí)現(xiàn)替換: …lib mylib +sub3 當(dāng)提示目標(biāo)庫(kù)文件名 (Output library)時(shí),可按“回車”用默認(rèn)的原庫(kù)文件名。把庫(kù)文件 list中 …type list 建立庫(kù)文件舉例 第 7章 子程序和庫(kù) 當(dāng)開(kāi)發(fā)一個(gè)功能較強(qiáng)、關(guān)系較復(fù)雜的應(yīng)用程序時(shí),其執(zhí)行文件常常由多個(gè)目標(biāo)文件 (模塊 )連接而成的。 為了解決描述各模塊之間的聯(lián)系,匯編語(yǔ)言提供了二條偽指令 PUBLIC和EXTRN,它們的作用說(shuō)明變量、過(guò)程和函數(shù)是“全局的”或“外部的”。其說(shuō)明的一般格式如下: PUBLIC 標(biāo)識(shí)符 1, 標(biāo)識(shí)符 2, …… 其中:“標(biāo)識(shí)符”可以是變量名、過(guò)程名和程序標(biāo)號(hào),標(biāo)識(shí)符之間要用逗號(hào)分開(kāi)。在一個(gè)模塊中,可用多條 PUBLIC偽指令來(lái)說(shuō)明公共標(biāo)識(shí)符。如果當(dāng)前模塊使用了其它模塊的標(biāo)識(shí)符,而對(duì)它又不加以說(shuō)明的話,那么,匯編程序?qū)?huì)給出下列出錯(cuò)信息: error nnnnn: undefined symbol : XXXXXX 偽指令 EXTRN的一般說(shuō)明格式如下: EXTRN 標(biāo)識(shí)符 1:類型 1, 標(biāo)識(shí)符 2:類型 2, …… 其中:“標(biāo)識(shí)符”和“類型”之間要用冒號(hào)“ :”連接。 在一個(gè)模塊中,可用多條 EXTRN偽指令來(lái)說(shuō)明本模塊所引用的外部標(biāo)識(shí)符。 第 7章 子程序和庫(kù) 程序員在編寫程序時(shí),通常采用模塊化的思想來(lái)組織源程序:把各類子程序分別編寫在不同的源程序中,在各源程序中說(shuō)明所用到的、在其它模塊中已定義的子程序,或說(shuō)明本模塊所定義的子程序可被其它模塊調(diào)用。 方法 1:直接連接目標(biāo)文件而生成可執(zhí)行文件 這種方法簡(jiǎn)單、方便,也是常用的一種方法,但在連接時(shí), LINK程序會(huì)把目標(biāo)文件中的所有代碼都嵌入到執(zhí)行文件中,從而使得:包含在某目標(biāo)文件中、但并沒(méi)有被調(diào)用的子程序代碼也出現(xiàn)在執(zhí)行文件中。 庫(kù)文件的好處 第 7章 子程序和庫(kù) 方法 2:采用子程序庫(kù)的方法 庫(kù)文件可以把它看成是子程序的集合。 當(dāng)某目標(biāo)文件與庫(kù)文件相連接時(shí), LINK程序只把目標(biāo)文件所用到的子程序從庫(kù)文件中找出來(lái),并合并到最終的可執(zhí)行文件中,而不是把庫(kù)中所含的全部子程序都納入最后的可執(zhí)行文件。 第 8章 輸入輸出和中斷 輸入輸出是一個(gè)完整應(yīng)用程序的重要組成部分 , 是交互式應(yīng)用程序不可缺少的組成部分 。 但匯編語(yǔ)言是與機(jī)器有關(guān)的程序設(shè)計(jì)語(yǔ)言 , 要編寫出具有輸入輸出功能的代碼段就必須清楚 CPU為輸入輸出提供了哪些指令 , 或計(jì)算機(jī)系統(tǒng)提供了哪些可直接使用的功能調(diào)用 。 通過(guò) I/O端口 , 處理機(jī)可以接受從輸入設(shè)備輸入的信息 , 也可向輸出設(shè)備發(fā)送信息 。 第 8章 輸入輸出和中斷 在 Intel公司的 CPU家族中 , I/O端口的地址空間可達(dá) 64K, 即可有 65536個(gè)字節(jié)端口 , 或 32768個(gè)字端口 。 雖然 CPU提供了很大的 I/O地址空間 , 但目前大多數(shù)微機(jī)所用的端口地址都在 0~3FFH范圍之內(nèi) ,其所用的 I/O地址空間只占整個(gè) I/O地址空間的很小部分 。 ?輸入指令 IN 輸入指令 IN的一般格式如下: IN AL/AX, PortNo/DX 該指令的作用是從端口中讀入一個(gè)字節(jié)或字,并保存在寄存器 AL或 AX中。 例如: IN AL, 60H 。把端口 20H、 21H按“高高低低”組成的字讀入 AX MOV DX, 2F8H IN AL, DX 。把端口 2F8H、 2F9H按“高高低低”組成的字讀入AX 第 8章 輸入輸出和中斷 ?輸出指令 OUT 輸出指令 OUT的一般格式如下: OUT PortNo/DX, AL/AX 該指令的作用是把寄存器 AL或 AX的內(nèi)容輸出到指定端口。 例如: OUT 61H, AL 。把 AX的內(nèi)容輸出到端口 20H、 21H中 MOV DX, 3C0H OUT DX, AL 。把 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)有開(kāi)始執(zhí)行 條件 (1)是響應(yīng)中斷的主體。 程序員可用程序來(lái)控制條件 (2)的滿足與否,即用指令 STI和 CLI來(lái)控制 CPU是否響應(yīng)可屏蔽的外部中斷。 第 8章 輸入輸出和中斷 2. 中斷向量表和中斷服務(wù)程序 中斷向量表是一個(gè)特殊的線性表,它保存著系統(tǒng)中所有中斷服務(wù)程序或系統(tǒng)參數(shù)的入口地址(偏移量和段地址 )。 右圖中的“偏移量”和“段地址”是指該中斷服務(wù)程序入口單元的“偏移量”和“段地址”。 第 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í)行完后, CPU將轉(zhuǎn)去執(zhí)行中斷服務(wù)程序。 第 8章 輸入輸出和中斷 溢出指令 INTO 當(dāng)標(biāo)志位 OF為 1時(shí),引起中斷。 第 8章 輸入輸出和中斷 中斷返回指令 當(dāng)一個(gè)中斷服務(wù)程序執(zhí)行完畢時(shí), CPU將恢復(fù)被中斷的現(xiàn)場(chǎ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。它們的工作過(guò)程非常相似,即:暫停當(dāng)前程序的執(zhí)行,轉(zhuǎn)而執(zhí)行另一程序段,當(dāng)該程序段執(zhí)行完時(shí), CPU都自動(dòng)恢復(fù)原程序的執(zhí)行。 第 8章 輸入輸出和中斷 中斷功能的分類 匯編語(yǔ)言程序員常用的這類中斷有: DOS功能調(diào)用 (INT 21H)、 BIOS中斷、硬件和外設(shè)的中斷等。硬件環(huán)境的改變將直接影響程序的正常運(yùn)行。 由于 BIOS介于 DOS和具體硬件之間,所以,調(diào)用 BIOS的功能是一個(gè)很好的折中方案。 綜上所述,可以歸納出如下結(jié)論:使用中斷的層次越高,它與硬件設(shè)備相關(guān)程度就越低,處理速度也就越低,但用戶程序的適用范圍較廣。 第 8章 輸入輸出和中斷 鍵盤輸入的中斷功能 例 用鍵盤最多輸入 10個(gè)字符,并存入內(nèi)存變量 Buff中,“ CR”鍵結(jié)束輸入。定義“回車”鍵的符號(hào)名 .DATA Buff DB 10 DUP(?) .CODE .STARTUP MOV CX, 0AH LEA BX, Buff .REPEAT MOV AH, 0H INT 16H 。 解: 方法 2 .MODEL SMALL .DATA Buff DB 10, ?, 10 DUP(?) 。用 DOS中的功能調(diào)用 .EXIT 0 END 第 8章 輸入輸出和中斷 屏幕顯示的中斷功能 文本顯示方式 文本顯示方式是指以字符為最小單位的顯示方式,每個(gè)字符都是以矩形塊形式顯示的。為了便于標(biāo)識(shí)屏幕上的每個(gè)顯示位置,我們就用其所在行和列來(lái)表示之,并規(guī)定:屏幕的左上角坐標(biāo)為 (0, 0),右下角坐標(biāo)為 (24, 79)。 由上面的敘述可知:在 80 25的文本顯示模式下,滿屏可顯示 2022個(gè)字符,也就需要 4000個(gè)字節(jié)來(lái)存儲(chǔ)一屏的顯示信息。在該顯示方式下,我們可以看到優(yōu)美的圖象、 VCD、瀏覽豐富多彩的網(wǎng)頁(yè)等。所以,在顯示緩沖區(qū)內(nèi)記錄的信息是屏幕各象素的顯示顏色。 第 8章 輸入輸出和中斷 例 用直接寫屏方式在屏幕第 5行、第 10列以黃色 (0EH)顯示字符串“ Hello”。若在第 m行、第 n列位置顯示字符,則該位置所對(duì)應(yīng)存儲(chǔ)單元的偏移量為: m 160 + n 2。 解:我們用顯示顏色的變化來(lái)模擬霓虹燈的顯示方式,即用顏色 15(亮白 )作為字符的主要顯示顏色,再用顏色 12(亮紅 )從左到右逐個(gè)掃描。 解: 第 8章 輸入輸出和中斷 例 在 256色 320 200的圖形顯示模式下,從屏幕最左邊向最右邊,依次畫豎線 (從頂?shù)降?),線的顏色從 1依次加 1。 解: 例 在 256色 320 200的圖形顯示模式下,從屏幕頂?shù)狡聊坏滓来萎嫏M線 (從最左邊到最右邊 ),線的顏色從 1依次加 1。 解: 第 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