




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、微機原理及其應用普通高等教育“十一五”國家級規劃教材 作者 丁新民2007年5月微機原理及其應用普通高等教育“十一五”國家級規劃教材 作者 第二章8086微處理器與匯編語言(上) 第二章學習目標 1、識記8086微處理器的基本結構、系統總線周期、基本工作原理。 2、理解通用寄存器、段寄存器、標志和指針寄存器、基址和變址寄存器的功能和作用。 3、理解8086存儲器的地址分段和結構,數據和程序地址的計算方法。 4、識記8086系統最大和最小模式,及其在不同方式下的工作時序要求。 5、理解80X86尋址方法的區別和應用要求。學習目標 1、識記8086微處理器的基本結構、系統總第二章微處理器與匯編語言
2、(上)2.1 8086系統結構2.2 尋址方式第二章微處理器與匯編語言(上)2.1 8086系統結構一、8086系統結構1. 8086內部結構2. 寄存器組3. 引腳及其功能4. 總線周期5. 存儲器組織6. 輸入/輸出組織7. 最小與最大模式系統 一、8086系統結構1. 8086內部結構第一節8086內部結構第一節 8086分為總線接口部件BIU和執行部件EU兩個部分,如圖2-1-1所示。內部通訊ESIPSSDSCSAH ALCH CLSPSIDIBPDH DL標志位ALU EU控制器1 2 3 4 5 6指令隊列執行部件總線接口部件圖2-1-1 8086 CPU內部結構暫存器16位ALU
3、數據線總線控制邏輯8086總線BH BL16位數據線20位地址線寄存器 8086分為總線接口部件BIU和執行部件EU1總線接口部件BIU 提供16位雙向數據總線和20位地址總線。具體功能是:取指令、指令排隊、讀操作數和寫操作數、地址形成和總線控制。BIU由段寄存器和指令指針IP,指令隊列緩存器,地址加法器和總線控制邏輯部件等組成。 (1)段寄存器 8086最大可尋址1MB存儲空間,將1MB空間劃分成若干個邏輯段,每個段最大為64KB,用段寄存器來存放段起始地址。內設CS、DS、SS和ES段寄存器,分別用來存放代碼段、數據段、堆棧段和擴展數據段的基地址。 1總線接口部件BIU 提供16位雙向數據
4、1總線接口部件BIU (2)指令指針 指令指針(IP)的功能類似于程序計數器PC,用來存放下一條要執行指令的偏移地址。指令地址由CS和IP構成。但是,程序是不能直接訪問IP,只能由BIU自動修改。 (3)地址加法器 地址加法器用來計算20位存儲地址。當執行部件計算出尋址單元的偏移量后,就與左移4位后的段寄存器內容一起送地址加法器進行相加,得到一個20位的存儲地址。尋址單元的偏移地址可以來自IP,也可以來自其他寄存器。 1總線接口部件BIU (2)指令指針1總線接口部件BIU (4)指令隊列緩存器 指令隊列緩存器是用來暫存從存儲器中取出的指令。指令隊列緩存器為6個字節。指令隊列采用FIFO的管理
5、方式,預取6字節的指令代碼。在執行指令的同時,從存儲器中取下一條指令或幾條指令,填充指令隊列緩存器。這樣,CPU的取指令和執行指令操作是并行的。 當指令隊列中有一條指令或填滿指令時,執行部件EU就從該隊列中取出指令執行。EU從指令隊列的輸出端取出指令后,BIU自動調整指令隊列輸出端指針,并作指令預取操作。1總線接口部件BIU (4)指令隊列緩存器1總線接口部件BIU (4)指令隊列緩存器(續) EU從指令隊列取出指令,經指令譯碼分析后,向BIU申請從存儲器或I/O端口讀寫操作數。只要收到EU送來的邏輯地址,BIU就通過專用的地址加法器,以現行的段寄存器和邏輯地址產生一個20位的存儲地址送地址總
6、線。當EU執行轉移、調用或返回指令時,BIU將自動清除指令隊列中原有的內容,重新填充指令隊列。 (5)總線控制邏輯 總線控制邏輯用于產生存儲器讀/寫、I/O讀/寫控制信號。 1總線接口部件BIU (4)指令隊列緩存器(續)2執行部件EU EU的主要功能是完成指令譯碼和執行指令的工作。由ALU、標志寄存器、通用寄存器組、暫存器、控制部件等組成。 (1)ALU 16位的ALU用來對8位或16位操作數進行算術或邏輯運算。另外,16位的暫存器也可以參加運算。 (2)標志寄存器 16位標志寄存器用來表示ALU運算后的結果特征,為下一條指令的執行提供操作信息。 2執行部件EU EU的主要功能是完成指令譯2
7、執行部件EU (3)通用寄存器組 通用寄存器組共有八個16位寄存器。其中,四個寄存器可用作存放數據或地址,四個為指針和變址寄存器。這些都可以參加算術和邏輯運算,具體內容將在下一節介紹 。 (4)控制部件 主要用于取指令的控制和時序控制。 2執行部件EU (3)通用寄存器組第二節寄存器組第二節2寄存器組 如圖2-1-2所示為8086的寄存器結構,共分為四組16位寄存器,它們分別是通用寄存器、指針和變址寄存器、段寄存器和標志位寄存器。通用寄存器: 段寄存器: 15 8 7 0 15 0AXBXCXDXAHAL累加器 CS代碼段寄存器數據段寄存器堆棧段寄存器附加段寄存器BHBL基址寄存器 DSCHC
8、L計數寄存器 SSDHDL數據寄存器 ES指針和變址寄存器: 指令指針和標志寄存器: 15 0 15 0SP BPSIDI堆棧指針 IP基址指針 FLAGS源變址寄存器目標變址寄存器圖2-1-2 8086寄存器結構 2寄存器組 如圖2-1-2所示為8086的寄2寄存器組 (1)通用寄存器組 通用寄存器組由八個16位寄存器構成,按用途可分為數據寄存器和指針/變址寄存器兩大類 。它們都可以參加算術和邏輯運算。 數據寄存器 由四個16位的AX、BX、CX和DX寄存器組成。每個寄存器可作為一個獨立的16位寄存器使用,也可以分別編址成兩個8位寄存器使用。這樣,每個數據寄存器對應的高8位寄存器是AH、BH
9、、CH和DH;低8位寄存器是AL、BL、CL和DL。 2寄存器組 (1)通用寄存器組2寄存器組 數據寄存器(續)表2-1-1 8086通用寄存器的特殊用法寄存器操 作隱含性質隱含使用AX、AL在輸入輸出指令中作數據寄存器不能隱含DS在乘法指令中存放被乘數或積隱含在除法指令中存放被除數或商隱含AH在LAHF指令中作目標寄存器隱含DSAL在XLAT指令中作累加寄存器隱含DS在BCD碼運算指令中作累加寄存器不能隱含在ASC運算指令中作累加寄存器不能隱含BX在間接尋址中作基址寄存器不能隱含DS在XLAT指令中作基址寄存器隱含CX在串指令和LOOP指令中作計數寄存器隱含DSCL在位移/循環位移指令中作計
10、數寄存器不能隱含DS在乘法指令中存放乘積隱含在除法指令中存放被除數高位或余數隱含在間接尋址中作變址寄存器不能隱含SP在堆棧尋址中作堆棧指針隱含SSBP在間接尋址中作基址指針不能隱含SSSI在字符串操作指令中作源變址寄存器在間接尋址中作變址寄存器隱含不能隱含DSDI在字符串操作指令中作目標變址寄存器在間接尋址中作變址寄存器隱含不能隱含DS2寄存器組 數據寄存器(續)表2-1-1 8086通2寄存器組 指針和變址寄存器 由四個16位的寄存器SP、BP、SI和DI組成。這些寄存器存放段內的偏移量,用來形成操作數的存儲地址。SP為堆棧指針、BP為基址指針、SI為源變址、DI為目標變址。 SP和BP使用
11、SS堆棧段。若不特別指明某個段,則被認為使用現行堆棧段。SP始終指向棧頂。BP可指向堆棧段的任意單元。 SI和DI稱為變址寄存器,通常與DS數據段一起使用。串操作指令中, 規定SI使用DS數據段, DI使用ES擴展數據段。2寄存器組 指針和變址寄存器2寄存器組 (2)段寄存器組 段寄存器組由CS、DS、SS和ES四個16位的寄存器構成。表2-1-2 段寄存器和現行段的對應關系寄存器含 義隱含識別的現行段CS代碼段寄存器現行代碼段DS數據段寄存器現行數據段SS堆棧段寄存器ES附加段寄存器現行附加段現行堆棧段2寄存器組 (2)段寄存器組表2-1-2 段寄存器和現行2寄存器組 (2)段寄存器組(續)
12、 8086通過CS得到執行指令的段基地址,加上指令指針IP中的指令偏移量,產生20位的存儲器地址。例如CS4000H、IP004AH。那么,20位物理地址應該是4004AH單元。 40000 CS代碼段內容左移4位 004A IP的段內偏移量 4004AH 下一條指令的存儲地址 操作數所在段,可以在指令前加段前綴,若缺省前綴,則規定使用DS。對于BP和SP,系統默認使用SS。2寄存器組 (2)段寄存器組(續)2寄存器組 (3)指令指針 16位的指令指針IP,用來存放下一條指令在CS中的偏移量。IP的內容由總線接口部件BIU自動修改。指令順序執行時,存放下一條待執行指令的偏移量;發生中斷或調用時
13、,BIU自動將IP的偏移量壓入堆棧保存。程序不能直接訪問IP。 (4)標志寄存器 16位的標志寄存器含有九個有效標志位,分為條件標志位/程序狀態字和控制標志位兩個部分。2寄存器組 (3)指令指針2寄存器組 (4)標志寄存器(續)15 12 11 10 9 8 7 6 4 2 0OFDFIFTFSFZFAFPFCF圖2-1-3 8086 標志寄存器 條件標志位 CF進位標志位:運算中發生進位或借位時,CF為“1”;否則,CF為“0”。用STC指令可設置CF為“1”、CLC指令置CF為“0”、CMC指令對CF求反;循環指令也會影響該標志位狀態。 2寄存器組 (4)標志寄存器(續)15 2寄存器組
14、(4)標志寄存器(續) 條件標志位(續) AF輔助進位標志位:在運算結果的低4位向高4位有進位或借位時,AF為“1”;反之,AF為“0”。 OF溢出標志位:運算結果超出機器表示范圍時,OF為“1”;否則,OF為“0”。帶符號數的操作,若字節運算結果超過-128+127范圍或者字運算結果超過-32768+32767范圍時,OF為“1”。2寄存器組 (4)標志寄存器(續)2寄存器組 (4)標志寄存器(續) 條件標志位(續) ZF零標志位:運算結果為零時,ZF為“1”;否則,ZF為“0” 。 SF符號標志位:運算結果負數時,SF為“1”;否則,SF為“0”。 PF奇偶標志位:運算結果的低8位中有偶數
15、個“1”時,PF為“1”;否則,ZP為“0” 。2寄存器組 (4)標志寄存器(續)2寄存器組 (4)標志寄存器(續) 控制標志位 DF方向標志位:DF為“0”時,變址地址指針SI、DI自動作增量操作,字節操作增量為1,字操作增量為2;DF為“1”時,作減量操作。可用STD、CLD指令設置DF。 IF中斷允許標志位:IF為“1”時,允許CPU響應中斷請求;IF為“0”時,禁止響應。用STI 、 CLI指令設置IF。 TF陷阱標志位:TF為“1”時,CPU每執行完一條指令就產生一個內部中斷。2寄存器組 (4)標志寄存器(續)第三節引腳及其功能第三節3引腳及其功能 8086微處理器芯片采用雙列直插式
16、40條引腳的封裝結構,設有20條的地址線和16條的數據線,如圖2-1-4 所示。為了減少芯片的引線,部分引腳具有雙重功能,采用分時復用方式工作。 3引腳及其功能 8086微處理器芯片采用雙3引腳及其功能 (1)數據和地址總線 AD15AD0 地址/數據復用總線(輸入/輸出、三態)。 A19/S6A16/S3 地址/狀態復用總線(輸出、三態)。 BHE/S7 數據總線高位允許/狀態復用引腳(輸出、三態)。 (2)控制和狀態線 RD 讀控制(輸出、三態)。 RAEDY 外部準備就緒(輸入)。3引腳及其功能 (1)數據和地址總線 3引腳及其功能 (2)控制和狀態線(續) INTR 可屏蔽中斷(輸入)
17、。 TEST 等待測試(輸入)。 NMI 不可屏蔽中斷(輸入)。 RESET 系統復位(輸入)。 CLK 時鐘(輸入)。 Vcc (5V)電源(輸入)。 GND 接地(輸入)。 MN/MX 最小/最大模式選擇(輸入)。3引腳及其功能 (2)控制和狀態線(續) 3引腳及其功能 (3) 最小模式(MN/MXVcc)控制和線狀態 M/IO 存儲器或輸入/輸出控制(輸出、三態)。 WR 寫控制(輸出、三態)。 INTA中斷響應(輸出)。 ALE 地址鎖存允許(輸出)。 DT/R 數據發送/接收(輸出、三態)。 DEN 數據傳輸允許(輸出、三態)。 HOLD 總線請求(輸入)。 HLDA 總線響應(輸出
18、)。3引腳及其功能 (3) 最小模式(MN/MXVcc)控3引腳及其功能 (4) 最大模式(MN/MXGND)控制和線狀態 S2、S1、S0 總線周期狀態(輸出、三態)。 RQ/GT0、RQ/GT1 總線請求/總線允許(輸入/輸出)。 LOCK總線鎖定信號(輸出、三態)。 QS1、QS0 指令隊列狀態(輸出)。S2 S1 S0特 性特 性0 0 0中斷響應1 0 0取指令0 0 1讀I/O端口1 0 1讀存儲器0 1 0寫I/O端口1 1 0寫存儲器0 1 1暫停1 1 1不作用3引腳及其功能 (4) 最大模式(MN/MXGND)控第四節總線周期第四節4總線周期 8086的時鐘脈沖(CLK)由
19、時鐘發生器(如8284A)來提供,例如若機器的主頻為10MHz,那么一個時鐘周期為100ns。 8086CPU完成一個機器周期(將處理一條指令劃分為幾個不同的階段,每個階段稱為一個機器周期)需要用四個時鐘周期,即T1、T2、T3和T4狀態。 典型的一個總線周期操作如圖2-1-5所示,圖中RD信號表示讀總線周期,WR信號表示寫總線周期,DT/R和DEN信號控制總線收發的傳送方向和何時允許傳送。 4總線周期 8086的時鐘脈沖(CLK)由時4總線周期A15A0 數據 無效 A15A0 數據 無效A19A16 狀態 S7S3 A19-A16 狀態 S7S3圖2-1-5 8086總線周期存儲器訪問期間
20、CLK T1 T2 T3 Tw T4 T1 T2 T3 Tw T4機器周期機器周期DT/RALEADDR/STATUSADDR/DATAS2 S0RD、INTAREADYWRDENWaitReady4總線周期A15A0 數4總線周期 總線周期T1、T2、T3和T4的操作: T1狀態,CPU發送地址信號,指出存儲單元或I/O端口地址。同時,發出地址鎖存允許信號ALE,地址送入地址鎖存器。 T2狀態,CPU撤銷地址,為讀入數據作準備。總線高4位輸出總線周期狀態信息。 T3狀態,總線高4位信息狀態不變,地址總線低16位輸出數據或從I/O端口或存儲器輸入數據。若末準備就緒,插入等待狀態Tw,直到準備就
21、緒。 在T4狀態,總線周期結束。4總線周期 總線周期T1、T2、T3和T4的操作:第五節存儲器組織第五節5存儲器組織 (1)存儲器基本結構 8086存儲器按字節編址,尋址范圍為0220-1,存儲器最大容量為1MB。按0000H0FFFFH編址,存儲地址從低到高編址,如圖2-1-6所示。 地址 存儲器 0000H 0段 64KB 0FFFH0F0000H 15段 64KB0FFFFFH 圖2-1-6 存儲器結構 存儲器中任何兩個相鄰的字節單元被定義為一個字,每個字節都有各自的字節地址。字節地址較小的作為字地址。字存放時,高位字節5存儲器組織 (1)存儲器基本結構 地址 5存儲器組織 (1)存儲器
22、基本結構(續) 存放在高地址,低位字節存放在低地址中。先存放低位字節,后存放高位字節。 8086是以地址編址為單位訪問的,對于奇地址編址存取操作,就必須訪問存儲器兩次,并且還要作調整操作。因此,要求字編址應被2整除;雙字編址應被4整除;字節地址沒有要求。 (2)存儲器地址的分段 8086內部寄存器的寬度16位,尋址范圍為64KB。為支持尋址20位物理空間,將1MB存儲5存儲器組織 (1)存儲器基本結構(續)5存儲器組織 (2)存儲器地址的分段(續) 空間劃分成若干邏輯段,每個邏輯段最多包含64KB。邏輯段可在存儲器中任意定義。邏輯段相互獨立,可連續或相互重疊。 存儲器 代碼段寄存器 16位 代
23、碼段 216字節 16位 附加段寄存器 附加段 216字節 堆棧段寄存器 16位 堆棧段 216字節 16位 數據段寄存器 數據段 216字節 圖2-1-7 存儲器分段示例 邏輯段基址能被16整除,各自有對應的段寄存器。由此,存儲地址由段基址和段內偏移量構成的,如圖2-1-7所示。 5存儲器組織 (2)存儲器地址的分段(續) 5存儲器組織 (3)物理地址的形成 CPU訪問存儲器的20位地址,就是物理地址。邏輯地址是程序地址,它由段基地址和偏移量組成。它們之間的地址變換公式為 20位物理地址段基址24偏移地址 段基址 0000 16位偏移量 20位物理地址 圖2-1-8 物理地址的形成 如圖2-
24、1-8所示,將段基址值左移4位,加上16位的偏移量,形成20位物理地址。地址變換是由BIU部件的地址加法器完成。 5存儲器組織 (3)物理地址的形成 段基址 0005存儲器組織 (4)8086 存儲器分體結構 存儲空間按奇地址和偶地址劃分成兩個存儲體,每個存儲體容量為512KB。通過地址線AD0和數據總線高位允許BHE來選擇存儲體。當AD00和BHE1時選偶地址存儲體,與數據總線的低8位相連;當AD01和BHE0時選奇地址存儲體,與數據總線的高8位相連;在AD00和BHE0時,偶地址存儲體和奇地址存儲體同時工作。存儲體的體內地址都是由A19A16和AD15AD1決定。如圖2-1-9所示為存儲體
25、與總線的連接。 5存儲器組織 (4)8086 存儲器分體結構 5存儲器組織 (4)8086 存儲器分體結構(續)D7D0偶地址存儲體SEL A18A0D7D0奇地址存儲體SEL A18A0 數據DA7DA0 總線DA15DA8 BHE AD0A19A16、AD15AD1圖2-1-9 存儲體與總線連接圖 CPU與存儲器的存取操作,偶地址的數據通過低8位數據總線、奇地址經高8位數據總線。傳送一個字節,無論地址是偶數還是奇數,數據總線只能使用8位,另外8位被忽略掉。 5存儲器組織 (4)8086 存儲器分體結構(續)D7D第六節輸入/輸出組織第六節6輸入/輸出組織 8086系統和外部設備進行數據通訊
26、的連接電路叫接口,就是I/O芯片上的一個或若干個端口。每個端口都有獨立的地址,分別對應一個寄存器。8086提供有64KB個8位端口,每個端口有惟一的編號,取值范圍0000H0FFFFH之間。相鄰的兩個8位端口可組成一個16位端口。 IN指令作讀操作,CPU芯片引腳RD和M/IO同時為低電平狀態;OUT指令作寫操作,引腳WR和M/IO同時為低電平。端口尋址不使用段寄存器。6輸入/輸出組織 8086系統和外部設備進行第七節最小與最大模式系統第七節7最小與最大模式系統 (1)最小模式系統 系統中只有一個微處理器,并且CPU芯片引腳MN/MXVcc時,這就是最小模式系統;此時,系統所有的控制信號全部由
27、8086CPU提供。在最小模式系統中,除了CPU、存儲器以及I/O接口電路外,還要配置時鐘發生器、地址鎖存器和數據總線收發器等電路,如圖2-1-10所示。 7最小與最大模式系統 (1)最小模式系統 7最小與最大模式系統 (1)最小模式系統(續)圖2-1-10 8086最小模式系統配置 82823OETSTB DO7DO0DI7DI0 OEB7B0A7A082862控制總線存儲器 I/O接口數據總線地址總線 BHE+5V 8284ACLK RESET READY MN/MX ALE BHE A19- A16 AD15-AD0 8086 DEN DT/R M/IO WR HOLD HLDA INT
28、R INTA 7最小與最大模式系統 (1)最小模式系統(續)圖2-1-7最小與最大模式系統 (1)最小模式系統 時鐘產生器8284A 8284A為CPU提供內部和外部的時間基準時鐘信號CLK,還為系統外部信號READY和系統RESET提供同步。如圖2-1-11所示,晶體振蕩器連接在8284A的輸入端X1和X2,F/C端接地。8284A在CLK上輸出占空比為1/3的時鐘信號,連接到CPU的CLK引腳。總線的READY和RESET引腳連接芯片的RDY和RES引腳。7最小與最大模式系統 (1)最小模式系統7最小與最大模式系統 (1)最小模式系統(續) 時鐘產生器8284A(續) X1 8284A X
29、2 CLK CLK F/C RESET RESET READY READY 8086 EFI RDY RES 控制總線 圖2-1-11 8284A時鐘產生器與8086的連接 8284A在F/C端接高電平時,可以直接使用脈沖發生器的信號。這時可將脈沖發生器的信號與芯片的EFI引腳相連。外部設備時鐘可以提供占空比為1/2的外部時鐘。 7最小與最大模式系統 (1)最小模式系統(續) 7最小與最大模式系統 (1)最小模式系統(續) 地址鎖存器8282/8283 由于地址和數據的復用,鎖存器須帶有三態緩沖。選通信號STB與CPU的ALE相連,STB有效時,輸入端DI7DI0上的8位數據被鎖存。當OE有效
30、時,鎖存器輸出;反之,為高阻狀態。 系統中,要用三片作地址鎖存器。CPU在讀/寫總線周期T1狀態,將地址和BHE信號送到總線,并在ALE有效時,將地址鎖存。7最小與最大模式系統 (1)最小模式系統(續)7最小與最大模式系統 (1)最小模式系統(續) 數據總線收發器8286/8287 8286/8287芯片是8位的、輸出帶有三態控制的、雙向驅動的數據緩沖器。數據總線16位,需要用兩片8286/8287芯片。 OE引腳是芯片的輸出控制,它與CPU的DEN相連。當OE0時,允許;反之,禁止,并設置為高阻狀態。T引腳是收、發方向控制,與CPU的DT/R相連。T0時,A7A0為輸入;反之,輸出。A7A0
31、直接與數據總線相連。 7最小與最大模式系統 (1)最小模式系統(續)7最小與最大模式系統 (2)最大模式系統 CPU芯片引腳MN/MX接地時,系統為最大模式。此時,系統是由多個微處理器/協處理器構成的多機系統。系統資源是由各處理器共享,控制信號是通過總線控制器來產生。系統增加了總線控制器、總線裁決器,如圖2-1-12所示。CPU輸出的狀態信息S2、S1、S0同時送到總線控制器和總線裁決器。總線裁決器負責控制總線使用權,并根據使用總線的優先權來分配使用。 7最小與最大模式系統 (2)最大模式系統7最小與最大模式系統 (2)最大模式系統(續)CLK S2S1S0 8289 AEN 圖2-1-12
32、8086最大模式系統配置T 8286OEA7A0存儲器 I/O接口STB 82823 OEDI7DI0CLK AENS2S1S0 INTA 8288 MRDC DEN MWTC DT/R IOWC ALE IORC系統總線 8284A RESET READY CLK MN/MX S2S1S0 8086 BHE A19-A16 AD15-AD07最小與最大模式系統 (2)最大模式系統(續)CLK 7最小與最大模式系統 (2)最大模式系統(續) 總線控制器8288 圖2-1-13給出了總線控制器8288的引腳,表2-1-7給出總線狀態與輸出信號的對應關系。 表2-1-7 8288提供的總線周期的輸
33、出信號S2 S1 S0 CPU狀態8288輸出命令0 0 0 中斷響應INTA0 0 1 讀I/O端口IORC0 1 0 寫I/O端口IOWC、AIOWC0 1 1 暫停無1 0 0 取指令MRDC1 0 1 讀存儲器MRDC1 1 0 寫存儲器MWTC、AMWC1 1 1 無作用無圖2-1-13 總線控制器8288引腳1234567891020191817161514131211IOBCLKS1DT/RALEAENMRDCAMWCMWTCGNDVcc(5V)S0S2MCE/PDENDENCENINTAIORCAIOWCIOWC7最小與最大模式系統 (2)最大模式系統(續)表2-1-7最小與最
34、大模式系統 (2)最大模式系統(續) 總線控制器8288 (續) 讀存儲器MRDC(輸出) 寫存儲器MWTC和AMWC(輸出) 讀I/O端口IORC(輸出) 寫I/O端口IOWC和AIOWC(輸出) 中斷響應INTA(輸出)7最小與最大模式系統 (2)最大模式系統(續)7最小與最大模式系統 (2)最大模式系統 總線裁決器8289 總線忙BUSY(輸入/輸出) 公共總線請求CBRQ(輸入/輸出) 總線優先權輸出BPRO 總線優先權輸入BPRN 總線請求輸出BREQ 總線時鐘信號輸入BCLK圖2-1-14 總線裁決器8298引腳Vcc(5V)S1S0CLKLOCKCRQLCKIANYRQSTAEN
35、CBRQBUSY1234567891020191817161514131211S2IOBSYSB/RESBRESBBCLKINITBREQBPROBPRNGND7最小與最大模式系統 (2)最大模式系統圖2-1-14 1、指令的基本格式2、尋址方式 二、尋址方式1、指令的基本格式 二、尋址方式第一節指令的基本格式第一節1指令的基本格式 指令包括操作碼和操作數兩個部分,如圖2-2-1所示。其中,操作碼表示機器的命令,如傳送、加、減等操作。操作數用來指出參加運算的數據地址,故又稱地址碼。 操作碼操作數圖2-2-1指令的基本格式 操作數有零操作數、一操作數和二操作數三種形式。確定操作數存儲地址的過程也
36、不相同,稱尋找操作數有效地址的方法為尋址方式。操作數有寄存器、存儲器、立即數和輸入輸出端口四種類型。1指令的基本格式 指令包括操作碼和操作數兩個第二節尋址方式第二節2尋址方式 (1)立即數尋址 指令所需的操作數直接包含在指令代碼中,立即數可以是8位,也可以是16位。例如: MOV AX,1234H MOV AH,0ABH 立即數作為指令的一部分直接從BIU的指令序列中取出,不需要占用總線周期,故執行速度快。但這種尋址方式的使用受到一定的限制。2尋址方式 (1)立即數尋址 2尋址方式 (2)寄存器尋址 指令所需的操作數在CPU內的某個寄存器中,存取操作不占總線周期,執行速度快。 指令中直接書寫寄
37、存器名,如AX、BX、AL、CH、DS、ES等,寄存器可以是8位或16位,同一條指令中,源操作數和目的操作數的位數要求必須相同。例如: MOV CL,AL MOV DH,BH MOV DX,CX MOV DS,AX2尋址方式 (2)寄存器尋址 2尋址方式 (2)寄存器尋址(續) 匯編語言源程序中,存儲地址是以邏輯地址形式表示,即段基值和偏移量,其中,段基值在段寄存器,偏移量表示存儲單元與段起始地址的偏移。有效地址由三個地址分量組合構成,三個地址分量是: 位移量 指令中以變量名或標號給出的8位或16位數。匯編后,這些操作數名的偏移量被轉換為指令代碼中的位移量。2尋址方式 (2)寄存器尋址(續)
38、2尋址方式 (2)寄存器尋址(續) 基地址 由基址寄存器BX或基址指針BP所提供。 變址 由源變址SI或目的變址DI提供的內容。 三個地址分量組合時,若出現兩個或兩個以上分量時,則需進行以216為模的16位加法運算。正是因為三個地址分量的不同組合,才會出現對存儲器操作數尋址的多種不同的尋址方式。 2尋址方式 (2)寄存器尋址(續) 2尋址方式 (3)直接尋址 這是存儲器尋址方式中最簡單的,有效地址EA直接由位移量給出,如圖2-2-2所示。 這種方式不涉及其它寄存器(段寄存器除外),主要用于存、取簡單變量。在指令中,直接尋址方式可以用符號或常數來表示。 操作碼 位移量 EA 圖2-2-2 直接尋
39、址方式 2尋址方式 (3)直接尋址 操作碼 2尋址方式 (3)直接尋址(續) 用符號表示 MOV BX,VAR 該指令等價于:MOV BX,DS。它是將變量VAR(隱含使用段寄存器DS)所指的字單元內容傳送給BX寄存器。 MOV CL,DA+3 該指令是把由DA地址偏移三個字節單元的那個單元的內容送給CL寄存器。2尋址方式 (3)直接尋址(續) 2尋址方式 (3)直接尋址(續) 用常數表示 MOV AX,DS:100H 該指令是把由當前數據段偏移100H個字節的那個字單元的內容送給AX寄存器。 注意:用常數表示位移量時,段寄存器必須指明,不能缺省。 2尋址方式 (3)直接尋址(續) 2尋址方式 (4)寄存器間接尋址 操作數地址直接從基址或變址寄存器中獲得,如圖2-2-3所示。如: MOV AX,BX MOV BH,BP MOV CL,SI MOV DI,BX 上述4條指令分別等價于: MOV AX,DS:BX MOV BH,SS:BP MOV CL,DS:SI MOV DS:DI,BX 操作碼 MOD REG R/M BX BP EA SI DI 圖2-2-3 寄存器尋址方式 2尋址方式 (4)寄存器間接尋址 操作碼 2尋址方式 (5)基址尋址和變址尋址 操作數的有效
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國中鹽榨菜絲行業市場發展前景及發展趨勢與投資戰略研究報告
- 中國飼料用魚粉行業市場前景預測及投資戰略研究報告
- 2025年 達州市大竹縣鄉村職業經理人招聘筆試試題附答案
- 中國遠程協作辦公行業市場深度研究及投資戰略規劃報告
- 花葉項目投資可行性研究分析報告(2024-2030版)
- 紅外防水攝像機外殼項目投資可行性研究分析報告(2024-2030版)
- 中國有線數字電視增值業務行業市場深度調查評估及投資方向研究報告
- 中國鐵路車輛設備行業發展運行現狀及發展趨勢預測報告
- 鈦封頭行業深度研究分析報告(2024-2030版)
- 北京消防培訓課件
- 高墩柱墩身施工方案
- 2023年甘肅蘭州大學網絡與繼續教育學院人員招聘2人高頻考點題庫(共500題含答案解析)模擬練習試卷
- 肝內膽管結石詳解
- 發電機勵磁系統檢修與維護
- 2023-2024學年福建省泉州市小學語文六年級期末自測模擬試卷
- GB 29541-2013熱泵熱水機(器)能效限定值及能效等級
- 控規用地代碼
- 2023年上杭縣社區工作者招聘考試筆試題庫及答案解析
- 2021年曹楊二中自招數學試卷
- 新能源汽車底盤檢修全套課件
- 幼兒園大班數學口算練習題可打印
評論
0/150
提交評論