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

正文內(nèi)容

現(xiàn)代微機(jī)原理與接口技術(shù)接口第10章(已修改)

2025-10-07 18:47 本頁(yè)面
 

【正文】 現(xiàn)代微機(jī)原理與接口技術(shù) 1 第 10章 PC機(jī)的高級(jí)編程技術(shù) 現(xiàn)代微機(jī)原理與接口技術(shù) 2 PC機(jī)環(huán)境下軟件對(duì)接口的訪問(wèn)層次 裸機(jī) BIOS 直接訪問(wèn) 操作系統(tǒng) 驅(qū)動(dòng)程序 間接訪問(wèn) 應(yīng)用程序 現(xiàn)代微機(jī)原理與接口技術(shù) 3 特點(diǎn) :可以直接進(jìn)行內(nèi)存和端口的訪問(wèn),也可以自行決定是否在實(shí)模式和保護(hù)模式間切換。通常所有的端口和內(nèi)存都是對(duì)程序員開(kāi)放的。 工具 :匯編語(yǔ)言或 C語(yǔ)言。 應(yīng)用 : BIOS都是基于這種低級(jí)層次用匯編來(lái)編寫的。驅(qū)動(dòng)程序也有使用這種方法的。 優(yōu)點(diǎn) :能夠編寫速度最快,占用空間最小的有效代碼。 缺點(diǎn) :需要對(duì)硬件和接口有很熟悉的了解。 要會(huì)匯編,或熟練使用 C語(yǔ)言的指針。 不利于增加對(duì)新設(shè)備的控制。 現(xiàn)代微機(jī)原理與接口技術(shù) 4 特點(diǎn) :通過(guò) BIOS提供的功能調(diào)用間接地對(duì)內(nèi)存或端口訪問(wèn),從而控制硬件。 工具 :匯編語(yǔ)言或 C語(yǔ)言。 應(yīng)用 :驅(qū)動(dòng)程序有些會(huì)使用這些功能調(diào)用。需要獲得高效率的應(yīng)用程序也采用這種方法。 優(yōu)點(diǎn) :能夠編寫速度較快的有效代碼。 可以不需要編寫直接對(duì)硬件進(jìn)行控制的代碼。 缺點(diǎn) :需要對(duì)底層信號(hào)有所了解。 增加對(duì)新設(shè)備的控制不是很方便,但好于低級(jí)層次。 現(xiàn)代微機(jī)原理與接口技術(shù) 5 特點(diǎn) :使用 BIOS功能調(diào)用和直接內(nèi)存訪問(wèn)的方法編寫符合特定操作系統(tǒng)管理規(guī)范的設(shè)備驅(qū)動(dòng)程序。 工具 : VC++與 DDK開(kāi)發(fā)包,或第三方開(kāi)發(fā)工具如 DriverStudio。 應(yīng)用 :在操作系統(tǒng)層面上的設(shè)備控制,并為應(yīng)用程序提供 API支持。 優(yōu)點(diǎn) :既控制硬件,又保證操作系統(tǒng)的完整與安全。 缺點(diǎn) :需要對(duì)底層信號(hào)有所了解。 需要對(duì)操作系統(tǒng)的各個(gè)管理模塊有深入的了解。 現(xiàn)代微機(jī)原理與接口技術(shù) 6 特點(diǎn) :使用操作系統(tǒng)各種驅(qū)動(dòng)程序所提供的功能調(diào)用或 API函數(shù)間接對(duì)硬件或內(nèi)存進(jìn)行訪問(wèn)。 工具 : VC++、 Delphi、 Java等。 應(yīng)用 :編寫面向終端用戶的各類應(yīng)用程序。 優(yōu)點(diǎn) :無(wú)需對(duì)硬件控制有太多了解,只需完成應(yīng)用層面的工作就可以 ,而且還保證操作系統(tǒng)的完整與安全。 缺點(diǎn) :需要了解大量的 API和功能調(diào)用函數(shù)的功能。 由于是間接調(diào)用,所以代碼的效率和編譯系統(tǒng)有很大的關(guān)系。 現(xiàn)代微機(jī)原理與接口技術(shù) 7 16位段地址 16位段內(nèi)偏移 : 16位段地址 16位段內(nèi)偏移 (左移四位) + 20位物理地址 = 6417H∶ 0100H 6417H 10H + 0100H = 64170H + 0100H = 64270H 采用了內(nèi)存分段的辦法,內(nèi)存分為若干段,段的大小根據(jù)需要決定,最大為 64KB 實(shí)地址模式的存儲(chǔ)管理(同 PC/XT) Pentium 4的內(nèi)存管理 ——接口直接訪問(wèn) 現(xiàn)代微機(jī)原理與接口技術(shù) 8 000000 0A0000 100000 110000 ≈ ≈ FFFFFF 640KB常規(guī)內(nèi)存 384KB高端內(nèi)存 64KB高內(nèi)存區(qū) 1~4095MB擴(kuò)展內(nèi)存 存放用戶程序和DOS駐留部分 存放顯存、網(wǎng)卡和部分用戶的 DOS驅(qū)動(dòng)程序和BIOS 存放部分 DOS駐留程序 大于 1M以上的 擴(kuò)展內(nèi)存, DOS下不能直接訪問(wèn),需要用 XMS規(guī)范使用??衫?DOS調(diào)用或BIOS調(diào)用來(lái)使用。 現(xiàn)代微機(jī)原理與接口技術(shù) 9 保護(hù)模式下使用的系統(tǒng)地址寄存器 ? GDTR — 48位的全局描述符表寄存器 全局描述符表 32位線性地址 16位界限值 ? IDTR — 48位的中斷描述符表寄存器 中斷描述符表 32位線性地址 16位界限值 ? TR — 16位的任務(wù)狀態(tài)段寄存器 TSS的 16位選擇字 ? LDTR — 16位的局部描述符選擇字寄存器 LDT的 16位選擇字 現(xiàn)代微機(jī)原理與接口技術(shù) 10 保護(hù)模式下 Pentium 4的段式存儲(chǔ)管理 1. 段式管理的地址變換 段寄存器的 15~2位 偏移量 45 32 31 0 段描述符 段表 32位線性地址 物理地址 邏輯地址 段基址 Pentium 系列的虛擬地址空間是 246= 64TB。 現(xiàn)代微機(jī)原理與接口技術(shù) 11 2. 段描述符 D7 D0 段界限 7~0 段界限 15~8 基址 7~0 基址 15~8 基址 23~16 基址 31~24 TYPE S AVL DPL P G D/B 0 段界限 19~16 0 1 2 3 4 5 6 7 現(xiàn)代微機(jī)原理與接口技術(shù) 12 D7 D0 AVL G D/B 0 段界限 19~16 用戶的操作系統(tǒng)可用位 D/B位 代碼段 (D位 ) D=1 使用 32位操作系統(tǒng)和 32位尋址方式 D=0 使用 16位操作系統(tǒng)和 16位尋址方式 數(shù)據(jù)段 (B位 ) B=1 使用 ESP寄存器,上限為 FFFFFFFFH B=0 使用 SP寄存器,上限為 FFFFH G=0 段長(zhǎng)以 1字節(jié)為單位 G=1 段長(zhǎng)以 4K字節(jié)為單位 D/B位 粒度位 現(xiàn)代微機(jī)原理與接口技術(shù) 13 A W R ED C E=0 E=1 S=1 DPL P D7 D0 存在位 特權(quán)位 S=1是非系統(tǒng)段 S=0是系統(tǒng)描述符 代碼段標(biāo)志 數(shù)據(jù)段標(biāo)志 兼容位 可讀位 訪問(wèn)位 擴(kuò)展方向位 可寫位 非系統(tǒng)段中的第 5字節(jié) 可執(zhí)行位 現(xiàn)代微機(jī)原理與接口技術(shù) 14 系統(tǒng)描述符中的 TYPE 現(xiàn)代微機(jī)原理與接口技術(shù) 15 RPL Ti 選擇符(段寄存器) 15 2 1 0 索引 Ti=1 Ti=0 …… 0 1 …… 0 1 LDT LDT LDT GDT 基址 界限 選擇符 基址 界限 LDTR GDTR 2 2 現(xiàn)代微機(jī)原理與接口技術(shù) 16 include include include // WORDLONG, //DWORD,WORD等數(shù)據(jù)類型 DWORDLONG gdtr,savegdt; //下面是 GDT中將創(chuàng)建的數(shù)據(jù)段描述符表 ,基地址 0X00000F00, //段界限為 0XFFFF,優(yōu)先級(jí)為 3的在內(nèi)存中的可寫數(shù)據(jù)段 WORD descriptor[4]= {0xFFFF, 0X0F00, 0XF200, 0X0040}; int result[10]; int main( int argc, char* argv[]) {_asm { push ebp sgdt gdtr // 將 GDTR寄存器的內(nèi)容讀取到 //gdtr開(kāi)始的 6個(gè)字節(jié)中 , 其中 // 前兩個(gè)字節(jié)給出 GDT的界限值 , //高 4個(gè)字節(jié)給出 GDT的基地址 現(xiàn)代微機(jī)原理與接口技術(shù) 17 mov ebp,dword ptr [gdtr+2] // 將 gdt的基 // 地址讀到 EBP中 add ebp,70h // 我們選擇 70H偏移下的段描述 // 符( GDT中第 14個(gè)描述符) lea edi,savegdt mov esi,ebp movsd // 以上 4條指令保存原來(lái)在 70H偏移上 movsd // 的描述符 mov edi,ebp lea esi,descriptor; movsd // 把我們的數(shù)據(jù)段描述符裝入 70H movsd // 偏移上 push es mov ax,0073h // 選擇字為描述符偏移 70H拼接上 // 低 3位控制位元 ,其中 Ti為 0,表 // 示訪問(wèn) GDT,RPL為 11,為 3級(jí)優(yōu) // 先級(jí) ,所以就為 73H 現(xiàn)代微機(jī)原理與接口技術(shù) 18 mov es,ax // ES裝入選擇字 73H lea edi,result // 將存放輸出結(jié)果的變量 //的地址放在 EDI中 mov eax,1 mov ebx,1 } _asm { mov cx,10 a1: mov es: [eax],eax add eax,4 loop a1 // 上面 4條指令將向物理地址 // 0X00000F00處寫 10個(gè)雙字 } _asm { mov cx,10 a2: mov eax,es: [ebx] mov [edi],eax 現(xiàn)代微機(jī)原理與接口技術(shù) 19 add ebx,4 add edi,4 loop a2 // 以上從物理地址 0X00000F00 // 處依次讀出 10個(gè)數(shù)據(jù)存放在 // re
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1