計算機組成原理第3章指令集結構課件_第1頁
計算機組成原理第3章指令集結構課件_第2頁
計算機組成原理第3章指令集結構課件_第3頁
計算機組成原理第3章指令集結構課件_第4頁
計算機組成原理第3章指令集結構課件_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、計算機組成原理第3章指令集結構計算機組成原理第3章指令集結構3.1 程序設計語言的級別 3.1.1 語言種類 高級語言(high-level languages) 匯編語言(assembly language) 向下兼容(backward compatible) 平臺無關(platform-independent) 機器語言3.1 程序設計語言的級別 3.1.1 語言種類 高級語言(3.1.2 編譯和匯編程序 1. 編譯、匯編2. 編譯器 源程序、源代碼、目標代碼 連接器、裝載器3. 編譯過程 同一高級語言源代碼可以經(jīng)過編譯在不 同的微處理器和操作系統(tǒng)或者計算平臺上運行。3.1.2 編譯和匯編

2、程序 1. 編譯、匯編圖3.1 高級程序的編譯過程 裝載器包含在計算平臺中 圖3.1 高級程序的編譯過程 裝載器包含在計算平臺中 4.匯編器和匯編過程 圖3.2 匯編語言程序的匯編過程 每一種匯編語言對應一種微處理器,不需要針對不同平臺的匯編器 。4.匯編器和匯編過程 圖3.2 匯編語言程序的匯編過程 每1. 什么是指令?指令:指示計算機執(zhí)行某種操作的命令。機器語言:計算機硬件實體直接表示控制信息的語言。 (計算機硬件能直接理解并執(zhí)行的語言)指令集:一臺計算機能執(zhí)行的全部指令的集合。 (計算機程序員接觸到的計算機的所有功能) 一條指令就是機器語言的一個語句,用來說明機器硬件應完成的操作。 3.

3、1.3 機器語言與指令 1. 什么是指令?3.1.3 機器語言與指令 指令集表征著計算機的基本功能和使用屬性,是計算機系統(tǒng)設計中的核心向題。是表征一臺計算機性能的重要因素,它的格式與功能不僅直接影響到機器的硬件結構,而且也直接影響到系統(tǒng)軟件,影響到機器的適用范圍。 指令集表征著計算機的基本功能和使用屬性,是計算機系統(tǒng)操作碼地址碼2. 指令的組成 一條指令一般應包含如下信息: (1) 操作碼 (2) 操作數(shù)的地址 (3) 操作結果的地址 (4) 下一條指令地址 指令的基本格式操作碼:表示指令應執(zhí)行的操作和應具有的功能。地址碼:表示參與操作的操作數(shù)的存放地址或操作結 果的存放地址。操作碼地址碼2.

4、 指令的組成操作碼:表示指令應執(zhí)行的操作和應3.2 機器語言指令 3.2.1 指令類型與功能 3.2.1.1 數(shù)據(jù)傳送指令 將數(shù)據(jù)從一個地方移到另一個地方(實際是“拷貝”)。 例: 8086指令 MOV AL,BL ;ALBL MOV AL,Disp(BX)(SI) ;AL(BX)(SI)+Disp) IBM370機的成組取指令:成組取R1R3B2D23.2 機器語言指令 3.2.1 指令類型與功能 3.2.13.2.1.2 數(shù)據(jù)運算指令 包括算術運算指令、邏輯運算指令 、移位指令。例:8086指令系統(tǒng)中 ADD AL,BL ;ALAL+BL MUL BL ;AXALBL AND AL,0FE

5、H ;ALALFEH,即AL的最低位 ;清0,其余位不變。 OR AL,0F0H ;ALALF0,即AL的高4位置1, ;其余位不變 TEST AL,00000001B ; AL00000001B A00 結果為0 ;A01 結果不為03.2.1.2 數(shù)據(jù)運算指令 包括算術運算指令、邏輯運算指令 移位指令 實現(xiàn)對操作數(shù)的左、右移位。 移位操作指令分為算術移位、邏輯移位和 循環(huán)移位三種,可以實現(xiàn)對操作數(shù)左移或右移 一位或幾位。 3.2.1.3 程序控制指令 控制程序流程的指令,包括:跳轉指令(條件或無條件)或分支指令、子程序調用和子程序返回指令、“軟中斷”指令、停機指令。 移位指令3.2.1.3

