第三章_AT89S51單片機指令系統(tǒng)_第1頁
第三章_AT89S51單片機指令系統(tǒng)_第2頁
第三章_AT89S51單片機指令系統(tǒng)_第3頁
第三章_AT89S51單片機指令系統(tǒng)_第4頁
第三章_AT89S51單片機指令系統(tǒng)_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1單片機原理及應用單片機原理及應用 第三章第三章 AT89S51AT89S51單片機的指令系統(tǒng)單片機的指令系統(tǒng)黃偉雄黃偉雄 編編23-1 3-1 指令及指令系統(tǒng)概述指令及指令系統(tǒng)概述3-2 3-2 操作數(shù)的尋址方式操作數(shù)的尋址方式3-3 3-3 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令3-4 3-4 算術運算類指令算術運算類指令3-5 3-5 邏輯操作類指令邏輯操作類指令3-6 3-6 控制程序轉移類指令控制程序轉移類指令3-7 3-7 位操作類指令位操作類指令33-1 3-1 指令及指令系統(tǒng)概述指令及指令系統(tǒng)概述一、指令及其格式:一、指令及其格式:u 指令指令(Instruction)是指揮是指揮CPU

2、執(zhí)行某一基本操作的命令。執(zhí)行某一基本操作的命令。計算機就是通過執(zhí)行一條條指令來完成人們賦予的任務。計算機就是通過執(zhí)行一條條指令來完成人們賦予的任務。u 指令的組成:指令的組成:操作碼操作碼(Opcode):規(guī)定指令所要完成的操作。:規(guī)定指令所要完成的操作。操作數(shù)操作數(shù)(Operand):指出參加操作的數(shù)據(jù)或其地址。:指出參加操作的數(shù)據(jù)或其地址。 對于一條指令,操作碼是不可缺少的組成部分,而操對于一條指令,操作碼是不可缺少的組成部分,而操作數(shù)卻可以沒有,也可以有一個或兩個等。作數(shù)卻可以沒有,也可以有一個或兩個等。 1. MCS-51指令的機器碼格式:指令的機器碼格式:u 機器碼機器碼(Machi

3、ne Code):CPU能夠直接識別并執(zhí)行的、能夠直接識別并執(zhí)行的、由二進制數(shù)由二進制數(shù)0和和1組成的代碼。組成的代碼。(可直接執(zhí)行,無需翻譯??芍苯訄?zhí)行,無需翻譯。) 通常所說的通常所說的“指令的長度指令的長度”就是指該指令用機器碼表就是指該指令用機器碼表達時所占的字節(jié)數(shù)。達時所占的字節(jié)數(shù)。43-1 3-1 指令及指令系統(tǒng)概述指令及指令系統(tǒng)概述u 微機指令的長度一般是可變的,這有利于節(jié)省程序存儲微機指令的長度一般是可變的,這有利于節(jié)省程序存儲空間??臻g。MCS-51指令的長度有三種:指令的長度有三種: (1) 單字節(jié)指令單字節(jié)指令:操作碼和操作數(shù)在同一個字節(jié)中。:操作碼和操作數(shù)在同一個字節(jié)中

4、。 例例 單字節(jié)指令單字節(jié)指令“MOV A , Rn ”(匯編格式)的機器碼(匯編格式)的機器碼格式為:格式為: 1 1 1 0 1 r r r (操作碼操作碼) (操作數(shù)操作數(shù)) 即其機器碼為:即其機器碼為:E8HEFH (2) 雙字節(jié)指令雙字節(jié)指令:一般是第一個字節(jié)為操作碼,第二個字:一般是第一個字節(jié)為操作碼,第二個字節(jié)為操作數(shù)。節(jié)為操作數(shù)。 例例 雙字節(jié)指令雙字節(jié)指令“MOV A , #50H ”(匯編格式)的機(匯編格式)的機器碼格式為:器碼格式為:53-1 3-1 指令及指令系統(tǒng)概述指令及指令系統(tǒng)概述 0 1 1 1 0 1 0 0 (即即74H) - 操作碼操作碼 0 1 0 1

5、0 0 0 0 (即即50H) - 操作數(shù)操作數(shù) (3) 三字節(jié)指令三字節(jié)指令:第一個字節(jié)為操作碼,后兩個字節(jié)為操:第一個字節(jié)為操作碼,后兩個字節(jié)為操作數(shù)。作數(shù)。 例例 三字節(jié)指令三字節(jié)指令“MOV DPTR , #0345H”(匯編格式)(匯編格式)的機器碼格式為:的機器碼格式為: 1 0 0 1 0 0 0 0 (即即90H) - 操作碼操作碼 0 0 0 0 0 0 1 1 (即即03H) 0 1 0 0 0 1 0 1 (即即45H) 學習指令編碼的目的:學習指令編碼的目的:了解指令的構造原理,以了解指令的構造原理,以避免亂編造指令。避免亂編造指令。 了解手工匯編的方法。了解手工匯編的

6、方法。- 操作數(shù)操作數(shù)63-1 3-1 指令及指令系統(tǒng)概述指令及指令系統(tǒng)概述 2. MCS-51指令的匯編格式:指令的匯編格式: 用用助記符助記符和和標識符標識符來分別表示指令的操作碼和操作數(shù),來分別表示指令的操作碼和操作數(shù),即得指令的匯編形式。例如,用即得指令的匯編形式。例如,用“MOV”表示表示“數(shù)據(jù)傳送數(shù)據(jù)傳送”等等。但是,用匯編形式表達的指令必須翻譯成機器碼,等等。但是,用匯編形式表達的指令必須翻譯成機器碼,CPU才能識別和執(zhí)行。才能識別和執(zhí)行。 MCS-51指令的指令的匯編格式匯編格式: 標號:標號: 指令助記符指令助記符 操作數(shù)操作數(shù)1,1,操作數(shù)操作數(shù)2 2 ;注釋;注釋 ( (

7、方括號中的內(nèi)容可選方括號中的內(nèi)容可選) ) 可見,一條可見,一條匯編格式的指令由標號、助記符、操作數(shù)、匯編格式的指令由標號、助記符、操作數(shù)、注釋四部分組成,但其中僅助記符是必不可少的。注釋四部分組成,但其中僅助記符是必不可少的。 一條指令必須寫在一行,每條指令后以回車鍵結束一條指令必須寫在一行,每條指令后以回車鍵結束。 (1) 標號標號:是給該指令所在地址取的名字:是給該指令所在地址取的名字(稱為稱為符號地址符號地址),其后須跟冒號。其后須跟冒號。73-1 3-1 指令及指令系統(tǒng)概述指令及指令系統(tǒng)概述 標號(標識符)命名的基本規(guī)則:標號(標識符)命名的基本規(guī)則:以字母開頭的以字母開頭的ASCI

