




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第2章8086CPU結構與功能微處理器的外部結構微處理器的內部結構微處理器的功能結構微處理器的寄存器組織微處理器的存儲器和I/O組織
8086/8088CPU內部共有14個16位寄存器,用于提供運算,控制指令執(zhí)行和對指令及操作數尋址。掌握每個寄存器的作用以及用法,是學好匯編語言程序設計的基礎。14個寄存器按其用途可分為三大類:通用寄存器(8個)段寄存器(4個)控制寄存器(2個)2.4微處理器的寄存器組織一.通用寄存器(8個)8個16位通用寄存器分為兩組:地址指針和變址寄存器(4個)數據寄存器(4個)2.4微處理器的寄存器組織
16位DXDLDHCXCLCHBXBLBHAXALAH累加器Accumulator基址寄存器BaseRegister計數器CountRegister數據寄存器DataRegister1.數據寄存器(4個)2.4微處理器的寄存器組織
2.地址指針和變址寄存器(4個)均為16位,也能存放數據均為地址寄存器DISIBPSP堆棧指針寄存器StackPointer基址指針寄存器BasePointer源變址寄存器SourceIndex(源操作數段內偏移)目的變址寄存器DestinationIndex(目的操作數段內偏移)
2.4微處理器的寄存器組織
二.段寄存器堆棧信息數據(數值、字符等)代碼(指令碼)在微機系統(tǒng)的內存中通常存放著三類信息:指示CPU執(zhí)行何種操作。程序處理的對象或結果。被保存的返回地址和中間結果等。代碼段數據段堆棧段2.4微處理器的寄存器組織
8086/8088CPU有4個段寄存器。分別是:SSESDSCS代碼段寄存器。指向當前的代碼段,指令由此段取出。CodeSegment數據段寄存器。指向當前的數據段。DataSegment附加數據段寄存器。指向當前的附加數據段。ExtraSegment堆棧段寄存器。指向當前的堆棧段。StackSegment16位2.4微處理器的寄存器組織
指令指針寄存器相當于一般微處理器中的程序計數器(PC:ProgramCounter)。它始終指向CPU下一條要取指令所在存貯器單元的偏移地址(段地址由CS提供)。
用戶不能更改IP的值,只有CPU執(zhí)行轉移指令,子程序調用指令和子程序返回指令以及中斷處理時,IP才作相應的改變。四.控制寄存器(2個)1.指令指針寄存器(IP:InstructionPointer)(16位)2.4微處理器的寄存器組織
標志寄存器相當于一般微處理器中的程序狀態(tài)字寄存器(PSW)。16位,但有用的只有9位,其中:2.標志寄存器(FLAG)狀態(tài)標志:CF,PF,AF,ZF,SF,OF,共6位控制標志:TF,IF,DF,共3位如下圖所示:OF
DF
IF
TF
SF
ZF
AFPF
CF15
14
13
12
11
10
9
8
7
6
5
4
3
2
102.4微處理器的寄存器組織
CF(CarryFlag)進位標志。如果加法時最高位(對字節(jié)操作是D7位,對字操作是D15位)產生進位或減法時最高位產生錯位,則CF=1,否則CF=0。狀態(tài)標志
反映的是ALU運算后結果的狀態(tài)
AF(AuxiliaryCarryFlag)輔助進位標志。如果在加法時D3位有進位或減法時D3位有借位,則AF=1,否則AF=0。這個標志位用于實現BCD碼算術運算結果的調整。2.4微處理器的寄存器組織
ZF(ZeroFlag)零標志位。
如果運算結果各位都為零,則ZF=1,否則ZF=0。
SF(SignFlag)符號標志。
它總是和結果的最高位(字節(jié)操作時是D7,字操作時是D15)相同,因為在補碼運算時最高位是符號位,所以運算結果為負時,SF=1,否則SF=0.2.4微處理器的寄存器組織
OF(OverflowFlag)溢出標志。
在加或減運算中結果超出8位或者16位有符號數所能表示的數值范圍(-128∽+127或-32768∽+32767)時,產生溢出,OF=1,否則OF=0。
PF(ParityFlag)奇偶標志。如果操作結果的低8位中含有偶數個1,PF=1,否則PF=0。2.4微處理器的寄存器組織
例1:若CPU執(zhí)行5439H+476AH加法運算指令:那么,指令執(zhí)行后有:SF=1,ZF=0,PF=1,AF=1,CF=0,OF=10101010000111001B0100011101101010B1001101110100011B+2.4微處理器的寄存器組織
例2:若CPU執(zhí)行543AH-FE00H減法運算指令;那么,指令執(zhí)行后有:SF=0,ZF=0,PF=1,AF=0,CF=1,OF=00101010000111010B1111111000000000B0101011000111010B-2.4微處理器的寄存器組織
控制標志
用來控制CPU的操作特征(運行狀態(tài))
DF(DirectionFlag)
方向控制標志??捎芍噶钪?/清0CLD;DF=0
在進行字符串操作時,CPU每執(zhí)行一條串操作指令,對源或(與)目的操作數的地址會自動進行一次調整,其調整準則為0,自動遞增(SI,DI)。STD;DF=1DF=1,自動遞減(SI,DI)。2.4微處理器的寄存器組織
IF(InterruptEnableFlag)CLI;IF=0,CPU處于關中斷狀態(tài)。1時,CPU能響應外部可屏蔽中斷請求;當IF=
IF對外部非可屏蔽中斷請求以及CPU內部的中斷不起作用.可由指令置1/清0:外部可屏蔽中斷允許標志。STI;IF=1,CPU處于開中斷狀態(tài)。0時,CPU不能響應外部可屏蔽中斷請求。2.4微處理器的寄存器組織
TF(TrapFlag)陷井標志。
沒有專門的置1/清0指令。當TF=1時,CPU每執(zhí)行完一條指令便自動產生一個內部中斷(類型為1),轉去執(zhí)行一個中斷服務程序,用戶可以借助中斷服務程序來檢查每條指令執(zhí)行的情況,稱為單步工作方式,常用于程序的調試。2.4微處理器的寄存器組織
一.存儲器地址空間和數據存儲格式8086/8088的存儲器都是以字節(jié)(8位)為單位組織的。有20條地址總線,字節(jié)(1MB)。每個字節(jié)對應一個唯一的地址,地址范圍為0~-1(用16進制表示為00000~FFFFFH)2.5微處理器的存儲器和I/O組織存儲器二進制地址十六進制地址0000000000000
0000
0000
000000001000020000300000000
0000
0000000100000000
0000
0000001100000000
0000
00000010FFFFEFFFFF11111111
1111
1111
111111111111
1111
11111110≈≈……2.5微處理器的存儲器與I/O組織
字數據在存儲器中存放的格式如圖所示字單元的地址一個字單元一個字節(jié)單元
高字節(jié)低字節(jié)D15~D8D7~D0字數據在存儲器中存放格式示意圖2.5微處理器的存儲器與I/O組織
二.存儲器的分段和物理地址的形式1.為什么要分段2.怎么分段2.5微處理器的存儲器與I/O組織
2.物理地址(PA)的形成邏輯地址的表示格式為:段地址:偏移地址2.5微處理器的存儲器與I/O組織
已知某存儲單元的邏輯地址,怎樣求該單元的物理地址PA:
物理地址=段地址10H+段內偏移地址其中段地址有段寄存器提供:CS——
提供當前代碼(程序)段的段地址DS——
提供當前數據(程序)段的段地址ES——
提供當前附加數據段的段地址SS——
提供當前堆棧段的段地址2.5微處理器的存儲器與I/O組織
②段內偏移地址由下列地址寄存器提供:BXBPSIDICPU對存儲器進行數據讀/寫操作時,由這些寄存器以某種尋址方式向存儲器提供段內偏移地址。CPU取指令時,由IP提供所取指令代碼所在單元的偏移地址。
IP
SP
堆棧操作時,提供堆棧段的段內偏移地址2.5微處理器的存儲器與I/O組織
例1:某單元的邏輯地址為4B09H:5678H,則該存儲單元的物理地址為:
物理地址(PA)=段地址10H+EA
=4B09H10H+5678H=4B090H+5678H=50708H2.5微處理器的存儲器與I/O組織
三.信息的分段存儲與段寄存器的關系
特別要指出的是,用戶用8086/8088匯編語言編寫程序時,要把程序中的不同信息安排在不同的段,也就是說,用戶源程序匯編后在存儲器中存放是按照不同的信息放在不同的邏輯段。而程序中的信息包括:數據信息程序(代碼)信息堆棧信息2.5微處理器的存儲器與I/O組織
其中,代碼信息存放在代碼段,其地址由CS:IP提供。
堆棧信息存放在堆棧段,其地址由SS:SP提供。
數據信息通常情況下,存放在數據段(段地址由DS提供),當然也可以存放在附加數據段(段地址由ES提供),其段內偏移地址依據尋址方式的不同來求得。2.5微處理器的存儲器與I/O組織
8086/8088CPU各種類型訪問存儲器時,其地址成分的來源見下表所示。2.5微處理器的存儲器與I/O組織
…………………………堆棧段信息數據段信息代碼段信息CS:IPDS:依據尋址方式求得EASS:SP找到第一個能被16整除的地址開始安排數據段信息。找到第一個能被16整除的地址開始安排代碼段信息。此單元地址必須能被16整除。2.5微處理器的存儲器與I/O組織
一.我們已經說明,I/O設備包括與外界通信和存儲大容量信息用的各種外部設備。由于這些外部設備的復雜性和多樣性,特別是速度比CPU低得多,因此I/O設備不能直接和總線相連接。I/O接口是保證信息和數據在CPU和I/O設備之間正常傳送的電路。2.5微處理器的存儲器與I/O組織
二.8086/8088CPU共有20條地址線,對存儲器和I/O端口的尋址采用獨立編址的方式,其關系如下:I/O接口與CPU之間的通信是利用稱為I/O端口的寄存器來完成的,一個I/O端口有一個唯一的I/O地址與之對應。2.5微處理器的存儲器與
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技型企業(yè)債券融資的創(chuàng)新策略與實踐探索
- 公募基金運作管理辦法
- 古代詩詞創(chuàng)作:狀元卷與試帖詩鑒賞
- 新質生產力推動制造業(yè)高質量發(fā)展的機制分析
- 物理學科知識梳理
- 微生物檢測技術:標準化操作流程與質量控制研究
- 晉江核酸檢測管理辦法
- 王昌齡絲路行旅詩悲壯風格的多維解析
- 發(fā)票管理辦法稅前扣除
- 內部公共食堂管理辦法
- 消防維保方案(消防維保服務)(技術標)
- 煙草專賣局招聘合同范本
- 2023年內蒙古生物學業(yè)水平測試卷
- 門診就診高峰期應急預案7篇,門診患者高峰期應急預案
- 部編八下語文游記閱讀訓練題語文八年級下冊能力訓練(部編版)
- 保修管理控制程序
- GB/T 9117-2010帶頸承插焊鋼制管法蘭
- GB/T 12513-2006鑲玻璃構件耐火試驗方法
- 人教版音樂三年級上冊教材介紹-課件
- 教師的職業(yè)生涯規(guī)劃與專業(yè)發(fā)展課件
- 生物安全自查表
評論
0/150
提交評論