6、 程序控制指令 控制程序流3.2.2 數(shù)據(jù)類型 數(shù)值數(shù)據(jù) 無符號整型數(shù)、有符號整型數(shù)、浮點數(shù)據(jù) 布爾類型 數(shù)據(jù)值常以0表示FALSE,以非0表示TRUE 字符數(shù)據(jù) 字符編碼標準 (ASCII、EBCDIC、UNICODE、或別的)例:8086指令系統(tǒng)JMP L1 ;直接尋址的轉移,無條件轉移到L1處,JNZ 50H ;相對尋址的轉移。若操作結果不為0,則轉移到當前PC50H處。設指令地址為1000H,則當前PC1002H,轉移地址為:1002H50H1052H3.2.2 數(shù)據(jù)類型 數(shù)值數(shù)據(jù) 無符號整型數(shù)、有符號3.2.3 尋址方式 尋址方式:確定操作數(shù)地址的方法。 形式地址:指令中直接給出的地

7、址。 有效地址:形式地址經(jīng)一定的計算而得到的操作數(shù)的 實際地址。3.2.3 尋址方式 尋址方式:確定操作數(shù)地址的方法。3.2.3.1 直接尋址 指令字中直接給出操作數(shù)的有效地址。3.2.3.1 直接尋址 例:Intel 8086指令 MOV AX,2000H 將有效地址為2000H的內存單元的內容讀入累加器AX中。 例如:LDAC 5 從內存單元5讀取數(shù)據(jù)并且把數(shù)據(jù)存儲在CPU的累加器中。 這種方式簡單直觀,便于硬件實現(xiàn)。但隨著存儲器容 量不斷擴大,要尋址整個主存空間,將造成指令長度 加長。另外程序位置受到限制。 例:Intel 8086指令3.2.3.2 間接尋址指令中指定的是含有操作數(shù)地址

8、的內存單元的地址。至少要進行兩次內存訪問。3.2.3.2 間接尋址指令中指定的是含有操作數(shù)地址的內存單例如:LDAC 5 或 LDAC (5)OP5IR10操作數(shù)35操作數(shù)的地址105例如:LDAC 5 或 LDAC (5)OP5I 間接尋址的特點 間接尋址比直接尋址靈活,可擴大尋址范圍,以短 的地址碼訪問大的存儲空間。 采用間接尋址,當操作數(shù)地址需要改變時,可不必 修改指令,只要修改地址指示字中內容(即存放有效 地址的單元內容)即可。 間接尋址需多次訪存才能取得操作數(shù),因而降低了 指令的執(zhí)行速度。 間接尋址的特點3.2.3.3 寄存器直接尋址和寄存器間接尋址 寄存器尋址 與直接和間接尋址方式

9、相似,但指定的是寄存器,而 不是內存單元。 寄存器存取信息的速度比主存快,需要的地址短,可 壓縮指令長度,有利于加快指令執(zhí)行速度。但寄存器 的數(shù)量有限。 寄存器直接尋址OP寄存器尋址Rn操作數(shù)Rn例如:假設寄存器R中存儲了數(shù)值5,則: LDAC R ;把數(shù)值5從寄存器R中拷貝到CPU的累加器中3.2.3.3 寄存器直接尋址和寄存器間接尋址 寄存器尋例如:假設寄存器R中存儲了數(shù)值5,則: LDAC (R) 或 LDAC R ;相當于 LDAC 5,從寄存器R中獲取地址 寄存器間接尋址例如:假設寄存器R中存儲了數(shù)值5,則: 寄存器間接尋址3.2.3.4 立即值尋址指定的操作數(shù)不是一個地址,而是確實