8、I碼字符串;碼字符串; 長度最長為長度最長為8個字符。個字符。 (2) 指令助記符指令助記符:是代表指令所要執(zhí)行操作的符號,一般用:是代表指令所要執(zhí)行操作的符號,一般用該操作的英文名稱或其縮寫形式表示。該操作的英文名稱或其縮寫形式表示。 指令助記符是指令中的關鍵字,不可缺少。指令助記符是指令中的關鍵字,不可缺少。 (3) 操作數(shù)操作數(shù):是參加指令操作的數(shù)據(jù)或其地址。操作數(shù)可以:是參加指令操作的數(shù)據(jù)或其地址。操作數(shù)可以是是0、1或或2個。個。 若指令中有兩個操作數(shù),則須用逗號(若指令中有兩個操作數(shù),則須用逗號(,)將它們分開。)將它們分開。并且規(guī)定,前者為并且規(guī)定,前者為目的操作數(shù)目的操作數(shù),后

9、者為,后者為源操作數(shù)源操作數(shù)。 (4) 注釋注釋:是以分號(;)開頭的文字,用來說明相應指令:是以分號(;)開頭的文字,用來說明相應指令的操作功能,以方便閱讀程序。的操作功能,以方便閱讀程序。83-1 3-1 指令及指令系統(tǒng)概述指令及指令系統(tǒng)概述二、指令系統(tǒng)二、指令系統(tǒng)/ /指令集(指令集(Instruction Set): : 1. 1.某一單片機(或某一單片機(或CPUCPU)的)的指令系統(tǒng)指令系統(tǒng)是指該單片機所有是指該單片機所有指令組成的集合。指令系統(tǒng)反映了相應的單片機所能完成指令組成的集合。指令系統(tǒng)反映了相應的單片機所能完成的操作功能,是衡量單片機性能水平的重要指標之一。的操作功能,是

10、衡量單片機性能水平的重要指標之一。 指令系統(tǒng)與單片機的硬件有對應關系;不同系列的單片指令系統(tǒng)與單片機的硬件有對應關系;不同系列的單片機,其指令系統(tǒng)一般不同。機,其指令系統(tǒng)一般不同。 2. 2. MCS-51指令系統(tǒng)指令系統(tǒng)專用于專用于MCS-51MCS-51系列單片機及其兼容系列單片機及其兼容機,共機,共111111條。按功能可分為五大類,即數(shù)據(jù)傳送類指令、條。按功能可分為五大類,即數(shù)據(jù)傳送類指令、算術運算類指令、邏輯操作類指令、控制程序轉移類指令、算術運算類指令、邏輯操作類指令、控制程序轉移類指令、位操作類指令。其中,位操作類指令。其中,位操作類指令位操作類指令是是MCS-51MCS-51單

11、片機的最單片機的最大特點,它在硬件上對應有一個位處理器。這使大特點,它在硬件上對應有一個位處理器。這使5151單片機單片機在處理邏輯變量方面十分方便、快捷。在處理邏輯變量方面十分方便、快捷。93-1 3-1 指令及指令系統(tǒng)概述指令及指令系統(tǒng)概述l 這這111條指令按長度分為:條指令按長度分為: (1)單字節(jié)指令)單字節(jié)指令49條;條; (2)雙字節(jié)指令)雙字節(jié)指令45條;條; (3)三字節(jié)指令)三字節(jié)指令17條。條。l 這這111條指令按執(zhí)行時間分為:條指令按執(zhí)行時間分為: (1)1個機器周期的指令個機器周期的指令64條;條; (2)2個機器周期的指令個機器周期的指令45條;條; (3)4個機

12、器周期的指令,只有乘、除法指令。個機器周期的指令,只有乘、除法指令。 在在12MHz晶振下,它們的執(zhí)行時間分別為晶振下,它們的執(zhí)行時間分別為1s、2s、4s。 *除乘、除法指令外,單字節(jié)和雙字節(jié)指令都可能除乘、除法指令外,單字節(jié)和雙字節(jié)指令都可能是單周期或雙周期,是單周期或雙周期,3字節(jié)指令都是雙周期。字節(jié)指令都是雙周期。l 可見,可見,MCS-51指令系統(tǒng)在時、空上的效率都較高。指令系統(tǒng)在時、空上的效率都較高。103-1 3-1 指令及指令系統(tǒng)概述指令及指令系統(tǒng)概述三、指令的學習要點:三、指令的學習要點: (1) 指令的功能指令的功能,即指令完成什么操作。,即指令完成什么操作。MCS-51指

13、令系統(tǒng)指令系統(tǒng)按其功能可分為數(shù)據(jù)傳送類指令、算術運算類指令、邏按其功能可分為數(shù)據(jù)傳送類指令、算術運算類指令、邏輯運算類指令、控制程序轉移類指令、位操作類指令五輯運算類指令、控制程序轉移類指令、位操作類指令五大類,共計大類,共計111條。條。 (2) 指令執(zhí)行后對標志位的影響指令執(zhí)行后對標志位的影響。這一點也很重要,因為。這一點也很重要,因為有些指令的操作是由上一條指令執(zhí)行后的狀態(tài)來決定。有些指令的操作是由上一條指令執(zhí)行后的狀態(tài)來決定。 以上兩項是保證程序邏輯正確的前提條件。以上兩項是保證程序邏輯正確的前提條件。(基本要求基本要求) (3) 指令的長度,指令的長度,即指令所占用的字節(jié)數(shù)。即指令所

14、占用的字節(jié)數(shù)。 (4) 指令的執(zhí)行時間指令的執(zhí)行時間,常用機器周期數(shù)(或時鐘周期數(shù)),常用機器周期數(shù)(或時鐘周期數(shù))來表示。來表示。 以上兩項決定著程序在時、空上的質(zhì)量。以上兩項決定著程序在時、空上的質(zhì)量。(一般了解一般了解)113-2 3-2 操作數(shù)的尋址方式操作數(shù)的尋址方式一、尋址方式的概念:一、尋址方式的概念:u 尋址方式尋址方式(Addressing Mode):):指令中得到操作數(shù)或操作指令中得到操作數(shù)或操作數(shù)地址的方法。數(shù)地址的方法。尋址方式所要解決的問題就是如何在整個尋址方式所要解決的問題就是如何在整個存儲器和寄存器空間中,快速、準確地找到所需的操作數(shù)。存儲器和寄存器空間中,快速

