日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

匯編(一)——微處理器結(jié)構(gòu)

 shamo9966 2015-09-29
寫程序或研究任何指令之前,必須了解微處理器的內(nèi)部配置

 

8086的寄存器組分成8個通用寄存器、4個段寄存器、1個標志寄存器和1個指令指針寄存器,均是16位的。8個通用寄存器中的4個數(shù)據(jù)寄存器可以分成高8位和低8位兩個獨立的寄存器,形成8個通用的8位寄存器。寄存器示意圖如下:寄存器說明

一、通用寄存器
1、數(shù)據(jù)寄存器
   AX 稱為累加器,使用頻率最高,用于算術(shù)、邏輯運算以及與外設(shè)傳遞信息等。
   BX 稱為基址寄存器,常用作存放存儲器地址。
   CX 稱為計數(shù)器,作為循環(huán)和串操作等指令中的隱含計數(shù)器。
   DX 稱為數(shù)據(jù)寄存器,常用來存放雙字長數(shù)據(jù)的高16位,或存放外設(shè)端口地址。
2、指針及變址寄存器
   包括SI 、DI、BP、SP四個16位寄存器,常用于存儲器尋址時提供地址。SI是原變址寄存器,DI是目的變址寄存器,一般與DS聯(lián)用確定數(shù)據(jù)段中某一存儲單元地址。在串指令中,SI與DS聯(lián)用、DI與ES聯(lián)用,分別尋址數(shù)據(jù)段和附加段,同時在串指令中,SI、DI還都具有自動增量或減量的功能。SP為堆棧指針寄存器,指示棧頂?shù)钠频刂罚籅P為基址指針寄存器,表示堆棧段中的基地址。SP和BP寄存器與SS段寄存器聯(lián)合使用以確定堆棧段中的存儲單元地址。SP實際上可歸類為專用寄存器,只用于堆棧操作。16位IP指令指針寄存器用來指示代碼段中指令的偏移地址,與代碼段寄存器CS聯(lián)用,確定下一條指令的物理地址,處理器利用CS:IP取得下一條要執(zhí)行的指令,然戶修改IP內(nèi)容,指向下一條指令的存儲器地址。計算機就是通過CS:IP寄存器來控制指令序列的執(zhí)行流程。IP寄存器是一個專用寄存器。
二、標志寄存器
標志(Flag)用于反映指令執(zhí)行結(jié)果或控制指令執(zhí)行形式。許多指令執(zhí)行之后影響有關(guān)的標志位;不少指令的執(zhí)行要利用某些標志。8086微處理器中各種標識形成一個16位的標志寄存器FLAGS,也稱為程序狀態(tài)字寄存器PSW,分為兩類:6個狀態(tài)標志和3個控制標志。具體如下圖:
標志寄存器
1、狀態(tài)標志
狀態(tài)標志用來記錄程序運行結(jié)果的狀態(tài)信息
CF——進位標志(Carry Flag)。當運算結(jié)果的最高有效位有進位(加法)或借位(減法)時,進位標志置1,即CF=1;否則CF=0。
ZF——零標志(Zero Flag)。若運算結(jié)果為0,則ZF=1,否則ZF=0。
SF——符號標志(Sign Flag)。運算結(jié)果的最高有效位就是符號標志的狀態(tài)。既運算結(jié)果最高位為1,則SF=1;否則SF=0。
PF——奇偶標志(Parity Flag)。運算結(jié)果最低字節(jié)中“1”的個數(shù)為零或偶數(shù)時,PF=1;否則PF=0。PF標志進反映最低8位中“1”的個數(shù)的奇或偶。
OF——溢出標志(Overflow Flag)。若算術(shù)運算結(jié)果有溢出,則OF=1;否則OF=0。
AF——輔助進位標志(Auxiliary Carry Flag)。運算時D3位(低半字節(jié))有進位或借位時,AF=1;否則AF=0
2、控制標志
控制寄存器可由程序根據(jù)需要指令設(shè)置,用來控制處理器執(zhí)行指令的方式。
DF——方向標志(Direction Flag)。該標志用于串操作指令中,控制地址的變化方向。如果DF=0,每次串操作后的存儲器地址自動增加,DF=1,每次串操作后的存儲器地址自動減少。方向標志可以用CLD指令復(fù)位(DF=0),STD指令置位(DF=1)。
IF——中斷允許標志(Interrupt-enable Flag)。該標志用于控制外部可屏蔽中斷是否可以被處理器響應(yīng)。IF=1,允許中斷,IF=0,禁止中斷。
TF——陷阱標志(Trap Flag)。也常稱為單步標志。用于控制處理器是否進入單步操作方式。TF=1,處理器單步執(zhí)行指令:即處理器在每條指令執(zhí)行結(jié)束時,產(chǎn)生一個編號為1的內(nèi)部中斷。這樣可以方便的對程序逐條指令的調(diào)試。

微處理器從功能上可以分成兩大部分:執(zhí)行單元(Exection Unit)和總線接口單元(Bus Interface Unit),如下圖:
微處理器結(jié)構(gòu)

在EU中算術(shù)邏輯單元ALU用來維持MPU的狀態(tài)和標志,管理通用寄存器和指令操作數(shù)。EU中的寄存器是16位的,數(shù)據(jù)通道也是16位的,便于數(shù)據(jù)的快速傳送(16位處理器)。EU從BIU的指令隊列中獲取指令,譯碼后開始執(zhí)行,當指令要求訪問內(nèi)存或端口時,EU請求BIU存取數(shù)據(jù)。這時EU算出的地址是相對段基的16位位移量,BIU根據(jù)指令要求選定相應(yīng)的段寄存器得到段基,由段基和位移量得出操作數(shù)的20位物理地址。BIU用來實現(xiàn)EU的所有總線操作,在EU執(zhí)行指令時,BIU從存儲器中取出后繼指令送入指令隊列,該隊列同時能存放6個指令字節(jié)(8088處理器)。這一指令隊列能保證EU從該隊列中取出馬行要執(zhí)行的指令,而不必到內(nèi)存中直接取指令。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多