一.8086微處理器內部結構
(一)匯流排介面單元(biu)
1.段位址暫存器(16位):cs、ds、es、ss;
2.指令指標暫存器ip(16位);
3.形成20位實體地址的加法器∑;
4.指令佇列(isq,6個位元組);
5.與eu通訊的內部暫存器;
6.匯流排控制邏輯。
(二)、執行單元(eu)
1.算數邏輯單元alu(16位);
2、資料暫存器(16位):ax、bx、cx、dx;
3.位址指標暫存器(16位):bp、sp、si、di;
位):cf、of、sf、zf、pf、af、tf、if、df;
控制電路;
6.資料暫存器(16位)。
*sp只與ss配合使用,bp一般與ss配合使用。
*bx用作基址指標暫存器時,通常與ds配對使用
*實體地址=段位址*10h+偏移位址(由biu的∑形成);
*邏輯位址-段位址:偏移位址
*記憶:段超越
二、8086引腳分類【資料匯流排、位址匯流排、控制匯流排、其他】
1. 匯流排訊號【位址匯流排】
1)ad0~ad15:位址資料復用匯流排(雙向,高電平有效);
2)a16/s3~a19/s6:位址狀態復用引腳(輸出,高電平有效。其中a19~a16為20位位址匯流排的高4位位址,s6~s3是狀態訊號。
s6表示cpu與匯流排連線的情況,s5指示當前中斷允許標誌if的狀態。s4,s3的**組合用來指明當前正在使用的段暫存器。s4,s3的**組合及對應段暫存器的情況。
);3)bhe/s7:高8位資料匯流排允許/狀態復用引腳(輸出,低電平有效,s7表示狀態訊號);
4)ale:位址鎖存允許訊號(輸出,高電平有效。ale為高電平時,ad15~ad0上為位址訊號,否則為空閒狀態或資料訊號);
2.中斷控制
1)intr:可遮蔽中斷響應(輸入,高電平有效);
2)inta:中斷響應訊號(輸出,低電平有效。當intr的請求被允許時,其值等於0);
*cpu根據if 的狀態來決定是否響應intr,if=1時則響應,否則不響應。
3)nmi:不可遮蔽中斷響應(輸入,高電平有效,且cpu必須響應)。
*中斷:即cpu打斷正在處理的訊號,轉而處理外設訊號,當處理完成之後,再從斷點繼續處理原訊號。
3.匯流排控制
1)hold:匯流排保持請求訊號(輸入,高電平有效。向cpu請求占用匯流排);
2)hlda:匯流排保持響應訊號(輸出,高電平有效。當hold的請求被允許時,其值為1)。
控制1)ready:準備好訊號(輸入,高電平有效。)
2)test:測試訊號(低電平有效。有效時cpu退出wait指令);
3)reset:復位訊號(輸入,高電平有效。當reset訊號有效時,cpu會停止當前訊號,cs被置為ffffh,其餘所有暫存器全部置零,則復位後執行的第一條指令的位址為ffff0h);
4)mn/mx:決定是最大模式(該訊號的值為0)還是最小模式(該訊號的值為1)。【其他】
5.系統控制
1)m/io:儲存器/輸出輸入控制訊號(輸出,高電平時表示當前資訊為儲存器位址資訊;低電平表示當前資訊是i/o口位址資訊);
2)rd:讀訊號(輸出,低電平有效。表示cpu正在從儲存器或i/o口讀入資訊);
3)wr:寫訊號(輸入,高電平有效。表示cpu正在向儲存器或i/o口輸出資訊);
【以下兩個訊號屬於資料匯流排】
4)den:資料允許訊號(輸出,低電平有效。其值為0時表示ad0~ad15上為資料訊號,為1時則表示空閒狀態。該訊號不可能與ale同時有效);
5)dt/r:資料收發訊號(輸出。高電平表示cpu正在發出訊號,低電平則表示cpu正在接收訊號)。
6.其他【其他】
1)clk:時鐘訊號
2)vcc,gnd :電源及地。
三.8086微處理器操作時序
1.時鐘週期
2.匯流排週期
3.指令週期
*重點(必須會讀圖):
1)儲存器讀週期
2)最小模式下i/o口讀時序
四.組合語言定址方式與指令系統
(一)、資料定址方式(程式定址方式在此不做介紹)
1.隱含定址:如daa指令;
2.立即定址:mov 目的運算元,立即數;
3.暫存器定址:mov 目的運算元,暫存器名稱;
4.儲存器定址
1)直接定址
mov 目的運算元,邏輯位址或偏移位址或變數名;
2)暫存器間接定址
a.基址定址:[基址暫存器+位移量] 或位移量[基址暫存器];
b.變址定址:[變址暫存器];
c.基址變址定址:[基址暫存器+變址暫存器] 或 [基址暫存器][變址暫存器];
d.相對基址變址定址:[基址暫存器+變址暫存器+位移量];
e.資料串定址:如movsb、movsw指令;
* 基址:由bx或bp提供的偏移位址;
變址:由si或di提供的偏移位址。
埠定址
1)直接埠定址:指令直接提供8位埠位址;
2)間接埠定址:由dx暫存器給出16位埠位址。
如:mov dx, 162h
in ax, dx將埠位址為dx的資料傳送給ax
(二)、8086指令系統
1.傳送類指令
1)傳送指令:mov 目的運算元,源運算元
2)進棧指令(spsp-2):push 運算元(16位,可以為暫存器等,但不能是立即數);
3)出棧指令(spsp+2):pop 運算元(16位,可以為暫存器等);
4)交換指令(將記憶體單元的資料交換):xchg 目的運算元,源運算元;
5)查表指令:xlat
功能:alal+bx,將資料段中偏移位址為後者的記憶體單元的內容送入al中。其中,bx為所查表的表頭位址,al為要查詢的元素在表中的相對偏移量;
6)位址傳送類指令:lea、lds/les
7)標誌傳送指令:lahf(暫存器的低8位送給ah)、sahf(暫存器的7、6、4、2、0位分別送給sf/zf/af/pf/cf)、pushf、popf
2.算術運算類指令(十進位制算術運算指令在此不做介紹)
*neg指令:求運算元的負數。若被取補的數非零,則取反後cf=1,否則cf=0;
*執行乘法運算時,若運算元為位元組長度,則axal*運算元。若為字長度,則dx:axax*運算元。乘數儲存在al和ax中;
*執行除法運算時,若運算元為位元組長度,則ax/運算元,al商,ah餘數。若為字長度,則dx:ax/運算元,ax商,dx餘數。被除數放在ax和dx:ax中。
3.轉移類指令
1)無條件轉移指令:jmp 標號
2)條件轉移指令(指令後全加標號)
a.單標誌判斷:jc/jnc、jz(je)/jnz(jne)、jo/jno、jp(jpe)/jnp(jpo)、js/jns;
b.無符號數比較:ja/jbe、jae/jnb、jb/jnae、jbe/jna;
c.有符號數比較:jg/jnle、jge/jnl、jl/jnge、jle/jng;
3)迴圈控制指令
a.無條件迴圈控制:loop 標號(若cx-1≠0則轉移,否則退出迴圈);
b.相等迴圈控制:loopz/loope 標號(若cx-1≠0且zf=1則轉移,否則退出迴圈);
c.不相等迴圈控制:loopnz/loopne 標號;
d.jcxz 標號:若cx=0則轉移,否則執行後續指令。
*這裡的標號指迴圈體或跳轉體的名稱。
4.位操作指令
*移位次數可以直接寫1,若移位次數大於1則必須由cl指出,移位後cl的值不變;
*迴圈左移的最高位給cf,迴圈右移的最低位給cf。
5.串操作指令
1)串傳送:movsb、movsw;
2)串比較:cmpsb、cmpsw;(不能改變zf的值)
3)串搜尋:scasb、scasw;
4)從源串中取數:lodsb、lodsw(改變si的值,目的運算元為別為al、ax);
5)往目的串中存數:stosb、stosw(改變di的值,源運算元分別為al、ax);
6)串操作重複字首
a)rep:無條件重複字首,用於movs、stos指令前,重複次數僅與cx有關,在兩資料串中找出不同元素;
b)repz/repe:相等重複字首,只用於cmps、scas指令前,重複次數與cx和zf有關;
c)repnz/repne:不相等重複字首,只用於cmps、scas指令前,重複次數與cx和zf有關,在兩資料串中找出相同元素;
《計算機組成原理》部分習題答案
第一章計算機系統概論 1.什麼是計算機系統 計算機硬體和計算機軟體?硬體和軟體哪個更重要?答 計算機系統 由計算機硬體系統和軟體系統組成的綜合體。計算機硬體 指計算機中的電子線路和物理裝置。計算機軟體 計算機執行所需的程式及相關資料。硬體和軟體在計算機系統中相互依存,缺一不可,因此同樣重要。5.馮諾...
計算機原理知識總結
第一章計算機系統概論 1 計算機的發展史,以器件劃分 第一代 電子管計算機,第二代 電晶體計算機 第三代 積體電路 ic 計算機,大規模積體電路 lsi 計算機。就計算機語言劃分為 第一代 機器語言,第二代 組合語言,第三代 高階語言 2 計算機硬體系統是指構成計算機的所有物理部件的集合。3 計算機...
計算機原理複習總結
第一章計算機基礎知識 本章的主要內容為不同進製計數制計數方法 不同進製數之間相互轉換的方法 數和字元在計算機中的表示方法 簡單的算術運算以及計算機系統的組成。下邊將本章的知識點作了歸類。第二章 8086微處理器 本章要從應用角度上理解8086cpu的內部組成 程式設計結構 引腳訊號功能 最小工作模式...