15、、準確地找到所需的操作數(shù)。u 不同的單片機不同的單片機(或或CPU),其尋址方式是有所不同的。一般,其尋址方式是有所不同的。一般地,尋址方式愈多,指令的使用也愈靈活,功能愈強。地,尋址方式愈多,指令的使用也愈靈活,功能愈強。u 學習尋址方式,有助于理解指令的構成及其操作功能。學習尋址方式,有助于理解指令的構成及其操作功能。二、二、AT89S51單片機的尋址方式:單片機的尋址方式: AT89S51指令的操作數(shù)可以存放在寄存器和片內(nèi)數(shù)據(jù)存指令的操作數(shù)可以存放在寄存器和片內(nèi)數(shù)據(jù)存儲器、片外數(shù)據(jù)存儲器、程序存儲器中,也可以以立即數(shù)儲器、片外數(shù)據(jù)存儲器、程序存儲器中,也可以以立即數(shù)的形式放在指令代碼中。

16、相應地,就有對這幾種操作數(shù)的的形式放在指令代碼中。相應地,就有對這幾種操作數(shù)的尋址方式。(尋址方式。(7種)種) 123-2 3-2 操作數(shù)的尋址方式操作數(shù)的尋址方式 1. 立即數(shù)的尋址立即數(shù)的尋址 - 立即尋址立即尋址(Immediate Addressing):):指令中直接給出實際的操作數(shù)(被稱為指令中直接給出實際的操作數(shù)(被稱為“立即數(shù)立即數(shù)”)。)。 例如:例如: MOV A , #20Hl 在在AT89S51指令中,立即數(shù)可以是指令中,立即數(shù)可以是8位或位或16位,在其前位,在其前面加面加“#”來標識。來標識。l 立即數(shù)只能作為源操作數(shù)。立即數(shù)只能作為源操作數(shù)。l 采用立即尋址方式

17、的指令都是雙或三字節(jié)指令。采用立即尋址方式的指令都是雙或三字節(jié)指令。 2. 寄存器操作數(shù)的尋址寄存器操作數(shù)的尋址 - 寄存器尋址寄存器尋址(Register Addressing):指令中指定某一寄存器的內(nèi)容作為操作數(shù)。:指令中指定某一寄存器的內(nèi)容作為操作數(shù)。 例如:例如: MOV A , R2l 尋址空間:尋址空間:當前的通用寄存器當前的通用寄存器R0R7; A、B、DPTR等部分特殊功能寄存器。等部分特殊功能寄存器。l 在一條指令中,源操作數(shù)和目的操作數(shù)都可采用寄存在一條指令中,源操作數(shù)和目的操作數(shù)都可采用寄存器尋址。器尋址。 133-2 3-2 操作數(shù)的尋址方式操作數(shù)的尋址方式 3. 直

18、接尋址直接尋址(Direct Addressing):指令中直接給出存儲器操):指令中直接給出存儲器操作數(shù)的地址。作數(shù)的地址。 例如:例如: MOV A , 20Hl 尋址空間:尋址空間:內(nèi)部內(nèi)部RAM的的128個單元;個單元; 所有的特殊功能寄存器。所有的特殊功能寄存器。l 指令中兩個操作數(shù)都可采用直接尋址方式。指令中兩個操作數(shù)都可采用直接尋址方式。 例如:例如: MOV 40H,20H (顯然,這種指令為三字節(jié)指令。顯然,這種指令為三字節(jié)指令。) 4. 寄存器間接尋址寄存器間接尋址(Register Indirect Addressing):指令中):指令中指定某一寄存器的內(nèi)容作為存儲器操

19、作數(shù)的地址。由于操指定某一寄存器的內(nèi)容作為存儲器操作數(shù)的地址。由于操作數(shù)是通過寄存器間接得到的,因此稱為寄存器間接尋址。作數(shù)是通過寄存器間接得到的,因此稱為寄存器間接尋址。 例如:例如: MOV A , R0143-2 3-2 操作數(shù)的尋址方式操作數(shù)的尋址方式l 尋址空間:尋址空間:內(nèi)部內(nèi)部RAM(用(用R0、R1);); 外部外部RAM(用(用R0、R1;DPTR)。)。 (注意:不可用于特殊功能寄存器的尋址。)(注意:不可用于特殊功能寄存器的尋址。) 5. 基址寄存器加變址寄存器間接尋址基址寄存器加變址寄存器間接尋址變址尋址變址尋址(Indexed Addressing):用基址寄存器()

20、:用基址寄存器(PC、DPTR)的)的內(nèi)容加上變址寄存器(內(nèi)容加上變址寄存器(A)的內(nèi)容之和作為程序存儲器操作)的內(nèi)容之和作為程序存儲器操作數(shù)的數(shù)的16位地址。位地址。l 尋址空間:程序存儲器(用尋址空間:程序存儲器(用A+DPTR、A+PC) 例如:例如: MOVC A , A+PC MOVC A , A+DPTR JMP A+DPTR 說明說明 本尋址方式的指令只有以上三條。前兩條指令特別本尋址方式的指令只有以上三條。前兩條指令特別適用于在程序存儲器中查表;第適用于在程序存儲器中查表;第3條指令可用于實現(xiàn)程序的條指令可用于實現(xiàn)程序的多出口散轉。多出口散轉。153-2 3-2 操作數(shù)的尋址方

21、式操作數(shù)的尋址方式 6. 相對尋址相對尋址(Relative Addressing):用于轉移指令,如):用于轉移指令,如 JC rel 以以PC的當前值為基準,加上指令中所給出的相對偏移的當前值為基準,加上指令中所給出的相對偏移量量(rel),形成新的轉移目的地址。,形成新的轉移目的地址。 其中的相對偏移量其中的相對偏移量(rel)是一個帶符號的是一個帶符號的8位二進制數(shù),位二進制數(shù),且用補碼表示。因此,且用補碼表示。因此,程序轉移范圍是以本轉移指令的下程序轉移范圍是以本轉移指令的下一條指令首地址為中心,相對偏移在一條指令首地址為中心,相對偏移在128+127之間之間。 用戶編寫程序時,用戶