10、要用到的數(shù)據(jù)。例如: Intel 8086指令 MOV AX,2000H ;將數(shù)據(jù)2000H存入累加器AX中例如:LDAC #5 ;把數(shù)據(jù)值5移到累加器中OP立即尋址D 這種尋址方式在取指令的同時操作數(shù)即被取出,不必再次訪問存儲器,提高了指令執(zhí)行速度。但由于指令字有限,使得數(shù)據(jù)范圍受限。3.2.3.4 立即值尋址指定的操作數(shù)不是一個地址,而是確實3.2.3.5 隱含尋址 并不明確地指出操作數(shù),因為總是用到特定的寄存器。例如: CLAC ;清空CPU中的累加器,即將其值置為0 常用于用堆棧存儲數(shù)據(jù)的CPU中。指令中不需要指定操作數(shù),因為它暗示操作數(shù)一定來自堆棧。 3.2.3.5 隱含尋址 并不明

11、確地指出操作數(shù),因為總堆棧及堆棧操作 一種按“后進先出”存取順序進行存取的存儲結構 堆棧操作指令是一種特殊的數(shù)據(jù)傳送指令 堆棧有兩種生成方式 自底向上生成方式:棧底占最高地址,棧頂為較低地 址,壓入數(shù)據(jù)時,按由高地址向低地址順序進行,彈出 數(shù)據(jù)(即取出數(shù)據(jù))時,由低地址向高地址順序進行。 自頂向下生成方式:與自底向上生成方式順序相反。堆棧及堆棧操作計算機組成原理第3章指令集結構自底向上生成堆棧的工作過程自底向上生成堆棧的工作過程 堆棧操作有兩種 壓入(進棧)指令:把指定的操作數(shù)送入棧頂。 SPSP減量,(SP)數(shù)據(jù) 彈出(退棧、出棧)指令:從棧頂彈出數(shù)據(jù),送到 指令指定的目的地址中。 目的(S

12、P),SPSP增量計算機組成原理第3章指令集結構例:8086的指令系統(tǒng)中 進棧指令:PUSH AX SPSP1,(SP)AH,SPSP1,(SP)AL 出棧指令:POP AX AL(SP),SPSP1,AH(SP),SPSP1低地址ALAH高地址SPSP-1SP-1低地址ALAH高地址SP+1SP+1SPALAH例:8086的指令系統(tǒng)中低地址ALAH高地址SPSP-1SP3.2.3.6 相對尋址 將程序計數(shù)器 PC 的當前內容與指令中給出的形式地址相加形成操作數(shù)的有效地址。 有效地址E(PC)Disp3.2.3.6 相對尋址 程序計數(shù)器 PC的內容一般為現(xiàn)行指令的下一條指令的 地址。 形式地址

13、是操作數(shù)地址相對于PC當前內容的一個相對 位移量(Disp),位移量可正可負,一般用補碼表示。 在相對尋址中,只要保持位移量不變,就可實現(xiàn)指令 帶著數(shù)據(jù)在存儲器中浮動,有利于實現(xiàn)程序再定位。KOP 相對尋址 5K+1K+2K+6操作數(shù)MOP 相對尋址 5M+1M+2M+6操作數(shù) 程序計數(shù)器 PC的內容一般為現(xiàn)行指令的下一條指令的KOP 例:8086指令 JNC 03H 的功能為,如果進位為0,則轉移到目標地址為 (PC)03H處進行執(zhí)行。設指令為雙字節(jié)指令,本條指令地址為1000H。本條指令取指后,PC1002H轉移目標地址為 1002H0003H1005H若指令為JNC 0FDH 則轉移目標

14、地址為1002HFFFDH0FFFH0FFDH0FFEH0FFFH1000HJNC1001H03H1002H1003H1004H1005HDFDHD03H 例:8086指令 JNC 03H 的功能為,如果進位3.2.3.7 變址尋址方式和基址尋址1.變址尋址方式 變址尋址方式與相對尋址方式類似,但它是將指令提供的地址與變址寄存器中而不是程序計數(shù)器中的內容相加。 3.2.3.7 變址尋址方式和基址尋址1.變址尋址方式例如: Intel 8086指令 MOV AL,BX+4 設 BX2000H,BX+42004H (2004H)82H,則 AL82H例如: LDAC 5(X) ;變址寄存器X:數(shù)值

