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

正文內(nèi)容

[計算機(jī)硬件及網(wǎng)絡(luò)]第2章 典型微處理器-文庫吧

2024-12-31 06:43 本頁面


【正文】 標(biāo)志( Flag)用于反映指令執(zhí)行結(jié)果或控制指令執(zhí)行形式 ? 8086處理器的各種標(biāo)志形成了一個 16位的標(biāo)志寄存器 FR(標(biāo)志寄存器的內(nèi)容稱為程序狀態(tài)字 PSW) OF 11 15 12 DF 10 IF 9 TF 8 SF 7 ZF 6 5 AF 4 3 PF 2 1 CF 0 程序設(shè)計需要利用標(biāo)志的狀態(tài) 標(biāo)志的分類 ? 狀態(tài)標(biāo)志--用來記錄程序運行結(jié)果的狀態(tài)信息,許多指令的執(zhí)行都將相應(yīng)地設(shè)置它 CF ZF SF PF OF AF ? 控制標(biāo)志--可由程序根據(jù)需要用指令設(shè)置,用于控制處理器執(zhí)行指令的方式 DF IF TF 進(jìn)位標(biāo)志 CF( Carry Flag) ? 當(dāng)運算結(jié)果的最高有效位有進(jìn)位(加法)或借位(減法)時,進(jìn)位標(biāo)志置 1,即 CF = 1;否則 CF = 0。 3AH + 7CH= 0B6H,沒有進(jìn)位: CF = 0 0AAH + 7CH=( 1) 26H,有進(jìn)位: CF = 1 零標(biāo)志 ZF( Zero Flag) ? 若運算結(jié)果為 0,則 ZF = 1; 否則 ZF = 0 3AH + 7CH= 0B6H, 結(jié)果不是零: ZF = 0 84H + 7CH= ( 1) 00H, 結(jié)果是零: ZF = 1 注意: ZF為 1表示的結(jié)果是 0 符號標(biāo)志 SF( Sign Flag) ? 運算結(jié)果最高位為 1,則 SF = 1;否則SF = 0 3AH + 7CH= 0B6H, 最高位 D7= 1: SF = 1 84H + 7CH= ( 1) 00H, 最高位 D7= 0: SF = 0 有符號數(shù)據(jù)用最高有效位表示數(shù)據(jù)的符號 , 所以 , 最高有效位就是符號標(biāo)志的狀態(tài) 。 奇偶標(biāo)志 PF( Parity Flag) ? 當(dāng)運算結(jié)果最低字節(jié)中 “ 1”的個數(shù)為零或偶數(shù)時, PF = 1;否則 PF = 0 3AH + 7CH= 0B6H= 10110110B 結(jié)果中有 5個 1, 是奇數(shù): PF = 0 PF標(biāo)志僅反映最低 8位中 “ 1”的個數(shù)是 偶或奇 , 即使是進(jìn)行 16位字操作 溢出標(biāo)志 OF( Overflow Flag) ? 若算術(shù)運算的結(jié)果有溢出, 則 OF= 1;否則 OF= 0 3AH + 7CH= 0B6H, 產(chǎn)生溢出: OF = 1 0AAH + 7CH= ( 1) 26H, 沒有溢出: OF = 0 溢出標(biāo)志 OF( Overflow Flag) 問題 什么是溢出? 溢出和進(jìn)位有什么區(qū)別? 處理器怎么處理,程序員如何運用? 如何判斷是否溢出? 什么是溢出 ? 處理器內(nèi)部以補(bǔ)碼表示有符號數(shù) ? 8位表達(dá)的整數(shù)范圍是:+ 127~- 128 ? 16位表達(dá)的范圍是:+ 32767~- 32768 ? 如果運算結(jié)果超出這個范圍,就產(chǎn)生了溢出 ? 有溢出,說明有符號數(shù)的運算結(jié)果不正確 3AH+ 7CH= 0B6H,就是 58+ 124= 182, 已經(jīng)超出- 128~+ 127范圍,產(chǎn)生溢出,故 OF= 1; 另一方面,補(bǔ)碼 0B6H表達(dá)真值是 74, 顯然運算結(jié)果也不正確 溢出和進(jìn)位 ? 溢出標(biāo)志 OF和進(jìn)位標(biāo)志 CF是兩個意義不同的標(biāo)志 ? 進(jìn)位標(biāo)志表示 無符號數(shù)運算 結(jié)果是否超出范圍,運算結(jié)果仍然正確; ? 溢出標(biāo)志表示 有符號數(shù)運算 結(jié)果是否超出范圍,運算結(jié)果已經(jīng)不正確。 請看例子 溢出和進(jìn)位的對比 例 1: 3AH + 7CH= 0B6H 無符號數(shù)運算: 58+ 124= 182 范圍內(nèi),無進(jìn)位, CF=0 有符號數(shù)運算: 58+ 124= 182 范圍外,有溢出, OF=1 例 2: 0AAH + 7CH= ( 1) 26H 無符號數(shù)運算: 170+ 124= 294 范圍外 , 有進(jìn)位 , CF=1 有符號數(shù)運算: - 86+ 124= 38 范圍內(nèi) , 無溢出 , OF=0 如何運用溢出和進(jìn)位 ? 處理器對兩個操作數(shù)進(jìn)行運算時,按照無符號數(shù)求得結(jié)果,并相應(yīng)設(shè)置進(jìn)位標(biāo)志 CF;同時,根據(jù)是否超出有符號數(shù)的范圍設(shè)置溢出標(biāo)志OF。 ? 應(yīng)該利用哪個標(biāo)志,則由程序員來決定。也就是說,如果將參加運算的操作數(shù)認(rèn)為是 無符號數(shù) ,就應(yīng)該 關(guān)心進(jìn)位 ;認(rèn)為是 有符號數(shù) ,則要注意是否 溢出 。 3AH + 7CH= 0B6H, D3有進(jìn)位: AF = 1 ?運算時 D3位 ( 低半字節(jié) ) 有進(jìn)位或借位時 , AF = 1;否則 AF = 0。 這個標(biāo)志主要由處理器內(nèi)部使用 ,用于十進(jìn)制算術(shù)運算調(diào)整指令中 , 用戶一般不必關(guān)心 輔助進(jìn)位標(biāo)志 AF ( Auxiliary Carry Flag) 方向標(biāo)志 DF( Direction Flag) ? 用于串操作指令中,控制地址的變化方向: 設(shè)置 DF= 0,存儲器地址自動增加; 設(shè)置 DF= 1,存儲器地址自動減少 。 ?CLD指令復(fù)位方向標(biāo)志: DF= 0 ?STD指令置位方向標(biāo)志: DF= 1 中斷允許標(biāo)志 IF( Interruptenable Flag) ? 用于控制外部可屏蔽中斷是否可以被處理器響應(yīng): 設(shè)置 IF= 1,則允許中斷; 設(shè)置 IF= 0,則禁止中斷。 ?CLI指令復(fù)位中斷標(biāo)志: IF= 0 ?STI指令置位中斷標(biāo)志: IF= 1 陷阱標(biāo)志 TF( Trap Flag) ? 用于控制處理器進(jìn)入單步操作方式: 設(shè)置 TF= 0,處理器正常工作; 設(shè)置 TF= 1,處理器單步執(zhí)行指令 。 ?單步執(zhí)行指令 —— 處理器在 每條指令執(zhí)行結(jié)束 時 , 便產(chǎn)生一個編號為 1的內(nèi)部中斷 ?這種內(nèi)部中斷稱為 單步中斷 ?所以 TF也稱為 單步標(biāo)志 ? 利用單步中斷可對程序進(jìn)行逐條指令的調(diào)試 ? 這種逐條指令調(diào)試程序的方法就是 單步調(diào)試 段寄存器 ? 8086有 4個 16位段寄存器 ? CS(代碼段)指明 代碼段 的起始地址 ? SS(堆棧段)指明 堆棧段 的起始地址 ? DS(數(shù)據(jù)段)指明 數(shù)據(jù)段 的起始地址 ? ES(附加段)指明 附加段 的起始地址 ? 每個段寄存器用來確定一個邏輯段的起始地址,每種邏輯段均有各自的用途 43 223 8086微處理器的外部引腳特性 8086CPU具有 40個引腳 , 采用雙列直插式的封裝形式 , 如圖 26所示 。 數(shù)據(jù)總線為 16條 , 地址總線為 20條 , 其余為狀態(tài)線 、 控制信號線 、 電源 、 地線等 。 地址 /數(shù)據(jù)總線采用了分時復(fù)用方式 , 即一部分引腳具有雙重功能 ,例如 AD15~AD0這 16個引腳 , 有時傳送數(shù)據(jù)信號 , 有時可輸出地址信號 。 第 2章 典型微處理器 地址 /數(shù)據(jù)線 地址 /狀態(tài)線 非屏蔽中斷 可屏蔽中斷請求 最小最大模式控制 MN/MX=1,最小模式 MN/MX=0,最大模式 讀信號 總線保持請求信號 總線保持響應(yīng)信號 寫信號 存儲器 /IO控制信號 M/IO=1,
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1