22、編寫程序時,允許使用符號地址允許使用符號地址,而不必人工計,而不必人工計算偏移量的數(shù)值。算偏移量的數(shù)值。 例如:例如:JC LOOP ;LOOP為要轉移的目的地址標號為要轉移的目的地址標號 7. 位尋址位尋址:位地址一般以:位地址一般以直接位地址直接位地址給出。給出。 例如:例如: MOV C , 20Hl 尋址空間:內(nèi)部尋址空間:內(nèi)部RAM的的128位可尋址位位可尋址位(00H7FH); 某些特殊功能寄存器的可尋址位某些特殊功能寄存器的可尋址位(80HF7H)。163-2 3-2 操作數(shù)的尋址方式操作數(shù)的尋址方式 注意注意 (1) 區(qū)別立即尋址和直接尋址區(qū)別立即尋址和直接尋址 MOV A,#

23、26H MOV A,26H (2) 區(qū)別寄存器尋址和寄存器間接尋址區(qū)別寄存器尋址和寄存器間接尋址 MOV A,R0 MOV A,R0說明說明 課本上所謂的課本上所謂的“一般而言,尋址方式指的是源操作一般而言,尋址方式指的是源操作數(shù)。數(shù)?!?73-2 3-2 操作數(shù)的尋址方式操作數(shù)的尋址方式三、指令中操作數(shù)符號的說明:三、指令中操作數(shù)符號的說明: 為了清楚地表達每條指令所能配合使用的操作數(shù),使為了清楚地表達每條指令所能配合使用的操作數(shù),使用如下的符號:用如下的符號: Rn - 當前選中寄存器區(qū)的當前選中寄存器區(qū)的8個工作寄存器個工作寄存器R0R7(n = 07)。)。 Ri - 當前選中寄存器區(qū)

24、中作為間接尋址寄存器用的當前選中寄存器區(qū)中作為間接尋址寄存器用的2個寄存器個寄存器R0、R1(i = 0 ,1)。)。 direct - 直接地址,即內(nèi)部數(shù)據(jù)存儲器單元或特殊功直接地址,即內(nèi)部數(shù)據(jù)存儲器單元或特殊功能寄存器的能寄存器的8位地址。位地址。 #data - 指令中的指令中的8位立即數(shù)。位立即數(shù)。 #data16 - 指令中的指令中的16位立即數(shù)。位立即數(shù)。 rel - 偏移量,偏移量,8位帶符號數(shù)位帶符號數(shù)(用補碼表示用補碼表示)。 183-2 3-2 操作數(shù)的尋址方式操作數(shù)的尋址方式 bit - 內(nèi)部內(nèi)部RAM或特殊功能寄存器中的直接尋址位?;蛱厥夤δ芗拇嫫髦械闹苯訉ぶ肺弧?C或

25、或Cy - 進位標志位或位處理機中的累加器。進位標志位或位處理機中的累加器。 addr11 - 11位目的地址。位目的地址。 addr16 - 16位目的地址。位目的地址。 - 間接尋址寄存器前綴,如間接尋址寄存器前綴,如Ri,A+DPTR。 () - 表示表示單元或寄存器中的內(nèi)容。單元或寄存器中的內(nèi)容。 () - 表示以表示以單元或寄存器中的內(nèi)容作為地址的單單元或寄存器中的內(nèi)容作為地址的單元的內(nèi)容。元的內(nèi)容。 - 箭頭左邊的內(nèi)容被箭頭右邊的內(nèi)容所取代。箭頭左邊的內(nèi)容被箭頭右邊的內(nèi)容所取代。193-3 3-3 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令l 數(shù)據(jù)傳送(數(shù)據(jù)傳送(Data Transfer)指令

26、是最基本、使用最頻)指令是最基本、使用最頻繁的指令,其功能是將指令中的源操作數(shù)傳送給目的繁的指令,其功能是將指令中的源操作數(shù)傳送給目的操作數(shù),而源操作數(shù)不改變。操作數(shù),而源操作數(shù)不改變。l 除了以除了以PSW寄存器為目的操作數(shù)的數(shù)據(jù)傳送指令外,寄存器為目的操作數(shù)的數(shù)據(jù)傳送指令外,數(shù)據(jù)傳送類指令不影響標志位(指數(shù)據(jù)傳送類指令不影響標志位(指Cy、AC、OV)。一、內(nèi)部寄存器、內(nèi)部一、內(nèi)部寄存器、內(nèi)部RAM單元之間的數(shù)據(jù)傳送指令:單元之間的數(shù)據(jù)傳送指令: (MOV指令指令) 1. 累加器累加器A與工作寄存器與工作寄存器Rn之間的傳送指令:之間的傳送指令: 格式:格式: MOV A , Rn MOV

27、 Rn , A 功能功能: (A) (Rn) (Rn) (A) 執(zhí)行時間:執(zhí)行時間:1個機器周期個機器周期203-3 3-3 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令 2. 累加器累加器A與內(nèi)部與內(nèi)部RAM 128個單元之間的傳送指令個單元之間的傳送指令(采用寄采用寄存器間接尋址存器間接尋址): 格式:格式: MOV A , Ri MOV Ri , A 功能:功能: (A) (Ri) (Ri) (A) 執(zhí)行時間:執(zhí)行時間:1個機器周期個機器周期 3. 累加器累加器A與內(nèi)部與內(nèi)部RAM單元單元(含特殊功能寄存器含特殊功能寄存器)之間的傳送之間的傳送指令指令(采用直接尋址采用直接尋址): 格式:格式: MOV

28、 A , direct MOV direct , A 功能:功能: (A) (direct) (direct) (A) 執(zhí)行時間:執(zhí)行時間:1個機器周期個機器周期 說明:說明:當當direct為端口地址為端口地址P0P3時,該指令相當于時,該指令相當于I/O指令。指令。(51單片機沒有專門的單片機沒有專門的IN、OUT指令。)指令。)213-3 3-3 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令 4. 工作寄存器工作寄存器Rn與內(nèi)部與內(nèi)部RAM單元單元(含特殊功能寄存器含特殊功能寄存器)之間之間的數(shù)據(jù)傳送(采用直接尋址):的數(shù)據(jù)傳送(采用直接尋址): 格式:格式: MOV direct , Rn MOV R