15、10,則 51015 ;讀取15號單元中的數(shù)據(jù)并且把它存儲在累加器中。 例如: Intel 8086指令 變址尋址可用于數(shù)組、向量、字符串等數(shù)據(jù)的處理 例: Intel 8086指令 LODS ;AL(SI),SISI1SIAAa0A1a1A2a2+1 變址尋址可用于數(shù)組、向量、字符串等數(shù)據(jù)的處理SIAAa02基址尋址 操作數(shù)的有效地址等于指令中的形式地址與基址 寄存器中的內容之和。 基址寄存器可以是一個專用的寄存器,也可以是 由指令指定的一個通用寄存器。2基址尋址 基址尋址主要用于將用戶程序的邏輯地址(用戶編寫 程序時所使用的地址)轉換成主存的物理地址(程序 在主存中的實際地址)。 基址尋址

16、主要用于將用戶程序的邏輯地址(用戶編寫 基址尋址與變址尋址在形式上以及有效地址的計算 方法上都是相似的,但它們的應用場合是不同的。 基址尋址是面向系統(tǒng)的,主要用于邏輯地址到 物理地址的變換,用以解決程序定位問題?;芳?存器由系統(tǒng)程序使用,對用戶是透明的。 變址尋址是面向用戶的,主要用于訪問數(shù)組、 向量、字符串等成批數(shù)據(jù),用以解決程序的循環(huán)控 制問題。 基址尋址與變址尋址在形式上以及有效地址的計算3.2.4 指令格式操作碼地址碼指令的基本格式:指令格式的設計包含兩個方面: 1. 確定指令的長度; 2. 劃分指令的字段,定義各字段的位數(shù)、含義 。3.2.4 指令格式操作碼地址碼指令的基本格式:指

17、令格式的設一、指令長度 指令字長度:一個指令字所包含的二進制信息的位數(shù)。 定長指令:指令系統(tǒng)中所有指令的長度都是一樣的。 可變長指令:各指令的長度可以不同。 指令長度與機器字長二.指令的地址碼 考慮的問題:需要多少地址信息及如何給出地址。一、指令長度1. 零地址指令 格式: (1) 無需任何操作數(shù), 如空操作,停機等指令。 (2) 所需操作數(shù)是隱含指定的,如堆棧運算指令。2. 一地址指令 格式: 意義: (1) A OP (A) (2) AC (AC) OP (A)OPOPA指令短,節(jié)省空間,執(zhí)行快,常用于微、小型機中。1. 零地址指令OPOPA指令短,節(jié)省空間,執(zhí)行快,常用于微3. 二地址指

18、令 格式: 意義: A1 (A1) OP (A2) 最常用的指令格式,適用于中、小、微型機。OPA1A2 二地址指令的幾種形式 存儲器存儲器型(SS型)指令 寄存器寄存器型(RR型)指令 寄存器存儲器型(RS型)指令OPR1R2OPRnA3. 二地址指令OPA1A2 二地址指令的幾種形式OPR14. 三地址指令 格式: 意義: A3 (A1) OP (A2) 常用于大、中型機中。OPA1A2A35. 多地址指令 4. 三地址指令OPA1A2A35. 多地址指令 考慮一個簡單的例子:ABC 一個操作: 加法 三個操作數(shù): 兩個源操作數(shù) B、C 一個目的操作數(shù) A 假定微處理器可以執(zhí)行16種不同的

19、操作。 需要4位來代表其中的操作(因為2416) (假設位模式1010 加法) 假定僅有4種可能的操作數(shù)A,B,C和D。 用兩位來表示每一種操作數(shù): 00A ,01B ,10C ,11D 考慮一個簡單的例子:ABC圖3.4 采用(a)三操作數(shù),(b)二操作數(shù),(c)單操作數(shù),(d)0操作數(shù)的指令格式和計算ABC的匯編語言程序以及機器代碼。 微處理器可以設計成能運行具有3、2、1或0個操作數(shù)的指令。 圖3.4 采用(a)三操作數(shù),(b)二操作數(shù),(c)單操作數(shù)二、指令的操作碼 指令系統(tǒng)中的每一條指令都有唯一確定的操作碼。 操作碼位數(shù)取決于機器指令系統(tǒng)的規(guī)模。 1.固定長度操作碼 操作碼的長度固定

20、,且集中放在指令字的一 個字段中,其余部分全部用于地址碼。 此方式有利于簡化硬件設計和減少指令譯碼 時間,用于字長較長的大、中型及超級小型機中。 二、指令的操作碼2.可變長度操作碼 操作碼的長度允許有幾種不同的選擇,對地址 數(shù)少的指令允許操作碼長些,對地址數(shù)多的指令, 則操作碼就短些。 若指令長度一定,則操作碼字段與地址碼字 段之間存在平衡問題一般均采用 “擴展操作碼” 的 方法。2.可變長度操作碼 擴展操作碼 目的:在滿足需要的前提下,有效地縮短指令字長。 例:設某機指令字長為16位,若固定OP為4位,三個地址 碼,每個4位,其格式為:OPA1A2A3若采用固定長度操作碼,則最多只允許有16

21、種三地址指令。0 0 0 01 1 1 1 擴展操作碼OPA1A2A3若采用固定長度操作碼,則最多15/15/15擴展法15/15/15擴展法 15條三地址指令、14條二地址指令、31條一地址指 令、16條0地址指令,共76條指令,其擴展方法如下: 15條三地址指令、14條二地址指令、31條一地址指0 0 0 01 1 1 00 0 0 115條三地址指令1 1 1 11 1 1 11 1 0 114條二地址指令0 0 0 01 1 1 11 1 1 11 1 1 031條一地址指令1 1 1 00 0 0 01 1 1 11 1 1 11 1 1 116條0地址指令1 1 1 11 1 1

22、10 0 0 01 1 1 11 1 1 11 1 1 10 0 0 01 1 1 00 0Pentium 的指令格式: 指令長度是可變的,從1個字節(jié)到12個字節(jié) 。MOD字段與R/M字段:5位,表示8個寄存器和24種尋址方法 Pentium 的指令格式:MOD字段與R/M字段:5位,計算機組成原理第3章指令集結構3.3 指令集結構設計 一、指令系統(tǒng)的基本要求1. 完備性 任何運算都可以用指令編程實現(xiàn)。即要求指令系 統(tǒng)的指令豐富、功能齊全、使用方便,應具有所有基 本指令。2. 有效性 用指令系統(tǒng)中的指令編寫的程序能高效率運行,占 用空間小、執(zhí)行速度快。3. 規(guī)整性 3.3 指令集結構設計 一、

23、指令系統(tǒng)的基本要求 指令系統(tǒng)具有對稱性、勻齊性,指令與數(shù)據(jù)格式的一致性。 對稱性:所有寄存器和存儲單元均同等對待,所有 指令可以使用所有尋址方式,減少特殊操 作和例外情況。 勻齊性:一種操作可支持各種數(shù)據(jù)類型。 指令與數(shù)據(jù)格式的一致性:指令長度與數(shù)據(jù)長度有 一定的關系,以便于存取和處理。4. 兼容性 指令系統(tǒng)具有對稱性、勻齊性,指令與數(shù)據(jù)格式的一致性。二、指令系統(tǒng)的兩種設計風格 1. 復雜指令系統(tǒng)計算機 CISC 靠增強指令的功能,增加指令系統(tǒng)的復雜程 度來提高計算機系統(tǒng)的性能。 特點: (1) 指令系統(tǒng)復雜龐大,指令數(shù)目一般多達 200300條。 (2) 指令格式多,指令字長不固定,使用多種

24、不 同的尋址方式。 (3) 可訪存指令不受限制。 (4) 各種指令的執(zhí)行時間和使用頻率相差很大。 (5) 大多數(shù)采用微程序控制器。二、指令系統(tǒng)的兩種設計風格2. 精簡指令系統(tǒng)計算機RISC 靠精簡指令系統(tǒng),簡化指令功能及優(yōu)化的編譯程序 來提高計算機系統(tǒng)的性能。 特點: (1) 選取使用頻率高的簡單指令以及很有用但又不復雜 的指令組成指令系統(tǒng)。 (2) 指令數(shù)少,指令長度一致,指令格式少,尋址方式 少,指令總數(shù)大都不超過100條。 (3) 以寄存器 寄存器方式工作,只有取數(shù)/存數(shù) (LOAD/STORE)指令訪問存儲器,其余指令的操作都 在寄存器之間進行。 (4) 采用指令流水線調度,使大部分指

25、令在一個機器周 期內完成。2. 精簡指令系統(tǒng)計算機RISC (5) 使用較多的通用寄存器以減少訪存。(6) 以組合電路控制為主,不用或少用微程序控制。(7) 采用優(yōu)化編譯技術,力求高效率支持高級語言的 實現(xiàn)。(5) 使用較多的通用寄存器以減少訪存。3.4 相對簡單的指令集結構存儲器模型:該微處理器可以訪問64K(216)字節(jié) 的存儲器(每字節(jié)8位)或者64K8的 存儲器。從外部設備輸入數(shù)據(jù)和輸出數(shù) 據(jù)到外部設備,都可以被看作是訪問內 存。三個寄存器:累加器(AC)、寄存器R、1位零標志Z。16條指令,每一條都是8位指令碼,見表3.1。 3.4 相對簡單的指令集結構存儲器模型:該微處理器可以訪問

26、6表3.1 相對簡單CPU的指令集 表3.1 相對簡單CPU的指令集 LDAC、STAC、JUMP、JMPZ和JPNZ指令都需要16位的存儲地址。這些指令在存儲器中每個都需要3字節(jié)。第一個字節(jié)包含指令的操作碼,另外兩字節(jié)對應地址。 3字節(jié)格式 1字節(jié)格式 相對簡單CPU的指令格式: LDAC、STAC、JUMP、JMPZ和JPNZ指令例如:25:JUMP 1234H該指令以如下形式存儲在存儲器中: 25:0000 0101(JUMP) 26:0011 0100(34H) 27:0001 0010(12H)注意:第二字節(jié)低8位,第三字節(jié)高8位例如:25:JUMP 1234H注意:第二字節(jié)低8位,

27、第三字指令集結構的用法舉例: 用相對簡單CPU編程計算12n 。 則其高級語言的代碼片斷如下: 可以把數(shù)值n存儲在標明為n的存儲單元中,結果存在標明為total的內存單元處,內存單元i用于存儲求和的次數(shù)。確定運算步驟如下: total 0; FOR i1 TO n DO totaltotali; 1:total0,i0 2:ii1 3:totaltotali 4:IF in THEN GOTO 2指令集結構的用法舉例: 可以把數(shù)值n存儲在標明為n的存實現(xiàn)這一算法的相對簡單CPU的代碼如下: CLAC STAC total STAC i Loop: LDAC i INAC STAC i MVAC

28、 LDAC total ADD STAC total MVAC LDAC n SUB JPNZ Looptotal0,i0ii1totaltotaliIF in THEN GOTO Loop實現(xiàn)這一算法的相對簡單CPU的代碼如下:total0,i下表顯示了當n5時代碼的運行過程:表3.2 循環(huán)求和程序的執(zhí)行步驟 下表顯示了當n5時代碼的運行過程:表3.2 循環(huán)求和程序的怎樣看待這個指令集結構? 它滿足了以教學為目的的設計目標。當我們在第6和7章中設計這種CPU時我們就會看到,其復雜度足以闡明很多CPU的設計原則,卻又沒有掉進自身復雜度的陷阱中。 對于簡單的應用程序來說,指令集完整。如果一個應用

29、程序需要使用浮點型數(shù)據(jù),它就不是十分完整。對于通用計算機(例如個人計算機),該指令集顯然是不夠的。 該指令集是相當正交的。只是多了OR指令,但有時CPU的指令集不是完全正交更好一些。 寄存器組是它最大的弱點。寄存器的缺乏導致執(zhí)行任務較慢,并且降低了性能。 怎樣看待這個指令集結構? 它滿足了以教學為目的的設計3.5 實例:8085微處理器指令集結構3.5.1 8085微處理器的寄存器組 通用數(shù)據(jù)寄存器: 累加寄存器A - 總是接收一個8位的算術或邏輯指令的結果;也為所有采用二操作數(shù)的指令提供一個操作數(shù)。 六個通用寄存器 - 命名為B,C,D,E,H和L ,可成對訪問:B和C,D和E,H和L 。寄

30、存器對HL常用來指向內存單元。 16位的堆棧指針寄存器SP:包含堆棧頂部的地址。 3.5 實例:8085微處理器指令集結構3.5.1 80855個標志,共同稱為標志寄存器: 符號標志S:表明算術或邏輯指令計算出的結果的符號。其中,值1表示負數(shù);值0表示正數(shù)(或零)。 零標志Z:如果算術或邏輯運算指令產(chǎn)生的結果為0,則將Z置為1;否則Z為0。 奇偶標志P:如果算術或邏輯運算結果中有偶數(shù)個1,則將P置為1;否則P為0。 進位標志CY:當算術運算產(chǎn)生進位時才去設置它。 5個標志,共同稱為標志寄存器: 符號標志S:表明算術或邏輯 輔助進位標志AC:與進位標志類似。它不指明進位值,但指出從結果的低四位向

31、高四位傳遞了進位。 例如,加法0000 11110000 10000001 0111中斷標志寄存器IM:用于允許和禁止中斷而且檢查待處理的中斷。程序員可以讀取并且設置該寄存器中的值來處理中斷。 例如,加法1111 00001000 00001 0111 0000,對兩個8位值相加但產(chǎn)生了9位結果。最左邊的1被存儲在CY中;如果加法不產(chǎn)生進位1,則CY中會存儲0。 輔助進位標志AC:與進位標志類似。它不指明進位值,但指出3.5.2 8085微處理器指令集 8085指令集總共包含了74條指令。 可分為三個部分:數(shù)據(jù)傳送指令、數(shù)據(jù)運算指令和程序控制指令。 采用如下記號描述: r,r1,r2:表示任何

32、一個8位寄存器A,B,C,D,E,H,或者L。 M:表示內存單元。MHL表明該內存單元的地址存在寄存器對HL中。 rp:表示寄存器對BC,DE,HL,或者堆棧指針SP。 :一個16位地址或者數(shù)據(jù)。 n:是一個存儲在內存中且緊跟操作碼后的8位地址或者數(shù)據(jù)值。 cond:條件指令的一個條件。值為:NZ、Z、P、N、PO、PE、NC、C。3.5.2 8085微處理器指令集 8085指令集總共除了POP PSW指令外,其它指令都不會修改標志的值。 (PSW:處理器狀態(tài)字(保存累加器和標志器中的內容 ) 表3.3 8085微處理器的數(shù)據(jù)傳送指令 (立即尋址)(直接尋址)除了POP PSW指令外,其它指令

33、都不會修改標志的值。表3. 指令的通用格式。一些指令有指定寄存器的字段,而另一些指令這些部分卻是固定的。 圖3.6 8085的指令格式一字節(jié)二字節(jié) 指令的通用格式。一些指令有指定寄存器的字段,而另一些數(shù)據(jù)運算指令大多數(shù)會影響表中的標志。 表3.4 8085微處理器的數(shù)據(jù)運算指令 數(shù)據(jù)運算指令大多數(shù)會影響表中的標志。 表3.4 8085微處 13條程序控制指令。DI,EI,RIM和SIM包含在此因為它們可以處理中斷,而中斷最終又會影響程序控制。這些指令都不修改標志。 表3.5 8085微處理器的程序控制指令 13條程序控制指令。DI,EI,RIM和SIM包含在此3.5.3 一個簡單的8085程序 計算和12n,并且把

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論