




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)第第3 3章章 80C51 80C51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)主要內(nèi)容:主要內(nèi)容:3.1 單片機(jī)指令系統(tǒng)概述單片機(jī)指令系統(tǒng)概述3.2 80C51 單片機(jī)指令尋址方式單片機(jī)指令尋址方式3.3 80C51 單片機(jī)指令分類介紹單片機(jī)指令分類介紹重點:重點:80C51單片機(jī)的尋址方式;指令的功能、單片機(jī)的尋址方式;指令的功能、字節(jié)數(shù)、執(zhí)行周期數(shù)。字節(jié)數(shù)、執(zhí)行周期數(shù)。第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)3.1 3.1 單片機(jī)指令系統(tǒng)概述單片機(jī)指令系統(tǒng)概述1. 指令:規(guī)定計算機(jī)基本操作的語句或命令,通常
2、指令:規(guī)定計算機(jī)基本操作的語句或命令,通常由操作碼和操作數(shù)兩部分組成。由操作碼和操作數(shù)兩部分組成。2. 機(jī)器指令:用二進(jìn)制代碼表示的指令稱為機(jī)器指機(jī)器指令:用二進(jìn)制代碼表示的指令稱為機(jī)器指令。令。3. 助記符指令:用助記符表示的指令稱為助記符指助記符指令:用助記符表示的指令稱為助記符指令。一個計算機(jī)的助記符指令和其機(jī)器指令是一令。一個計算機(jī)的助記符指令和其機(jī)器指令是一一對應(yīng)的。一對應(yīng)的。4. 指令系統(tǒng):一個單片機(jī)所能執(zhí)行的指令的集合稱指令系統(tǒng):一個單片機(jī)所能執(zhí)行的指令的集合稱為它的指令系統(tǒng)。為它的指令系統(tǒng)。5. 80C51有有111條指令。其指令不定長,有條指令。其指令不定長,有1字節(jié)、字節(jié)、
3、2字節(jié)和字節(jié)和3字節(jié)指令。字節(jié)指令。第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)6. 80C516. 80C51指令中使用的符號指令中使用的符號 RnRn(n=0n=07 7):表示當(dāng)前工作寄存器):表示當(dāng)前工作寄存器R0R0R7R7中的任一個寄中的任一個寄存器。存器。 Ri Ri:可用作間接尋址的寄存器,只能是:可用作間接尋址的寄存器,只能是R0, R1R0, R1兩個寄存器,兩個寄存器,i=0i=0,1 1。 direct direct:8 8位直接地址,在指令中表示直接尋址方式,尋位直接地址,在指令中表示直接尋址方式,尋址范圍址范圍256256個單元。個單元。 #
4、data #data:8 8位立即數(shù)。位立即數(shù)。 #data16 #data16:1616位立即數(shù)。位立即數(shù)。 addr16 addr16:1616位目的地址,主要用于位目的地址,主要用于LCALLLCALL和和LJMPLJMP指令中。指令中。 addr11 addr11:1111位目的地址,主要用于位目的地址,主要用于ACALLACALL和和AJMPAJMP指令中。指令中。 rel rel:8 8位帶符號補(bǔ)碼數(shù),用作相對轉(zhuǎn)移指令中的偏移量。位帶符號補(bǔ)碼數(shù),用作相對轉(zhuǎn)移指令中的偏移量。3.1 3.1 單片機(jī)指令系統(tǒng)概述單片機(jī)指令系統(tǒng)概述第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)
5、的指令系統(tǒng)DPTRDPTR:1616位數(shù)據(jù)指針。位數(shù)據(jù)指針。bitbit:內(nèi)部:內(nèi)部RAMRAM(包括專用寄存器)中的直接尋址位。(包括專用寄存器)中的直接尋址位。A A:累加器:累加器ACCACC:直接尋址方式的累加器。:直接尋址方式的累加器。B B: B B寄存器寄存器C C :進(jìn)位標(biāo)志位。也是布爾機(jī)的累加位。:進(jìn)位標(biāo)志位。也是布爾機(jī)的累加位。/ / :加在位地址的前面,表示對該位狀態(tài)取反。:加在位地址的前面,表示對該位狀態(tài)取反。 :間接尋址寄存器的前綴標(biāo)志。:間接尋址寄存器的前綴標(biāo)志。(X)(X):某寄存器或某單元中的內(nèi)容。:某寄存器或某單元中的內(nèi)容。(X)(X):由:由“X”“X”間接
6、尋址的單元中的內(nèi)容。間接尋址的單元中的內(nèi)容。:箭頭左邊的內(nèi)容被箭頭右邊的內(nèi)容所取代。:箭頭左邊的內(nèi)容被箭頭右邊的內(nèi)容所取代。3.1 3.1 單片機(jī)指令系統(tǒng)概述單片機(jī)指令系統(tǒng)概述6. 80C516. 80C51指令中使用的符號指令中使用的符號第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)3.2 80C513.2 80C51單片機(jī)指令尋址方式單片機(jī)指令尋址方式 尋址方式:尋址方式: 尋取操作數(shù)的方法(源操作數(shù)和尋取操作數(shù)的方法(源操作數(shù)和/或目的操作數(shù))或目的操作數(shù)) 存放結(jié)果的方法(目的操作數(shù))存放結(jié)果的方法(目的操作數(shù)) 80C51有有8種尋址方式:種尋址方式:寄存器尋址
7、、直接尋址、寄存器間接尋址、寄存器尋址、直接尋址、寄存器間接尋址、立即尋址、變址尋址、位尋址、相對尋址、立即尋址、變址尋址、位尋址、相對尋址、隱含尋址隱含尋址 下面以尋取源操作數(shù)的方法為例來分析定義具下面以尋取源操作數(shù)的方法為例來分析定義具體的尋址方式體的尋址方式第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)3.2 80C513.2 80C51單片機(jī)指令尋址方式單片機(jī)指令尋址方式1. 寄存器尋址方式寄存器尋址方式 例:例:MOV A,R0操作碼操作碼寄存器地址寄存器地址11101000 定義:操作數(shù)在指定的寄存器中,指令給出對定義:操作數(shù)在指定的寄存器中,指令給出對應(yīng)的寄
8、存器地址。應(yīng)的寄存器地址。 特點:指令指出的某一個寄存器的內(nèi)容即為操特點:指令指出的某一個寄存器的內(nèi)容即為操作數(shù)。作數(shù)。 尋址范圍:尋址范圍:8個當(dāng)前通用寄存器個當(dāng)前通用寄存器Rn(R0R7)。)。第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)2. 直接尋址方式直接尋址方式例:例:MOV AMOV A,3AH3AH操作碼操作碼存儲單元地址存儲單元地址E53A定義:操作數(shù)在數(shù)據(jù)存儲器或?qū)S眉拇嫫髦?,指令給定義:操作數(shù)在數(shù)據(jù)存儲器或?qū)S眉拇嫫髦?,指令給出該存儲單元或?qū)S眉拇嫫鞯牡刂贰3鲈摯鎯卧驅(qū)S眉拇嫫鞯牡刂?。特點:指令中含有操作數(shù)的地址。該地址指出了參與特點:指令中含有
9、操作數(shù)的地址。該地址指出了參與操作的數(shù)據(jù)所在的存儲單元地址或?qū)S眉拇嫫鞯刂?。操作的?shù)據(jù)所在的存儲單元地址或?qū)S眉拇嫫鞯刂?。計算機(jī)執(zhí)行時根據(jù)直接地址找到所需要的操作數(shù)。計算機(jī)執(zhí)行時根據(jù)直接地址找到所需要的操作數(shù)。尋址范圍:片內(nèi)尋址范圍:片內(nèi)RAMRAM(低(低128128字節(jié))、專用寄存器。字節(jié))、專用寄存器。3.2 80C513.2 80C51單片機(jī)指令尋址方式單片機(jī)指令尋址方式第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)3. 寄存器間接尋址方式寄存器間接尋址方式例:例:MOV AMOV A,R0R0操作碼操作碼間址寄存器識別地址間址寄存器識別地址111001103.2
10、 80C513.2 80C51單片機(jī)指令尋址方式單片機(jī)指令尋址方式 定義:操作數(shù)在定義:操作數(shù)在數(shù)據(jù)存儲器中,數(shù)據(jù)存儲器中,指令中給出的是指令中給出的是存放操作數(shù)存儲存放操作數(shù)存儲單元地址的間址單元地址的間址寄存器的識別地寄存器的識別地址。址。第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)3. 寄存器間接尋址方式寄存器間接尋址方式特點:指令給出的寄存器中存放的是操作數(shù)的特點:指令給出的寄存器中存放的是操作數(shù)的地址。寄存器間接尋址是一種二次尋找操作數(shù)地址。寄存器間接尋址是一種二次尋找操作數(shù)地址的尋址方式,寄存器前邊必須加前綴符號地址的尋址方式,寄存器前邊必須加前綴符號“”“
11、”。不能用于尋址特殊功能寄存器不能用于尋址特殊功能寄存器SFRSFR。尋址范圍:內(nèi)部尋址范圍:內(nèi)部RAMRAM低低128B128B,外部,外部RAM 64KBRAM 64KB(需結(jié)合(需結(jié)合P2P2口使用)??谑褂茫?.2 80C513.2 80C51單片機(jī)指令尋址方式單片機(jī)指令尋址方式第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)4. 立即尋址方式立即尋址方式例:例:MOV AMOV A,#3AH#3AH;743A MOV DPTR MOV DPTR,#3AH#3AH ;90003A 操作碼操作碼立即數(shù)立即數(shù)定義:指令直接給出操作數(shù),所以又叫立即數(shù)。定義:指令直接給出
12、操作數(shù),所以又叫立即數(shù)。特點:指令中直接含有所需的操作數(shù)。該操作數(shù)可以是特點:指令中直接含有所需的操作數(shù)。該操作數(shù)可以是8 8位的,也可以是位的,也可以是1616位的,常常處在指令的第二字節(jié)和第三位的,常常處在指令的第二字節(jié)和第三字節(jié)的位置上。字節(jié)的位置上。8 8位和位和1616位的立即數(shù)分別使用位的立即數(shù)分別使用#data#data或或#data16#data16表示,在立即數(shù)前面加表示,在立即數(shù)前面加“#”“#”標(biāo)志,用以和直接尋標(biāo)志,用以和直接尋址中的直接地址(址中的直接地址(direcdirec或或bitbit)相區(qū)別。)相區(qū)別。3.2 80C513.2 80C51單片機(jī)指令尋址方式單
13、片機(jī)指令尋址方式第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)5. 變址尋址方式變址尋址方式 例:例:MOVC A, MOVC A, A+DPTRA+DPTR ; A ; A (A A)+ +(DPTRDPTR);機(jī)器碼:);機(jī)器碼:93H 93H MOVC A, MOVC A, A+PCA+PC ; A ; A (A A)+ +(PCPC) ;機(jī)器碼:;機(jī)器碼:83H83H3.2 80C513.2 80C51單片機(jī)指令尋址方式單片機(jī)指令尋址方式 定義:操作數(shù)存放定義:操作數(shù)存放在程序存儲器中,在程序存儲器中,其單元地址為變址其單元地址為變址寄存器(累加器寄存器(累加器A
14、 A)和 基 址 寄 存 器和 基 址 寄 存 器(DPTRDPTR或或PCPC)相加)相加形成的形成的1616位地址。位地址。第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)5. 變址尋址方式變址尋址方式特點:指令操作碼中隱含作為基址寄存器用的特點:指令操作碼中隱含作為基址寄存器用的DPTRDPTR(或(或PCPC)和作為變址用的累加器)和作為變址用的累加器A A。在執(zhí)行。在執(zhí)行變址尋址指令時,變址尋址指令時,80C5180C51單片機(jī)先把基地址單片機(jī)先把基地址(DPTRDPTR或或PC PC 的內(nèi)容)和地址偏移量(的內(nèi)容)和地址偏移量(A A的內(nèi)容)的內(nèi)容)相加,形成操
15、作數(shù)地址,再由操作數(shù)地址找到相加,形成操作數(shù)地址,再由操作數(shù)地址找到操作數(shù),并完成相應(yīng)的操作。變址尋址方式的操作數(shù),并完成相應(yīng)的操作。變址尋址方式的指令是單字節(jié)指令。指令是單字節(jié)指令。3.2 80C513.2 80C51單片機(jī)指令尋址方式單片機(jī)指令尋址方式第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)6. 位尋址方式位尋址方式例:例:MOV C,3AH操作碼操作碼位地址位地址A23A 定義:操作數(shù)是可單獨操作的一個位,指令中給出的定義:操作數(shù)是可單獨操作的一個位,指令中給出的是這個位的位地址。是這個位的位地址。 特點:位尋址方式類似于直接尋址方式,只不過這里特點:位尋址方
16、式類似于直接尋址方式,只不過這里的地址是某一位的位地址,并僅對這個位進(jìn)行操作。的地址是某一位的位地址,并僅對這個位進(jìn)行操作。 尋址范圍:片內(nèi)尋址范圍:片內(nèi)RAM低低128B中位尋址區(qū)、可位尋址的中位尋址區(qū)、可位尋址的部分部分SFR的某些位(共的某些位(共83位)。位)。3.2 80C513.2 80C51單片機(jī)指令尋址方式單片機(jī)指令尋址方式第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)7. 相對尋址方式相對尋址方式例:例:SJMP SJMP 3AH3AH ; ; (PCPC)(PCPC) + 2 + 3AH + 2 + 3AH操作碼偏移量803A定義:將程序計數(shù)器定義:將
17、程序計數(shù)器PCPC的當(dāng)前值(取出本條指令后的的當(dāng)前值(取出本條指令后的PCPC值)與指令給出的偏移量(值)與指令給出的偏移量(relrel)相加,形成新的目)相加,形成新的目標(biāo)地址。標(biāo)地址。特點:該尋址方式主要用于相對轉(zhuǎn)移指令,相對轉(zhuǎn)移特點:該尋址方式主要用于相對轉(zhuǎn)移指令,相對轉(zhuǎn)移的目的地址當(dāng)前指令地址指令字節(jié)數(shù)偏移量。的目的地址當(dāng)前指令地址指令字節(jié)數(shù)偏移量。它是為實現(xiàn)程序的相對轉(zhuǎn)移而設(shè)計的,指令碼中含有它是為實現(xiàn)程序的相對轉(zhuǎn)移而設(shè)計的,指令碼中含有相對地址偏移量,能生成浮動代碼。相對地址偏移量,能生成浮動代碼。尋址范圍:只能對程序存儲器進(jìn)行尋址。相對地址偏尋址范圍:只能對程序存儲器進(jìn)行尋址。
18、相對地址偏移量是一個帶符號的移量是一個帶符號的8 8位二進(jìn)制補(bǔ)碼,其取值范圍為位二進(jìn)制補(bǔ)碼,其取值范圍為 128128127127。3.2 80C513.2 80C51單片機(jī)指令尋址方式單片機(jī)指令尋址方式第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)8. 隱含尋址方式隱含尋址方式 例例:POP 3AH;源操作數(shù)隱含在棧頂單元;源操作數(shù)隱含在棧頂單元 MOV A,R0;11101000MOV A,#3AH;743A;操作碼操作數(shù);操作數(shù)中沒有目標(biāo)操作數(shù)的信息定義:操作數(shù)未在指令的操作數(shù)字段明確給出,隱含定義:操作數(shù)未在指令的操作數(shù)字段明確給出,隱含在操作碼字段,由操作碼規(guī)定
19、。在操作碼字段,由操作碼規(guī)定。特點:操作數(shù)不由操作數(shù)字段顯式給出,隱含在操作特點:操作數(shù)不由操作數(shù)字段顯式給出,隱含在操作碼字段。碼字段。尋址范圍:堆棧、最常用的寄存器尋址范圍:堆棧、最常用的寄存器A A、DPTRDPTR、位寄存器、位寄存器C C和某些指令專用的寄存器和某些指令專用的寄存器B B等。等。3.2 80C513.2 80C51單片機(jī)指令尋址方式單片機(jī)指令尋址方式第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)3.3 80C513.3 80C51單片機(jī)指令分類介紹單片機(jī)指令分類介紹80C5180C51指令系統(tǒng)共有指令系統(tǒng)共有111111條指令,按功能分為條指令,
20、按功能分為5 5大類:大類:數(shù)據(jù)傳送類(數(shù)據(jù)傳送類(29條)條)算術(shù)運算類(算術(shù)運算類(24條)條)邏輯運算及移位類(邏輯運算及移位類(24條)條)控制轉(zhuǎn)移類(控制轉(zhuǎn)移類(17條)條)位操作類位操作類 (17條)條)第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)3.3 80C513.3 80C51單片機(jī)指令分類介紹單片機(jī)指令分類介紹3.3.1 3.3.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令基本基本格式:格式:MOV , 與平常所說的搬東西是不一樣的。與平常所說的搬東西是不一樣的。 取之不盡,一沖就掉。取之不盡,一沖就掉。第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)
21、的指令系統(tǒng)80C51的數(shù)據(jù)傳送類指令可分為五組的數(shù)據(jù)傳送類指令可分為五組1. 內(nèi)部內(nèi)部RAM數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令2. 外部外部RAM讀寫指令讀寫指令3. 程序存儲器讀指令程序存儲器讀指令4. 數(shù)據(jù)交換指令數(shù)據(jù)交換指令5. 堆棧操作指令堆棧操作指令 3.3.1 3.3.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)1. 內(nèi)部內(nèi)部RAM數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令 (1)8位立即數(shù)傳送指令位立即數(shù)傳送指令 (2)16位立即數(shù)傳送指令位立即數(shù)傳送指令 (3)內(nèi)部)內(nèi)部RAM之間的數(shù)傳送指令之間的數(shù)傳送指令 (4)通過累加器的數(shù)傳送指令)通過累加器
22、的數(shù)傳送指令3.3.1 3.3.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)1. 內(nèi)部內(nèi)部RAM數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令 (1)8位立即數(shù)傳送指令位立即數(shù)傳送指令MOV A,#data (8位立即數(shù)送累加器)位立即數(shù)送累加器)MOV direct,#data (8位立即數(shù)送直接尋址單元)位立即數(shù)送直接尋址單元)MOV Ri ,#data (8位立即數(shù)送位立即數(shù)送Ri間接尋址單元)間接尋址單元)MOV Rn ,#data (8位立即數(shù)送寄存器)位立即數(shù)送寄存器)3.3.1 3.3.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令操作碼操作碼目的操目的操作數(shù)
23、作數(shù)源操作源操作數(shù)數(shù)字節(jié)字節(jié)數(shù)數(shù)執(zhí)行周執(zhí)行周期數(shù)期數(shù)對標(biāo)志位的影響對標(biāo)志位的影響P POVOVACACCYCY74H74H- -datadata2 21 1- - - -75H75Hdirectdirectdatadata3 32 2- - - - -0111010111011 1i idatadata2 21 1- - - - -0111101111n ndatadata2 21 1- - - - -第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)1. 內(nèi)部內(nèi)部RAM數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令3.3.1 3.3.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令 (2)16位立即數(shù)傳送指令位
24、立即數(shù)傳送指令 MOV DPTR,#data16 (16位立即數(shù)送位立即數(shù)送DPTR)(3)內(nèi)部)內(nèi)部RAM單元之間的數(shù)據(jù)傳送指令單元之間的數(shù)據(jù)傳送指令MOV direct2,direct1 (直接尋址數(shù)據(jù)送直接尋址單元)(直接尋址數(shù)據(jù)送直接尋址單元)MOV direct, Ri ( Ri間接尋址數(shù)據(jù)送直接尋址單元)間接尋址數(shù)據(jù)送直接尋址單元)MOV direct, Rn (寄存器內(nèi)容送直接尋址單元)(寄存器內(nèi)容送直接尋址單元)MOV Ri , direct(直接尋址數(shù)據(jù)送(直接尋址數(shù)據(jù)送Ri間接尋址單元)間接尋址單元)MOV Rn , direct (直接尋址數(shù)據(jù)送寄存器)(直接尋址數(shù)據(jù)送寄
25、存器)第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)1. 內(nèi)部內(nèi)部RAM數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令3.3.1 3.3.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令(4)通過累加器的數(shù)據(jù)傳送指令(內(nèi)部)通過累加器的數(shù)據(jù)傳送指令(內(nèi)部RAM讀讀寫指令)寫指令)MOV A ,direct(直接尋址數(shù)據(jù)送累加器)(直接尋址數(shù)據(jù)送累加器)MOV A, Ri ( Ri間接尋址數(shù)據(jù)送累加器)間接尋址數(shù)據(jù)送累加器)MOV A, Rn (寄存器內(nèi)容送累加器)(寄存器內(nèi)容送累加器)MOV direct, A (累加器內(nèi)容送直接尋址單元)(累加器內(nèi)容送直接尋址單元)MOV Ri , A (累加器內(nèi)容送(累加
26、器內(nèi)容送Ri間接尋址單元)間接尋址單元)MOV Rn , A (累加器內(nèi)容送寄存器)(累加器內(nèi)容送寄存器)第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)1. 內(nèi)部內(nèi)部RAM數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令3.3.1 3.3.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令例例1 設(shè)內(nèi)部設(shè)內(nèi)部RAM(30H)=40H,(40H)=10H,(10H)=00H,(P1)=0CAH,分析以下程序執(zhí)行后,分析以下程序執(zhí)行后各單元及寄存器、各單元及寄存器、P2口的內(nèi)容??诘膬?nèi)容。MOV R0,#30H;R030HMOV A,R0;A(R0)MOV R1,A;R1(A)MOV B,R1;B(R1)MOV R1
27、,P1;(R1)(P1)MOV P2,P1;P2(P1)MOV 10H,#20H;10H20H 執(zhí)行上述指令后的結(jié)果為:執(zhí)行上述指令后的結(jié)果為:(R0)=30H,(R1)=(A)=40H,(B)=10H,(40H)=(P2)=(P1)=CAH,(10H)=20H。第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)1. 內(nèi)部內(nèi)部RAM數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令80C51單片機(jī)片內(nèi)單片機(jī)片內(nèi)RAM數(shù)據(jù)傳送圖數(shù)據(jù)傳送圖3.3.1 3.3.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)1. 內(nèi)部內(nèi)部RAM數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令80
28、C51單片機(jī)片內(nèi)單片機(jī)片內(nèi)RAM一般傳送指令表一般傳送指令表3.3.1 3.3.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)1. 內(nèi)部內(nèi)部RAM數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令80C51單片機(jī)片內(nèi)單片機(jī)片內(nèi)RAM一般傳送指令表一般傳送指令表3.3.1 3.3.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)2. 外部數(shù)據(jù)存儲器讀外部數(shù)據(jù)存儲器讀/寫指令寫指令 3.3.1 3.3.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令(1)Ri作間址寄存器的外部作間址寄存器的外部RAM單元讀單元讀/寫指令寫指令 MOV
29、X A, Ri (Ri間接尋址的外部間接尋址的外部RAM單元讀)單元讀) MOVX Ri , A (Ri間接尋址的外部間接尋址的外部RAM單元寫)單元寫)(2)DPTR作間址寄存器的外部作間址寄存器的外部RAM單元讀單元讀/寫指令寫指令 MOVX A, DPTR (DPTR間接尋址的外部間接尋址的外部RAM單單元讀)元讀) MOVX DPTR , A (DPTR間接尋址的外部間接尋址的外部RAM單元單元寫)寫)第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)2. 外部數(shù)據(jù)存儲器讀外部數(shù)據(jù)存儲器讀/寫指令寫指令3.3.1 3.3.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令例例2 設(shè)外部
30、設(shè)外部RAM(0203H)= FFH,分析以下指令執(zhí)行后的結(jié)果。,分析以下指令執(zhí)行后的結(jié)果。MOV DPTR,#0203H ;DPTR0203HMOVX A,DPTR ;A(DPTR)MOV 30H,A ;30H(A)MOV A,#0FH ;A0FHMOVX DPTR,A ;(DPTR)(A)執(zhí)行結(jié)果為:執(zhí)行結(jié)果為:(DPTR)=0203H,(30H)=FFH,(0203H)=(A)=0FH。第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)3. 程序存儲器讀指令程序存儲器讀指令 MOVC A, A+DPTR(程序存儲器讀)(程序存儲器讀) MOVC A, A+PC (程序存
31、儲器讀)(程序存儲器讀)3.3.1 3.3.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令例例3 用查表法把累加器中的十六進(jìn)指數(shù)轉(zhuǎn)換為用查表法把累加器中的十六進(jìn)指數(shù)轉(zhuǎn)換為ASCII碼的程序碼的程序HBA: INC AMOVC A, A+PCRET; 十六進(jìn)制數(shù)十六進(jìn)制數(shù)ASCII碼表碼表DB 30H, 31H, , 39H, 41H, 42H, , 46H第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)4. 數(shù)據(jù)交換指令數(shù)據(jù)交換指令3.3.1 3.3.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令(1)整字節(jié)交換指令)整字節(jié)交換指令 XCH A,Rn (寄存器尋址字節(jié)交換)(寄存器尋址字節(jié)交換) XC
32、H A, direct(直接尋址字節(jié)交換)(直接尋址字節(jié)交換) XCH A, Ri ( Ri間接尋址字節(jié)交換)間接尋址字節(jié)交換)(2)半字節(jié)交換指令)半字節(jié)交換指令 XCHD A, Ri ( Ri間接尋址半字節(jié)交換)間接尋址半字節(jié)交換)(3)累加器高低半字節(jié)交換指令)累加器高低半字節(jié)交換指令 SWAP A (累加器內(nèi)容高低半字節(jié)交換)(累加器內(nèi)容高低半字節(jié)交換)第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)例例4 設(shè)設(shè)(R0) = 30H,(30H) = 4AH,(A) = 28H,則則執(zhí)行執(zhí)行 XCH A, R0后,結(jié)果為后,結(jié)果為(A) = 4AH,(30H) = 2
33、8H。執(zhí)行執(zhí)行 XCHD A,R0后,結(jié)果為后,結(jié)果為(A) = 2AH,(30H) = 48H。執(zhí)行執(zhí)行 SWAP A后,結(jié)果為后,結(jié)果為(A) = 82H。3.3.1 3.3.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)5. 堆棧操作指令堆棧操作指令 PUSH direct(進(jìn)棧);(進(jìn)棧);SP (SP)+1, ; (SP) (direct) POP direct(出棧)(出棧) ;(direct)(SP), ; SP (SP) - 13.3.1 3.3.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令例例5 若在外部程序存儲器中,從若在外部程序存
34、儲器中,從2000H單元開始單元開始依次存放依次存放09的平方值。試用查表指令求的平方值。試用查表指令求3的平的平方值。要求保持方值。要求保持DPTR中的內(nèi)容不變。中的內(nèi)容不變。第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)完成上述功能的程序如下:完成上述功能的程序如下:MOV A,#03H;(A)03HPUSH DPH;保護(hù);保護(hù)DPTR高高8位入棧位入棧PUSH DPL;保護(hù);保護(hù)DPTR低低8位入棧位入棧MOV DPTR,#2000H;(DPTR)2000HMOVC A,A+DPTR;(A)(2000H+03H)POP DPL ;彈出;彈出DPTR低位低位POP D
35、PH ;彈出;彈出DPTR高位高位3.3.1 3.3.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令 執(zhí)行結(jié)果:執(zhí)行結(jié)果:(A)09H,DPTR內(nèi)容未變。內(nèi)容未變。第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)操作類型操作類型 助記符助記符 說明說明 MOV MOV、MOVXMOVX、MOVC MOVC 傳送操作傳送操作 XCH XCH、XCHDXCHD、SWAP SWAP 交換操作交換操作 PUSH PUSH、POP POP 堆棧操作堆棧操作6. 數(shù)據(jù)傳送類指令小結(jié):數(shù)據(jù)傳送類指令小結(jié):3.3.1 3.3.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令源操作數(shù)尋址方式源操作數(shù)尋址方式寄存器尋址、直
36、接尋址、寄存器間接尋址、立即尋址、變址尋址、寄存器尋址、直接尋址、寄存器間接尋址、立即尋址、變址尋址、隱含尋址。隱含尋址。目的操作數(shù)尋址方式目的操作數(shù)尋址方式寄存器尋址、直接尋址、寄存器間接尋址、寄存器尋址、直接尋址、寄存器間接尋址、隱含尋址。隱含尋址。對標(biāo)志位的影響對標(biāo)志位的影響除了目的操作數(shù)為除了目的操作數(shù)為ACCACC的指令影響奇偶標(biāo)志的指令影響奇偶標(biāo)志P P外,一般不影響標(biāo)志位。外,一般不影響標(biāo)志位。第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)3.3.2 3.3.2 算術(shù)運算類指令算術(shù)運算類指令 主要用于主要用于8 8位無符號數(shù)的算術(shù)運算,包括:位無符號數(shù)的算術(shù)
37、運算,包括:二目運算:加、減、乘、除,這類指令二目運算:加、減、乘、除,這類指令影響影響PSW中的有關(guān)狀態(tài)位。中的有關(guān)狀態(tài)位。和和單目運算:加單目運算:加1 1、減、減1 1,這類指令,這類指令除了目的操作除了目的操作數(shù)為數(shù)為ACC的指令影響奇偶標(biāo)志的指令影響奇偶標(biāo)志P外,一般不影外,一般不影響標(biāo)志位。響標(biāo)志位。3.3 80C513.3 80C51單片機(jī)指令分類介紹單片機(jī)指令分類介紹第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)80C51的數(shù)據(jù)傳送類指令有七組的數(shù)據(jù)傳送類指令有七組1. 不帶進(jìn)位的加法指令不帶進(jìn)位的加法指令2. 帶進(jìn)位的加法指令帶進(jìn)位的加法指令3. 帶借位
38、的減法指令帶借位的減法指令4. 加加1指令指令5. 減減1指令指令6. 乘除指令乘除指令7. 十進(jìn)制調(diào)整指令十進(jìn)制調(diào)整指令3.3.2 算術(shù)運算類指令第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)1. 不帶進(jìn)位的加法指令不帶進(jìn)位的加法指令A(yù)DD A,#data (立即數(shù)加法)(立即數(shù)加法)ADD A, direct(直接尋址加法)(直接尋址加法)ADD A, Ri (間接尋址加法)(間接尋址加法)ADD A, Rn (寄存器尋址加法)(寄存器尋址加法)3.3.2 算術(shù)運算類指令操作碼操作碼目的操目的操作數(shù)作數(shù)源操作源操作數(shù)數(shù)字節(jié)數(shù)字節(jié)數(shù)執(zhí)行周執(zhí)行周期數(shù)期數(shù)對標(biāo)志位的影響對標(biāo)
39、志位的影響P POVOVACACCYCY24H24H- -datadata2 21 125H25H- -directdirect3 32 200100110010011- -i i2 21 10010100101- -n n2 21 1第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)2. 帶進(jìn)位加法指令帶進(jìn)位加法指令A(yù)DDC A,#data (立即數(shù)帶進(jìn)位加法)(立即數(shù)帶進(jìn)位加法)ADDC A, direct(直接尋址帶進(jìn)位加法)(直接尋址帶進(jìn)位加法)ADDC A, Ri (間接尋址帶進(jìn)位加法)(間接尋址帶進(jìn)位加法)ADDC A, Rn (寄存器尋址帶進(jìn)位加法)(寄存器尋址
40、帶進(jìn)位加法)3.3.2 算術(shù)運算類指令3. 帶借位減法指令帶借位減法指令SUBB A,#data (立即數(shù)帶借位減法)(立即數(shù)帶借位減法)SUBB A, direct(直接尋址帶借位減法)(直接尋址帶借位減法)SUBB A, Ri (間接尋址帶借位減法)(間接尋址帶借位減法)SUBB A, Rn (寄存器尋址帶借位減法)(寄存器尋址帶借位減法)第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)例例6 計算計算6789H12ABH,結(jié)果放到寄存器,結(jié)果放到寄存器R7,R6。3.3.2 算術(shù)運算類指令MOV A, #89HADD A, #ABHMOV R6, AMOV A, #6
41、7HADDC A, #12HMOV R7, A 結(jié)果結(jié)果:(R6)=34H, (R7)=(A)=7AH, Cy: 0,AC: 0,OV: 0,P: 1第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)4. 加加1指令指令I(lǐng)NC A (累加器加(累加器加1)INC direct (直接尋址單元加(直接尋址單元加1)INC Ri (間接尋址單元加(間接尋址單元加1)INC Rn (寄存器加(寄存器加1)INC DPTR(16位數(shù)據(jù)指針加位數(shù)據(jù)指針加1)3.3.2 算術(shù)運算類指令算術(shù)運算類指令操作碼操作碼目的操作數(shù)目的操作數(shù)源操作數(shù)源操作數(shù)字節(jié)數(shù)字節(jié)數(shù)執(zhí)行周期數(shù)執(zhí)行周期數(shù)對標(biāo)志位的
42、影響對標(biāo)志位的影響P POVOVACACCYCY04H04H- - -1 11 1- - - -05H05Hdirectdirect- -2 21 1- - - - -00000110000011i i- -1 11 1- - - - -0000100001n n- -1 11 1- - - - -A3HA3H- - -1 12 2- - - - -第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)5. 5. 減減1 1指令指令DEC A DEC A (累加器減(累加器減1 1)DEC direct DEC direct (直接尋址單元減(直接尋址單元減1 1)DEC Ri
43、DEC Ri (間接尋址單元減(間接尋址單元減1 1)DEC Rn DEC Rn (寄存器減(寄存器減1 1)例例7 7 設(shè)設(shè) (R0) = 7EH (R0) = 7EH,(7EH)=FFH(7EH)=FFH,(7FH)=38H(7FH)=38H,(DPTR)=10FEH(DPTR)=10FEH,逐條分析下列指令執(zhí)行后各單元的內(nèi)容。,逐條分析下列指令執(zhí)行后各單元的內(nèi)容。 INC R0 INC R0 ;使;使7EH7EH單元內(nèi)容由單元內(nèi)容由FFHFFH變?yōu)樽優(yōu)?0H00H INC R0 INC R0 ;使;使R0R0的內(nèi)容由的內(nèi)容由7EH7EH變?yōu)樽優(yōu)?FH7FH INC R0 INC R0 ;
44、使;使7FH7FH單元內(nèi)容由單元內(nèi)容由38H38H變?yōu)樽優(yōu)?9H39H INC DPTR INC DPTR ;使;使DPLDPL為為FFHFFH,DPHDPH不變不變 INC DPTR INC DPTR ;使;使DPLDPL為為00H00H,DPHDPH為為11H11H INC DPTR INC DPTR ;使;使DPLDPL為為01H01H,DPHDPH不變不變3.3.2 算術(shù)運算類指令算術(shù)運算類指令第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)3.3.2 算術(shù)運算類指令 加減法指令表加減法指令表第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)6.
45、乘除指令乘除指令MUL AB(乘法:(乘法:B,A(A)*(B))DIV AB(除法:(除法:A (A)/(B) 的商,的商,B (A)/(B) 的余數(shù)的余數(shù))3.3.2 算術(shù)運算類指令操作碼操作碼目的操作目的操作數(shù)數(shù)源操作數(shù)源操作數(shù)字節(jié)數(shù)字節(jié)數(shù)執(zhí)行周期執(zhí)行周期數(shù)數(shù)對標(biāo)志位的影響對標(biāo)志位的影響P POVOVACACCYCYA4HA4H- - -1 14 4- -84H84H- - -1 14 4注:注:CYCY被清被清0 0例例8 8 設(shè)設(shè)(A)=4EH(A)=4EH,(B)=5DH(B)=5DH,則執(zhí)行,則執(zhí)行MUL ABMUL AB指令后,乘積是指令后,乘積是1C56H1C56H,(B)=
46、1CH(B)=1CH,(A)=56H(A)=56H。再。再執(zhí)行DIV AB指令后,(A)=3,(B)=2。第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)3.3.2 算術(shù)運算類指令算術(shù)運算類指令7. 十進(jìn)制調(diào)整指令十進(jìn)制調(diào)整指令DA A(十進(jìn)制調(diào)整)(十進(jìn)制調(diào)整) 若若(AC)=1 或或(A3:0)9 ,則,則A3:0(A3:0)+06H 若若(CY)=1、(A7:4)9或或(A7:4)9且低且低4位修正后有位修正后有進(jìn)位,則進(jìn)位,則A7:4(A7:4)+06H注:只能用于注:只能用于BCD碼加法調(diào)整。碼加法調(diào)整。操作碼操作碼目的操作數(shù)目的操作數(shù)源操作數(shù)源操作數(shù)字節(jié)數(shù)字節(jié)數(shù)
47、執(zhí)行周期數(shù)執(zhí)行周期數(shù)對標(biāo)志位的影響對標(biāo)志位的影響P POVOVACACCYCYD4HD4H- - -1 11 1- - -第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)例例 下列程序運行結(jié)果。下列程序運行結(jié)果。 ACYACMOV A,#58H; 58H-ADD A,#65H; BDH00DA A; 23H10DA A; 83H10MOV A,#99H; 99H10ADD A,#99H; 32H11DA A; 98H11DA A; FEH11MOV A,#12H; 12H11ADD A,#23H; 35H00DA A; 35H003.3.2 算術(shù)運算類指令算術(shù)運算類指令7.
48、 十進(jìn)制調(diào)整指令十進(jìn)制調(diào)整指令第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng) 主要用于邏輯運算和移位操作,包括主要用于邏輯運算和移位操作,包括二元邏輯運算(按位操作):與、或、異或二元邏輯運算(按位操作):與、或、異或和和一元運算和操作:取反、清零、循環(huán)移位。一元運算和操作:取反、清零、循環(huán)移位。這些指令除了目的操作數(shù)為這些指令除了目的操作數(shù)為ACCACC的指令影響奇偶標(biāo)的指令影響奇偶標(biāo)志志P P外,一般不影響標(biāo)志位。邏輯運算按位操作。外,一般不影響標(biāo)志位。邏輯運算按位操作。3.3.3 邏輯運算及移位類指令第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系
49、統(tǒng)3.3.3 邏輯運算及移位類指令邏輯運算及移位類指令80C51的邏輯運算及移位類指令可分為的邏輯運算及移位類指令可分為5組組1. 邏輯邏輯“與與”運算指令運算指令2. 邏輯邏輯“或或”運算指令運算指令3. 邏輯邏輯“異或異或”運算指令運算指令4. 累加器清累加器清0和取反指令和取反指令5. 移位指令移位指令第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)3.3.3 邏輯運算及移位類指令邏輯運算及移位類指令1. 邏輯邏輯“與與”運算指令運算指令 ANL direct,A(累加器與直接尋址單元邏輯(累加器與直接尋址單元邏輯“與與”) ANL direct,#data(立即數(shù)與
50、直接尋址單元邏輯(立即數(shù)與直接尋址單元邏輯“與與” ) ANL A,#data (立即數(shù)與累加器邏輯(立即數(shù)與累加器邏輯“與與” ) ANL A,direct (直接尋址單元與累加器邏輯(直接尋址單元與累加器邏輯“與與” ) ANL A, Ri ( 間接尋址單元與累加器邏輯間接尋址單元與累加器邏輯“與與” ) ANL A, Rn (寄存器與累加器邏輯(寄存器與累加器邏輯“與與” )例例1 (P1)=C5H=11000101B,清零,清零P1口高口高4位而保留低位而保留低4位。位。 執(zhí)行指令:執(zhí)行指令:ANL P1,#0FH 結(jié)果為:結(jié)果為:(P1)=05H=00000101B。第三章第三章 8
51、0C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)2. 邏輯邏輯“或或”運算指令運算指令ORL direct,A(累加器與直接尋址單元邏輯(累加器與直接尋址單元邏輯“或或”)ORL direct,#data(立即數(shù)與直接尋址單元邏輯(立即數(shù)與直接尋址單元邏輯“或或” )ORL A,#data (立即數(shù)與累加器邏輯(立即數(shù)與累加器邏輯“或或” )ORL A,direct (直接尋址單元與累加器邏輯(直接尋址單元與累加器邏輯“或或” )ORL A, Ri ( 間接尋址單元與累加器邏輯間接尋址單元與累加器邏輯“或或” )ORL A, Rn (寄存器與累加器邏輯(寄存器與累加器邏輯“或或” )3.3
52、.3 邏輯運算及移位類指令例例1 1 若若(A)=C0H(A)=C0H,(R0)=3FH(R0)=3FH,(3FH)=0FH(3FH)=0FH,則,則 執(zhí)行指令:執(zhí)行指令:ORL AORL A,R0R0 結(jié)果為:結(jié)果為:(A)=CFH=11001111B(A)=CFH=11001111B。第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)3. 邏輯邏輯“異或異或”運算指令運算指令 XRL direct,A(累加器與直接尋址單元邏輯(累加器與直接尋址單元邏輯“異或異或”)XRL direct,#data(立即數(shù)與直接尋址單元邏輯(立即數(shù)與直接尋址單元邏輯“異異或或” )XRL
53、A,#data (立即數(shù)與累加器邏輯(立即數(shù)與累加器邏輯“異或異或” )XRL A,direct (直接尋址單元與累加器邏輯(直接尋址單元與累加器邏輯“異或異或” )XRL A, Ri ( 間接尋址單元與累加器邏輯間接尋址單元與累加器邏輯“異或異或” )XRL A, Rn (寄存器與累加器邏輯(寄存器與累加器邏輯“異或異或” )3.3.3 邏輯運算及移位類指令邏輯運算及移位類指令4. 累加器清累加器清0和取反指令組和取反指令組CLR A (累加器清(累加器清0 )CPL A (累加器按位取反)(累加器按位取反)第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)3.3.3 邏輯
54、運算及移位類指令例例12 設(shè)設(shè)(A)=5AH,且,且(CY)=1,則,則執(zhí)行指令執(zhí)行指令 RL A后,后,(A)=B4H, (CY)=1 。執(zhí)行指令執(zhí)行指令 RR A后,后,(A)=2DH , (CY)=1 。執(zhí)行指令執(zhí)行指令 RLC A后,后,(A)=B5H , (CY)=0 。執(zhí)行指令執(zhí)行指令 RRC A后,后,(A)=ADH , (CY)=0 。5. 移位指令移位指令 RL A (累加器內(nèi)容循環(huán)左移)(累加器內(nèi)容循環(huán)左移) RR A (累加器內(nèi)容循環(huán)右移)(累加器內(nèi)容循環(huán)右移) RLC A (通過(通過CY循環(huán)左移)循環(huán)左移) RRC A (通過(通過CY循環(huán)右移)循環(huán)右移)第三章第三章
55、 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)邏輯操作指令表邏輯操作指令表3.3.3 邏輯運算及移位類指令邏輯運算及移位類指令第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)3.3.3 邏輯運算及移位類指令邏輯運算及移位類指令邏輯操作指令表續(xù)邏輯操作指令表續(xù)第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)ANL AANL A,#0FH#0FH ;屏蔽;屏蔽A A的高的高4 4位位SWAP ASWAP A ;把;把A A的低的低4 4位交換到位交換到A A的高的高4 4位位ANL P1ANL P1,#0FH#0FH ;清;清P1P1口高口高4 4
56、位位ORL P1ORL P1,A A ;輸出輸出A的高的高4位到位到P1P1口高口高4 4位位 例例13 13 把累加器把累加器A A中的低中的低4 4位狀態(tài),通過位狀態(tài),通過P1P1口的高口的高4 4位輸位輸出,出, P1 P1口的低口的低4 4位狀態(tài)不變。位狀態(tài)不變。3.3.3 邏輯運算及移位類指令邏輯運算及移位類指令第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)3.3.4 3.3.4 控制轉(zhuǎn)移類指令控制轉(zhuǎn)移類指令控制轉(zhuǎn)移類指令有以下三種:控制轉(zhuǎn)移類指令有以下三種:無條件轉(zhuǎn)移無條件轉(zhuǎn)移條件轉(zhuǎn)移條件轉(zhuǎn)移子程序調(diào)用與返回子程序調(diào)用與返回此類指令修改此類指令修改PCPC值,
57、改變程序流程,但一般值,改變程序流程,但一般不影響不影響PSWPSW的標(biāo)志位。的標(biāo)志位。第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)1. 無條件轉(zhuǎn)移指令無條件轉(zhuǎn)移指令 (1)長轉(zhuǎn)移指令)長轉(zhuǎn)移指令 LJMP addr16 ;64K (2)絕對轉(zhuǎn)移指令)絕對轉(zhuǎn)移指令 AJMP addr11 ;2K (3)相對轉(zhuǎn)移指令)相對轉(zhuǎn)移指令 SJMP rel ;126129 (4)變址尋址轉(zhuǎn)移指令)變址尋址轉(zhuǎn)移指令 JMP A+DPTR(該指令又稱散轉(zhuǎn)指令)(該指令又稱散轉(zhuǎn)指令)3.3.4 3.3.4 控制轉(zhuǎn)移類指令控制轉(zhuǎn)移類指令例例14 若若AJMP指令的地址指令的地址(PC)=
58、27F0H,則執(zhí)行指令,則執(zhí)行指令A(yù)JMP 0FFH后,后, (PC)=20FFH,程序向后轉(zhuǎn)到,程序向后轉(zhuǎn)到20FFH單元開始執(zhí)行。單元開始執(zhí)行。若若AJMP指令的地址指令的地址(PC)=27FFH,則執(zhí)行指令,則執(zhí)行指令A(yù)JMP 0FFH后,后, (PC)=28FFH,程序向前轉(zhuǎn)到,程序向前轉(zhuǎn)到28FFH單元開始執(zhí)行。單元開始執(zhí)行。第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)例例15 根據(jù)累加器根據(jù)累加器A的值,轉(zhuǎn)不同處理程序的入口。的值,轉(zhuǎn)不同處理程序的入口。3.3.4 3.3.4 控制轉(zhuǎn)移類指令控制轉(zhuǎn)移類指令1. 無條件轉(zhuǎn)移指令無條件轉(zhuǎn)移指令MOV DPTR,#
59、TABLE ;表首地址送;表首地址送DPTR RL A JMP A+DPTR ;根據(jù);根據(jù)A值轉(zhuǎn)移值轉(zhuǎn)移 TABLE: AJMP TAB0 ;當(dāng);當(dāng)(A)=0時轉(zhuǎn)時轉(zhuǎn)TAB0執(zhí)行執(zhí)行 AJMP TAB1 ;當(dāng);當(dāng)(A)=1時轉(zhuǎn)時轉(zhuǎn)TAB1執(zhí)行執(zhí)行 AJMP TAB2 ;當(dāng);當(dāng)(A)=2時轉(zhuǎn)時轉(zhuǎn)TAB2執(zhí)行執(zhí)行第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)2. 條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令全部為相對轉(zhuǎn)移指令。全部為相對轉(zhuǎn)移指令。條件轉(zhuǎn)移指令在滿足所要求的條件時才進(jìn)行轉(zhuǎn)移;條件轉(zhuǎn)移指令在滿足所要求的條件時才進(jìn)行轉(zhuǎn)移;否則,程序繼續(xù)按順序執(zhí)行下一條指令。否則,程序繼續(xù)按順序執(zhí)行下一
60、條指令。有三種:有三種:(1)累加器判零轉(zhuǎn)移指令)累加器判零轉(zhuǎn)移指令(2)數(shù)值比較轉(zhuǎn)移指令)數(shù)值比較轉(zhuǎn)移指令(3)減)減1條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令3.3.4 3.3.4 控制轉(zhuǎn)移類指令控制轉(zhuǎn)移類指令第三章第三章 80C51 80C51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng)2. 條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令3.3.4 3.3.4 控制轉(zhuǎn)移類指令控制轉(zhuǎn)移類指令(1)累加器判零轉(zhuǎn)移指令)累加器判零轉(zhuǎn)移指令 JZ rel (累加器為零轉(zhuǎn)移)(累加器為零轉(zhuǎn)移) JNZ rel (累加器非零轉(zhuǎn)移)(累加器非零轉(zhuǎn)移)例例16 將片外將片外RAM首地址為首地址為DATA1的一個數(shù)據(jù)塊(結(jié)束的一個數(shù)據(jù)塊(結(jié)束標(biāo)志為)傳送
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度足療店健康數(shù)據(jù)監(jiān)測與合伙經(jīng)營合同
- 二零二五年度月嫂雇傭合同書-產(chǎn)婦產(chǎn)后康復(fù)與新生兒護(hù)理服務(wù)協(xié)議
- 2025山西省建筑安全員《C證》考試題庫及答案
- 2025年度項目經(jīng)理聘用合同(科技園區(qū)項目管理)
- 2025年度股權(quán)代持與公司重組整合合作協(xié)議
- 二零二五年度商鋪租賃合同租賃期三年商鋪租賃合同及租賃期滿續(xù)租優(yōu)惠協(xié)議
- 2025年度知識產(chǎn)權(quán)債權(quán)債務(wù)保護(hù)協(xié)議
- 二零二五年度房地產(chǎn)項目評估咨詢協(xié)議
- 2025年度果林租賃與果樹養(yǎng)護(hù)管理服務(wù)合同
- 二零二五年度幼兒園幼兒保險與意外傷害處理承包合同
- 2025年中央一號文件高頻重點考試題庫150題(含答案解析)
- 接觸隔離標(biāo)準(zhǔn)操作流程
- 港股基礎(chǔ)知識
- 2025年溫州市甌海旅游投資集團(tuán)有限公司下屬子公司招聘筆試參考題庫附帶答案詳解
- 2025年天津三源電力集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 2025年上半年浙江嘉興桐鄉(xiāng)市水務(wù)集團(tuán)限公司招聘10人易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年腹腔穿刺術(shù)課件 (1)2
- (八省聯(lián)考)2025年高考綜合改革適應(yīng)性演練 物理試卷合集(含答案逐題解析)
- 2025年度智能倉儲管理系統(tǒng)軟件開發(fā)合同6篇
- 2024版數(shù)據(jù)中心建設(shè)與運維服務(wù)合同協(xié)議書3篇
- 警察著裝管理規(guī)定
評論
0/150
提交評論