29、n , direct 功能:功能: (direct) (Rn) (Rn) (direct) 執(zhí)行時間:執(zhí)行時間:2個機器周期個機器周期 5. 內(nèi)部內(nèi)部RAM單元單元(含特殊功能寄存器含特殊功能寄存器)之間的傳送指令:之間的傳送指令: 格式:格式: MOV direct , Ri MOV Ri , direct MOV direct , direct 執(zhí)行時間:都是執(zhí)行時間:都是2個機器周期個機器周期 6. 用立即數(shù)給內(nèi)部寄存器、內(nèi)部用立即數(shù)給內(nèi)部寄存器、內(nèi)部RAM單元賦值:單元賦值: (1) MOV A , #data ; (A) #data , 1Tm (2) MOV Rn , #data

30、; (Rn) #data , 1Tm 223-3 3-3 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令 (3) MOV Ri , #data ; (Ri) #data , 1Tm (4) MOV direct , #data ; (direct) #data , 2Tm (5) MOV DPTR , #data16 ; (DPH) #data15#data8 (DPL) #data7#data0 3字節(jié),字節(jié), 2Tmu 非法的指令:非法的指令: MOV #10H , A MOV 102H , A MOV A , #050AH MOV A , R2 MOV R0 , R1233-3 3-3 數(shù)據(jù)傳送類指令數(shù)據(jù)

31、傳送類指令二、累加器二、累加器A與外部與外部RAM的數(shù)據(jù)傳送指令的數(shù)據(jù)傳送指令(MOVX指令指令): 1. 采用采用8位地址訪問外部位地址訪問外部RAM:只能訪問:只能訪問256個單元。個單元。 格式:格式: MOVX A , Ri MOVX Ri , A 功能功能: (A) (Ri) (Ri) (A) 2. 采用采用16位地址訪問外部位地址訪問外部RAM:可訪問全部的:可訪問全部的64KB。 格式:格式: MOVX A , DPTR MOVX DPTR , A 功能功能: (A) (DPTR) (DPTR) (A) 執(zhí)行時間:執(zhí)行時間:2Tm 說明說明 指令助記符指令助記符MOVX中所增加的

32、中所增加的X = eXternal (外部外部)。 與外部與外部RAM的數(shù)據(jù)傳送必須借助累加器的數(shù)據(jù)傳送必須借助累加器A 。 執(zhí)行這類指令時,執(zhí)行這類指令時,P3.6、P3.7分別作為分別作為WR、RD控制控制線,用來選通外部線,用來選通外部RAM;P0、P2口用作地址口用作地址/數(shù)據(jù)總線。數(shù)據(jù)總線。243-3 3-3 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令三、讀程序存儲器的指令(三、讀程序存儲器的指令(MOVC指令):指令): 格式:格式:MOVC A , A+DPTR MOVC A , A+PC 代碼:代碼:1001 0011 (93H) 1000 0011 (83H) 功能:功能:(A) ( (A

33、)+(DPTR) ) (PC) (PC)+1 (A) ( (A)+(PC) ) 執(zhí)行時間:執(zhí)行時間:2Tm 說明說明 讀程序存儲器必須借助累加器讀程序存儲器必須借助累加器A 。 程序存儲器只能讀不能寫,因此數(shù)據(jù)傳送是單向的。程序存儲器只能讀不能寫,因此數(shù)據(jù)傳送是單向的。 MOVC指令主要用來指令主要用來在在64KB程序存儲器中查表程序存儲器中查表。當。當采用采用DPTR作基址寄存器時,表格可以放在作基址寄存器時,表格可以放在64KB程序存儲程序存儲器的任何地方,稱為器的任何地方,稱為遠程查表遠程查表;而當采用;而當采用PC作基址寄存器作基址寄存器時,表格只能存放在該時,表格只能存放在該MOVC

34、指令所在地址的指令所在地址的+256個單元個單元之內(nèi),稱為之內(nèi),稱為近程查表近程查表。 指令助記符指令助記符MOVC所增加的所增加的C = Code (代碼代碼)253-3 3-3 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令四、堆棧操作指令:四、堆棧操作指令:l 堆棧是按堆棧是按“后進先出后進先出(LIFO)”原則組織的一段存儲器,原則組織的一段存儲器,并且用堆棧指針并且用堆棧指針(SP)寄存器來管理。寄存器來管理。l AT89S51的堆棧位于片內(nèi)的堆棧位于片內(nèi)RAM,是向上生長的。,是向上生長的。 1. 進棧指令(進棧指令(PUSH指令):指令): 格式:格式:PUSH direct 功能:功能:(1)

35、先修改指針:先修改指針: (SP)(SP) + 1 (2) 后進棧:后進棧:((SP)) (direct) 執(zhí)行時間:執(zhí)行時間:2Tm 2. 出棧指令(出棧指令(POP指令)指令) 格式:格式: POP direct 功能:功能:(1) 先出棧:先出棧: (direct) ((SP) ) (2) 后修改指針:后修改指針: (SP) (SP) 1263-3 3-3 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令 說明說明 堆棧操作指令一般不影響標志位。(以堆棧操作指令一般不影響標志位。(以PSW為為目的操作數(shù)的目的操作數(shù)的POP指令除外。)指令除外。) 采用堆棧操作指令前,應先給采用堆棧操作指令前,應先給SP寄存

36、器賦值,使寄存器賦值,使SP的內(nèi)容為棧頂?shù)刂?。改變的?nèi)容為棧頂?shù)刂?。改變SP的初值,可以調(diào)整堆棧的的初值,可以調(diào)整堆棧的深度。深度。 由于堆棧是后進先出的,所以出棧的順序應與進棧由于堆棧是后進先出的,所以出棧的順序應與進棧的順序相反。的順序相反。 例例 下面的程序交換了下面的程序交換了A與與B的值。的值。 PUSH A PUSH B POP A POP B273-3 3-3 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令五、數(shù)據(jù)交換指令:五、數(shù)據(jù)交換指令: 1. 累加器累加器A與工作寄存器、內(nèi)部與工作寄存器、內(nèi)部RAM單元及特殊功能寄存單元及特殊功能寄存器的數(shù)據(jù)交換指令(器的數(shù)據(jù)交換指令(XCH指令):指令):

37、 格式:格式:(1) XCH A , Rn (2) XCH A , Ri (3) XCH A , direct 功能:兩個操作數(shù)功能:兩個操作數(shù)的內(nèi)容互換(的內(nèi)容互換(字節(jié)交換字節(jié)交換)。)。 執(zhí)行時間:都是執(zhí)行時間:都是1Tm 說明:說明: XCH = exchange(交換,互換)(交換,互換) 同前,同前,采用寄存器間接尋址(采用寄存器間接尋址(Ri)與采用直)與采用直接尋址(接尋址(direct)的尋址空間不同。)的尋址空間不同。283-3 3-3 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令 2. 累加器累加器A低低4位與內(nèi)部位與內(nèi)部RAM單元低單元低4位的數(shù)據(jù)交換指令位的數(shù)據(jù)交換指令(XCHD指令

38、):指令):半字節(jié)交換半字節(jié)交換指令。指令。 格式:格式:XCHD A , Ri 執(zhí)行時間:執(zhí)行時間:1Tm 3. 累加器累加器A的低的低4位與高位與高4位的數(shù)據(jù)交換指令位的數(shù)據(jù)交換指令(SWAP指令指令): 格式:格式:SWAP A 執(zhí)行時間:執(zhí)行時間:1Tm293-4 3-4 算術運算類指令算術運算類指令u AT89S51單片機的算術運算類型:加、減、乘、除。單片機的算術運算類型:加、減、乘、除。 AT89S51單片機的單片機的加、減指令直接執(zhí)行的是加、減指令直接執(zhí)行的是8位無符號位無符號二進制數(shù)的加、減運算二進制數(shù)的加、減運算。但是,借助一些標志位則可進行。但是,借助一些標志位則可進行一

39、些其它形式數(shù)的加、減運算,如:借助進位標志一些其它形式數(shù)的加、減運算,如:借助進位標志Cy,則,則可實現(xiàn)多字節(jié)的加、減運算;借助溢出標志可實現(xiàn)多字節(jié)的加、減運算;借助溢出標志OV,則可進,則可進行行帶符號數(shù)帶符號數(shù)的補碼加、減運算。的補碼加、減運算。 借助十進制調(diào)整指令,還可進行借助十進制調(diào)整指令,還可進行用用BCD碼表示的十進碼表示的十進制數(shù)制數(shù)的算術運算。的算術運算。u 算術運算指令的執(zhí)行結果一般會影響相應的標志位算術運算指令的執(zhí)行結果一般會影響相應的標志位(Cy、AC、OV等);但增等);但增1和減和減1指令不影響這些標志。指令不影響這些標志。303-4 3-4 算術運算類指令算術運算類

40、指令一一. 加法指令(加法指令(Addition):): 1. (不帶進位的不帶進位的)加法指令加法指令ADD: 格式格式:(1) ADD A , Rn (2) ADD A , Ri (3) ADD A , direct (4) ADD A , #data (src) 功能:功能:(A)(A) + (src) 即將源操作數(shù)即將源操作數(shù)(src)與目的操作數(shù)與目的操作數(shù)(A)相加,結果送相加,結果送回到目的操作數(shù)回到目的操作數(shù)(A);并根據(jù)運算結果設置標志位。;并根據(jù)運算結果設置標志位。(源操源操作數(shù)不變作數(shù)不變)313-4 3-4 算術運算類指令算術運算類指令 (1) 如果如果D7有進位,則進

41、位標志有進位,則進位標志Cy置置1,否則,否則Cy清清0。 (2) 如果如果D3有進位,輔助進位標志有進位,輔助進位標志Ac置置1,否則,否則Ac清清0。 (3) 如果如果D6和和D7不同時有進位,則溢出標志位不同時有進位,則溢出標志位OV置置1,否,否則則OV清清0。 *溢出標志位溢出標志位OV的狀態(tài),只有帶符號數(shù)加法運算時才的狀態(tài),只有帶符號數(shù)加法運算時才有意義。當兩個帶符號數(shù)相加,若有意義。當兩個帶符號數(shù)相加,若OV=1,表示加法運算,表示加法運算結果超出了累加器結果超出了累加器A所能表示的所能表示的8位帶符號數(shù)的范圍(位帶符號數(shù)的范圍(-128+127),即表示運算結果是錯誤的。),即

42、表示運算結果是錯誤的。 例例 設設 (A)=53H,(R0)=FCH,執(zhí)行指令,執(zhí)行指令 ADD A , R0 運算式為運算式為 結果:結果:(A)=4FH,Cy=1,Ac=0,OV=0,P=1(A中中1的的位數(shù)為奇數(shù))。位數(shù)為奇數(shù))。323-4 3-4 算術運算類指令算術運算類指令 2. 帶進位的加法指令帶進位的加法指令 ADDC (Add with Carry):): 格式:格式:(1) ADDC A , Rn (2) ADDC A , Ri (3) ADDC A , direct (4) ADDC A , #data 功能:功能: (A) (A) + (src) + (Cy) 對標志位的

43、影響同前。對標志位的影響同前。 說明:說明:ADC指令主要用于實現(xiàn)多字節(jié)數(shù)相加。指令主要用于實現(xiàn)多字節(jié)數(shù)相加。 例例 多字節(jié)無符號數(shù)加法多字節(jié)無符號數(shù)加法333-4 3-4 算術運算類指令算術運算類指令 3. 加加1 指令指令 INC (Increment):): 格式:格式: INC A /Rn /Ri /direct INC DPTR (dest) 功能:功能: dest(dest)+1 即對目的操作數(shù)加即對目的操作數(shù)加1。 說明:說明:INC指令對指令對CF沒影響;而對其它標志的影響同沒影響;而對其它標志的影響同ADD、ADC指令。指令。 例例 INC DL INC BX INC BYT

44、E PTR BX+SI+500343-4 3-4 算術運算類指令算術運算類指令二、二、 減法指令(減法指令(Subtraction) 1. (不帶借位的不帶借位的)減法指令減法指令 SUB : 格式:格式:SUB dest , src ;B/W (允許的操作數(shù)類型同加法指令)(允許的操作數(shù)類型同加法指令) 功能:功能:dest(dest) - (src) 即目的操作數(shù)減去源操作數(shù),結果送回目的操作數(shù)。即目的操作數(shù)減去源操作數(shù),結果送回目的操作數(shù)。 說明:根據(jù)運算結果會影響全部的說明:根據(jù)運算結果會影響全部的6位狀態(tài)標志位。位狀態(tài)標志位。 例例 SUB AL , 37H SUB BX , CX

45、SUB BX+2 , CL354-4 4-4 算術運算指令算術運算指令 2. 帶借位的減法指令帶借位的減法指令 SBB(Subtract with Borrow):): 格式:格式:SBB dest , src ;B/W (允許的操作數(shù)類型同前)(允許的操作數(shù)類型同前) 功能:功能:(dest) (dest) - (src) - (CF) 在減法運算中,當最高位有借位時,在減法運算中,當最高位有借位時,CF置置1。 說明:說明:SBB指令主要用于多字節(jié)數(shù)的減法。指令主要用于多字節(jié)數(shù)的減法。 例例 編寫程序段來完成以下功能編寫程序段來完成以下功能 DX.AX = 02344652H F0F0F0

46、F0H 解:解:MOV AX , 4652H SUB AX , 0F0F0H MOV DX , 0234H SBB DX , 0F0F0H ;有借位有借位364-4 4-4 算術運算指令算術運算指令 3. 減減1 指令指令DEC(Decrement) 格式:格式:DEC dest ;B/W, 單操作數(shù)單操作數(shù) 具體:具體:DEC reg/mem 功能功能:(dest) (dest)1 說明:不影響說明:不影響CF,但影響其它狀態(tài)標志。,但影響其它狀態(tài)標志。 例例 DEC AX DEC BYTE PTRDI+5 4. 取補指令取補指令 NEG(Negate) 格式:格式:NEG dst ; 允許

47、的操作數(shù)同前允許的操作數(shù)同前 功能:功能:dst 0 - (dst) 即求補。(求補也可用即求補。(求補也可用“按位取反后加按位取反后加1”) 說明:對標志位的影響與用說明:對標志位的影響與用0作減法的作減法的SUB指令相同。指令相同。374-4 4-4 算術運算指令算術運算指令 5. 比較指令比較指令 CMP (Compare) 格式:格式:CMP dest , src (允許的操作數(shù)類型同減法指令允許的操作數(shù)類型同減法指令) 功能功能:作:作(opd1) - (opd2)運算,結果影響狀態(tài)標志,但結運算,結果影響狀態(tài)標志,但結果不送回目的操作數(shù)。果不送回目的操作數(shù)。 根據(jù)根據(jù)CMP指令執(zhí)行

48、后的狀態(tài)標志,可判斷兩個操作數(shù)指令執(zhí)行后的狀態(tài)標志,可判斷兩個操作數(shù)的大小關系。的大小關系。 應用:在編程時,應用:在編程時,CMP指令后常跟一條指令后常跟一條“條件轉移指條件轉移指令令”,以實現(xiàn)程序的分支。,以實現(xiàn)程序的分支。384-4 4-4 算術運算指令算術運算指令三、乘法指令(三、乘法指令(Multiplication) 1. 無符號數(shù)乘法指令無符號數(shù)乘法指令MUL: (1) 8位無符號二進制數(shù)乘法指令位無符號二進制數(shù)乘法指令 格式:格式:MUL reg8/mem8 ;另一操作數(shù)隱含在另一操作數(shù)隱含在AL 功能:功能:(AX) (AL) reg8/mem8 (字節(jié)乘字節(jié)乘) (2) 1

49、6位無符號二進制數(shù)乘法指令位無符號二進制數(shù)乘法指令 格式:格式:MUL reg16/mem16 ;另一操作數(shù)隱含在另一操作數(shù)隱含在AX 功能:功能:(DX,AX) (AX) reg16/mem16 (字乘字乘) 說明:說明:乘法指令的一個操作數(shù)是約定寄存器的內(nèi)容,另乘法指令的一個操作數(shù)是約定寄存器的內(nèi)容,另一操作數(shù)在通用寄存器或存儲器中,一操作數(shù)在通用寄存器或存儲器中,不允許用立即數(shù)不允許用立即數(shù)。 乘法指令僅影響兩個標志乘法指令僅影響兩個標志OF和和CF,但它們只是用來,但它們只是用來表示乘積有效數(shù)字的長度。若乘積的高一半表示乘積有效數(shù)字的長度。若乘積的高一半(AH或或DX)為為零,則零,則

50、OF=CF=0;否則,;否則,OF=CF=1。394-4 4-4 算術運算指令算術運算指令 例例 無符號數(shù)無符號數(shù)0B4H與與11H相乘相乘 MOV AL , 0B4H MOV BL , 11H MUL BL ; (AX)=0B4H11H=06F4H OF=CF=1404-4 4-4 算術運算指令算術運算指令 2. 有符號數(shù)乘法指令(整數(shù)乘法指令)有符號數(shù)乘法指令(整數(shù)乘法指令)IMUL 格式:格式:IMUL reg8/mem8 ;另一操作數(shù)隱含在另一操作數(shù)隱含在AL IMUL reg16/mem16 ;另一操作數(shù)隱含在另一操作數(shù)隱含在AX 功能:除計算對象是有符號數(shù)外,其它與功能:除計算對象

51、是有符號數(shù)外,其它與MUL相同。相同。 對標志位的影響:若乘積的高一半對標志位的影響:若乘積的高一半(AH/DX)是低一半是低一半(AL/AX)的符號擴展的符號擴展(即乘積的高一半不含有有效數(shù)值即乘積的高一半不含有有效數(shù)值),則則OF=CF=0;否則,;否則,OF=CF=1。 (與(與MUL指令類似,只是具體敘述不同而已。)指令類似,只是具體敘述不同而已。) 例例 有符號數(shù)有符號數(shù)0B4H與與11H相乘。相乘。 MOV AL , 0B4H ; (AL)=B4H=76D MOV BL , 11H ; (BL)=11H=17D IMUL BL ; (AX)=FAF4H=1292D OF=CF=14

52、14-4 4-4 算術運算指令算術運算指令四、除法指令(四、除法指令(Division)l 8086/8088 CPU執(zhí)行除法時規(guī)定:除數(shù)只能是被除數(shù)執(zhí)行除法時規(guī)定:除數(shù)只能是被除數(shù)的一半字長。的一半字長。l 除法指令對狀態(tài)標志的影響沒有定義,即為任意值;除法指令對狀態(tài)標志的影響沒有定義,即為任意值;這與這與“對狀態(tài)標志沒有影響對狀態(tài)標志沒有影響”不同,沒有影響是指不不同,沒有影響是指不改變原來的狀態(tài)。但可能產(chǎn)生溢出改變原來的狀態(tài)。但可能產(chǎn)生溢出(除數(shù)為除數(shù)為0時時)。 424-4 4-4 算術運算指令算術運算指令 1. 無符號數(shù)除法指令無符號數(shù)除法指令DIV: (1) 8位除法位除法/字節(jié)除

53、字節(jié)除 格式:格式:DIV src ; src可為可為 reg8/mem8(除數(shù))(除數(shù)) 被除數(shù)隱含在被除數(shù)隱含在AX 功能:功能: (AL)(AX)/(src)的商的商 (AH)(AX)/(src)的余數(shù)的余數(shù) (2) 16位除法位除法/字除字除 格式:格式:DIV src ; src可為可為 reg16/mem16(除數(shù))(除數(shù)) 被除數(shù)隱含在被除數(shù)隱含在DX、AX 功能:功能:AX(DX,AX)/(src)的商,的商, DX(DX,AX)/(src)的余數(shù)的余數(shù) 說明:當除數(shù)為說明:當除數(shù)為0時,則產(chǎn)生時,則產(chǎn)生溢出,溢出,8086/8088CPU立即立即自動產(chǎn)生類型號為自動產(chǎn)生類型號

54、為0的內(nèi)部中斷。的內(nèi)部中斷。434-4 4-4 算術運算指令算術運算指令 2. 有符號數(shù)除法指令有符號數(shù)除法指令IDIV(即(即Integer Division): IDIV指令將操作數(shù)視為帶符號二進制數(shù)進行運算。除此之指令將操作數(shù)視為帶符號二進制數(shù)進行運算。除此之外,其它與外,其它與DIV指令相同。指令相同。 3. 符號擴展指令:符號擴展指令:l 除法指令要求被除數(shù)的長度為除數(shù)長度的除法指令要求被除數(shù)的長度為除數(shù)長度的2倍;故當被倍;故當被除數(shù)的長度不夠時,就需要對被除數(shù)的長度進行擴展。除數(shù)的長度不夠時,就需要對被除數(shù)的長度進行擴展。l 無符號數(shù)的擴展只須在高位添無符號數(shù)的擴展只須在高位添0

55、即可。即可。l 帶符號數(shù)的擴展則要用相應的符號位進行。帶符號數(shù)的擴展則要用相應的符號位進行。(符號擴展符號擴展) 例如:例如:0111,0001B 應擴展為應擴展為 0000,0000,0111,0001B 1111,0001B 應擴展為應擴展為 1111,1111,1111,0001B (擴展前后的數(shù)值應保持不變。)(擴展前后的數(shù)值應保持不變。)l 8086/8088提供兩條符號擴展指令,它們提供兩條符號擴展指令,它們不影響標志位不影響標志位。444-4 4-4 算術運算指令算術運算指令 (1)(1)字節(jié)擴展為字指令字節(jié)擴展為字指令CBWCBW(即(即Convert Byte to Word

56、Convert Byte to Word) 格式:格式:CBW CBW ; ;操作數(shù)隱含在操作數(shù)隱含在ALAL 功能:將功能:將ALAL中的符號位擴展到中的符號位擴展到AHAH中。中。 即當即當(AL)80H(AL)80H時,執(zhí)行時,執(zhí)行CBWCBW后,后,(AH)=00H(AH)=00H; 當當(AL)(AL)80H80H時,執(zhí)行時,執(zhí)行CBWCBW后,后,(AH)=FFH(AH)=FFH。 例例 MOV AL , 81H MOV AL , 81H CBW ; (AX)=FF81H CBW ; (AX)=FF81H (2) (2)字擴展為雙字指令字擴展為雙字指令CWDCWD(Convert

57、Word to double Word)Convert Word to double Word) 格式:格式:CWDCWD ; ;操作數(shù)隱含在操作數(shù)隱含在AXAX 功能:將功能:將AXAX中的符號位擴展到中的符號位擴展到DXDX中。中。 即當即當(AX)8000H(AX)8000H時,執(zhí)行時,執(zhí)行CWDCWD后,后,(DX)=0000H(DX)=0000H; 當當(AX)(AX)8000H8000H時,執(zhí)行時,執(zhí)行CWDCWD后,后,(DX)=FFFFH(DX)=FFFFH。 例例 如何進行帶符號數(shù)除法:如何進行帶符號數(shù)除法:(AX)(BX)454-5 4-5 邏輯運算指令邏輯運算指令u 邏輯

58、運算指令包括邏輯運算指令包括AND、OR、NOT、XOR、TEST共五共五條指令,共同特點是:對二進制數(shù)條指令,共同特點是:對二進制數(shù)按位進行操作按位進行操作。1. 邏輯邏輯“與與”指令(指令(AND指令):指令): 格式:格式:AND dest , src ; B/W 允許的操作數(shù)類型同加減法指令,故指令的具體格式為允許的操作數(shù)類型同加減法指令,故指令的具體格式為 AND reg , imm/reg/mem AND mem , imm/reg 功能:功能:dest destsrc 即兩操作數(shù)按位進行即兩操作數(shù)按位進行“與與”運算,結果送回目的操作數(shù)。運算,結果送回目的操作數(shù)。 對標志位的影響

59、:對標志位的影響:CF=OF=0 ; 根據(jù)運算結果設置根據(jù)運算結果設置SF、ZF和和PF,而,而AF未定義。未定義。 用途:用途:AND指令常用來對一個數(shù)據(jù)的指定位清零指令常用來對一個數(shù)據(jù)的指定位清零(屏蔽屏蔽)。464-5 4-5 邏輯運算指令邏輯運算指令 例例 MOV AL , 45H AND AL , 31H ; (AL)=01H ; CF=OF=0 , SF=0 , ZF=0 , PF=0 例例 將將BL中的中的D0和和D3兩位清零,其余位不變。兩位清零,其余位不變。 AND BL , 11110110B 2. 邏輯邏輯“或或”指令(指令(OR指令):指令): 格式:格式:OR des

60、t , src ; B/W 允許的操作數(shù)類型同允許的操作數(shù)類型同AND指令指令 功能:功能:dest destsrc 對標志位的影響:同對標志位的影響:同AND指令。指令。 用途:用途:OR指令常用來將一個數(shù)據(jù)的指定位置指令常用來將一個數(shù)據(jù)的指定位置1。 例例 將將BL中的中的D0和和D3置置1,其余位不變。,其余位不變。 OR BL , 00001001B474-5 4-5 邏輯運算指令邏輯運算指令 3. 邏輯邏輯“異或異或”指令(指令(XOR指令指令,即即Exclusive-OR):): 格式:格式:XOR dest , src ; B/W 允許的操作數(shù)類型同允許的操作數(shù)類型同AND指令指

溫馨提示

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

最新文檔

評論

0/150

提交評論