![單片機(jī)31教學(xué)講解課件_第1頁(yè)](http://file4.renrendoc.com/view/4fb8741f781ba9e57bee45af35daf60c/4fb8741f781ba9e57bee45af35daf60c1.gif)
![單片機(jī)31教學(xué)講解課件_第2頁(yè)](http://file4.renrendoc.com/view/4fb8741f781ba9e57bee45af35daf60c/4fb8741f781ba9e57bee45af35daf60c2.gif)
![單片機(jī)31教學(xué)講解課件_第3頁(yè)](http://file4.renrendoc.com/view/4fb8741f781ba9e57bee45af35daf60c/4fb8741f781ba9e57bee45af35daf60c3.gif)
![單片機(jī)31教學(xué)講解課件_第4頁(yè)](http://file4.renrendoc.com/view/4fb8741f781ba9e57bee45af35daf60c/4fb8741f781ba9e57bee45af35daf60c4.gif)
![單片機(jī)31教學(xué)講解課件_第5頁(yè)](http://file4.renrendoc.com/view/4fb8741f781ba9e57bee45af35daf60c/4fb8741f781ba9e57bee45af35daf60c5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第三章89C51單片機(jī)指令系統(tǒng)Exit§3.389C51單片機(jī)指令系統(tǒng)§3.1匯編語(yǔ)言§3.2尋址方式§3.4程序設(shè)計(jì)舉例第三章89C51單片機(jī)指令系統(tǒng)Exit§3.381指令學(xué)習(xí)要點(diǎn)了解指令的操作了解指令的尋址格式了解指令對(duì)程序狀態(tài)字的影響合理使用指令指令學(xué)習(xí)要點(diǎn)2§3.1匯編語(yǔ)言§3.1.1指令和程序設(shè)計(jì)語(yǔ)言§3.1.2指令格式BACK§3.1匯編語(yǔ)言§3.1.1指令和程序設(shè)計(jì)語(yǔ)3§3.1匯編語(yǔ)言計(jì)算機(jī)指令系統(tǒng)是一套控制計(jì)算機(jī)操作的編碼,稱為機(jī)器語(yǔ)言。計(jì)算機(jī)只能識(shí)別和執(zhí)行機(jī)器語(yǔ)言的指令。為了便于記憶和使用,通常用符號(hào)指令(即匯編語(yǔ)言)來(lái)描述計(jì)算機(jī)的指令系統(tǒng)。不同的計(jì)算機(jī)有不同的匯編語(yǔ)言。BACK§3.1匯編語(yǔ)言計(jì)算機(jī)指令系統(tǒng)是一套控制計(jì)算機(jī)操作的4§3.1.1指令和程序設(shè)計(jì)語(yǔ)言指令:
是CPU根據(jù)人的意圖來(lái)執(zhí)行某種操作的
命令。指令系統(tǒng):
一臺(tái)計(jì)算機(jī)所能執(zhí)行的全部指令的集合。要使計(jì)算機(jī)按照人的思維完成一項(xiàng)工作,就必須讓CPU按順序執(zhí)行各種操作。
即一步步地執(zhí)行一條條的指令?!?.1.1指令和程序設(shè)計(jì)語(yǔ)言指令:
是CPU根5§3.1.1指令和程序設(shè)計(jì)語(yǔ)言程序:
按人的要求編排的指令操作序列稱為
程序。
程序設(shè)計(jì):
編寫(xiě)程序的過(guò)程就叫作程序設(shè)計(jì)。§3.1.1指令和程序設(shè)計(jì)語(yǔ)言程序:
按人的要求編排的6§3.1.1指令和程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言是實(shí)現(xiàn)人機(jī)交換信息的基本工具,分為:
機(jī)器語(yǔ)言
匯編語(yǔ)言
高級(jí)語(yǔ)言§3.1.1指令和程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言是實(shí)現(xiàn)人機(jī)交換信7§3.1.1指令和程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言:用二進(jìn)制編碼表示每條指令,是計(jì)算機(jī)能
直接識(shí)別和執(zhí)行的語(yǔ)言。用機(jī)器語(yǔ)言編寫(xiě)的程序稱為機(jī)器語(yǔ)言程序或指令程序(機(jī)器碼程序)。因?yàn)闄C(jī)器只能直接識(shí)別機(jī)器碼程序,所以又稱它為目標(biāo)程序。§3.1.1指令和程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言:8§3.1.1指令和程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言舉例:
要做“10+20”的加法,在MCS-51中可用機(jī)器碼指令編程:
0111010000001010把10放到累加器A中;
0010010000010100A加20,結(jié)果仍放在A中
為了便于書(shū)寫(xiě)和記憶,可采用十六進(jìn)制表示指令碼:740AH
2414H§3.1.1指令和程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言舉例:
要做“109§3.1.1指令和程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言特點(diǎn):
用機(jī)器語(yǔ)言編寫(xiě)程序不易記憶,不易
查錯(cuò),不易修改?!?.1.1指令和程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言特點(diǎn):
用機(jī)器語(yǔ)10§3.1.1指令和程序設(shè)計(jì)語(yǔ)言匯編語(yǔ)言:用助記符、符號(hào)和數(shù)字等來(lái)表示指令的程序設(shè)計(jì)語(yǔ)言。它與機(jī)器語(yǔ)言指令是一一對(duì)應(yīng)的。它與機(jī)器語(yǔ)言指令是一一對(duì)應(yīng)的。
§3.1.1指令和程序設(shè)計(jì)語(yǔ)言匯編語(yǔ)言:11§3.1.1指令和程序設(shè)計(jì)語(yǔ)言匯編語(yǔ)言舉例:
例如:“10+20”例子可寫(xiě)成:
匯編語(yǔ)言程序
機(jī)器語(yǔ)言程序
MOVA,#0AH
740AH
ADDA,#14H
2414H§3.1.1指令和程序設(shè)計(jì)語(yǔ)言匯編語(yǔ)言舉例:
例如:“112§3.1.1指令和程序設(shè)計(jì)語(yǔ)言匯編語(yǔ)言特點(diǎn):用與CPU的硬件結(jié)構(gòu)緊密相關(guān)。不同的CPU其匯編語(yǔ)言是不同的。匯編語(yǔ)言程序不能移植,使用不便。用匯編語(yǔ)言進(jìn)行程序設(shè)計(jì)必須了解所使用的CPU硬件的結(jié)的與性能,對(duì)程序設(shè)計(jì)人員有較高的要求?!?.1.1指令和程序設(shè)計(jì)語(yǔ)言匯編語(yǔ)言特點(diǎn):13§3.1.1指令和程序設(shè)計(jì)語(yǔ)言高級(jí)語(yǔ)言:
脫離具體機(jī)器的語(yǔ)言?!?.1.1指令和程序設(shè)計(jì)語(yǔ)言高級(jí)語(yǔ)言:
脫離具體機(jī)14§3.1.2指令格式89C51匯編語(yǔ)言指令由
操作碼助記符字段和操作數(shù)字段兩部分組成。指令格式如下:
操作碼[目的操作數(shù)][,源操作數(shù)][;注釋]
例如:
MOVA,#00H
§3.1.2指令格式89C51匯編語(yǔ)言指令由
操作碼15§3.1.2指令格式操作碼部分規(guī)定了指令所實(shí)現(xiàn)的操作功能,由2--5個(gè)英文字母表示。
例如,JB,
MOV,
DJNZ,
LCALL等?!?.1.2指令格式操作碼部分16§3.1.2指令格式操作數(shù)部分
指出了參與操作的數(shù)據(jù)來(lái)源和操作結(jié)果存放的目的單元。
操作數(shù)可以直接是一個(gè)數(shù)(立即數(shù)),或者是一個(gè)數(shù)據(jù)所在的空間地址,即在執(zhí)行指令時(shí)從指定的地址空間取出操作數(shù)。§3.1.2指令格式操作數(shù)部分
17§3.1.2指令格式操作碼和操作數(shù)都有對(duì)應(yīng)的二進(jìn)制代碼,指令代碼由若干字節(jié)組成。對(duì)于不同的指令,指令的字節(jié)數(shù)不同。
89C51指令系統(tǒng)中,有:
1、單字節(jié)指令
2、雙字節(jié)指令
3、三字節(jié)指令。
§3.1.2指令格式操作碼和操作數(shù)都有對(duì)應(yīng)的二進(jìn)制代181、單字節(jié)指令單字節(jié)指令中的8位二進(jìn)制代碼既包含操作碼的信息,也包含操作數(shù)的信息。
這種指令有兩種情況。1)指令碼中隱含著對(duì)某一種寄存器的操作2)由指令中的rrr三位的不同編碼指定某一
寄存器1、單字節(jié)指令單字節(jié)指令中的8位二進(jìn)制代碼既包含操作碼的信19101000111、單字節(jié)指令1)指令碼中隱含著對(duì)某一種寄存器的操作
INCDPTR
指令代碼:
A3H=101000111、單字節(jié)指令1)指令碼中隱含著對(duì)某一種寄存2011101rrr1、單字節(jié)指令2)由指令中的rrr三位的不同編碼指定某一
寄存器
MOVA,Rn
指令代碼:11101rrr1、單字節(jié)指令2)由指令中的r212、雙字節(jié)指令用一個(gè)字節(jié)表示操作碼,另一個(gè)字節(jié)表示操作數(shù)或操作數(shù)所在的地址。
格式為:操作碼立即數(shù)或地址2、雙字節(jié)指令用一個(gè)字節(jié)表示操作碼,另一個(gè)字節(jié)表示操作數(shù)或操223、三字節(jié)指令一個(gè)字節(jié)操作碼,兩個(gè)字節(jié)操作數(shù)。
格式為:操作碼立即數(shù)或地址立即數(shù)或地址3、三字節(jié)指令一個(gè)字節(jié)操作碼,兩個(gè)字節(jié)操作數(shù)。
操作碼立即數(shù)23§3.2
尋址方式§3.2.0尋址的概念§3.2.1尋址方式的種類§3.2.2尋址空間及符號(hào)注釋§3.2尋址方式§3.2.0尋址的概念24§3.2.0尋址的概念尋址:
就是尋找指令中操作數(shù)或操作數(shù)所在地址。尋址方式:
就是如何找到存放操作數(shù)的地址,把操作數(shù)提取出來(lái)的方法。尋址方式是計(jì)算機(jī)的重要性能指標(biāo)之一,也是匯編語(yǔ)言程序設(shè)計(jì)中最基本的內(nèi)容之一,必須十分熟悉,牢固掌握?!?.2.0尋址的概念尋址:
就是尋找指令中操作數(shù)或操作25§3.2.1尋址方式的種類1、寄存器尋址2、直接尋址3、立即數(shù)尋址4、寄存器間接尋址5、變址尋址6、相對(duì)尋址7、位尋址§3.2.1尋址方式的種類1、寄存器尋址261、寄存器尋址由指令指出寄存器組R0~R7中的某一個(gè)或其他寄存器(A,B,DPTR等)的內(nèi)容作為操作數(shù)。例如:
MOVA,R0;(R0)→AMOVP1,A;(A)→P1口ADDA,R0;(A)+(R0)→A1、寄存器尋址由指令指出寄存器組R0~R7中的某一個(gè)或其他寄272、直接尋址在指令中直接給出操作數(shù)所在存儲(chǔ)單元的地址。指令中操作數(shù)部分是操作數(shù)所在地址。例如:
MOVA,3AH;(3A)→AMOVA,P1;(P1口)→A或:MOVA,90H;90H是P1口的地址2、直接尋址在指令中直接給出操作數(shù)所在存儲(chǔ)單元的地址。指令中282、直接尋址直接尋址方式可訪問(wèn):
片內(nèi)RAM的128個(gè)單元、所有的SFR。
對(duì)于SFR,既可以使用它們的地址,也可以使用它們的名字。
直接尋址的地址占一字節(jié),所以,一條直接尋址方式的指令至少占內(nèi)存兩個(gè)單元。
2、直接尋址直接尋址方式可訪問(wèn):
片內(nèi)RAM的128個(gè)單元292、直接尋址注意下面指令的區(qū)別:
MOVA,20H
MOVC,20H2、直接尋址注意下面指令的區(qū)別:
MOVA,20H
M303、立即數(shù)尋址指令操作碼后面緊跟的是一字節(jié)或兩字節(jié)操作數(shù),用“#”號(hào)表示,以區(qū)別直接地址。例如:
MOVA,3AH;(3AH)→AMOVA,#3AH;3AH→AMOVDPTR,#2000H;2000H→DPTR
;(DPH)=20H
;(DPL)=00H3、立即數(shù)尋址指令操作碼后面緊跟的是一字節(jié)或兩字節(jié)操作數(shù),用314、寄存器間接尋址
操作數(shù)的地址事先存放在某個(gè)寄存器中,寄存器間接尋址是把指定寄存器的內(nèi)容作為地址,由該地址所指定的單元內(nèi)容作為操作數(shù)。89C51規(guī)定R0、R1為間接尋址寄存器,它可尋址內(nèi)部地址RAM低位的128B單元內(nèi)容。還可采用DPTR作為間接尋址寄存器,尋址外部數(shù)據(jù)存儲(chǔ)器的64KB空間。例如4、寄存器間接尋址操作數(shù)的地址事先存放在某個(gè)寄存器中,32例如:將片內(nèi)RAM65H單元內(nèi)容47H送A,可執(zhí)行指令“MOVA,@R0”。其中R0內(nèi)容為65H。如圖所示:65H47HR0A47H數(shù)據(jù)存儲(chǔ)器地址┋┋65H①②以指令中所指定的R0內(nèi)容(65H)為指針將片內(nèi)RAM65H單元內(nèi)容47H送A例如:將片內(nèi)RAM65H單元內(nèi)容47H送A,可執(zhí)行指令“M335、變址尋址(基址寄存器+變址寄存器間接尋址)以某個(gè)寄存器的內(nèi)容為基地址,在這個(gè)基地址的基礎(chǔ)上加上地址偏移量形成真正的操作數(shù)地址。89C51中沒(méi)有專門(mén)的變址寄存器。而是采用DPTR或PC為變址寄存器,A的內(nèi)容為地址偏移量。變址尋址只能訪問(wèn)程序存儲(chǔ)器,訪問(wèn)范圍為64KB。例如5、變址尋址(基址寄存器+變址寄存器間接尋址)以某個(gè)寄存器的34例如:MOVCA,@A+DPTR1EH0302HROMDPTRAA02F1H11H1EH+①②DPTR內(nèi)容與A的內(nèi)容之和為程序存儲(chǔ)器地址程序存儲(chǔ)器內(nèi)容送A例如:MOVCA,@A+DPTR1EH0302HROMD356、相對(duì)尋址
相對(duì)尋址只出現(xiàn)在相對(duì)轉(zhuǎn)移指令中。以當(dāng)前的PC值加上指令中規(guī)定的偏移量rel而形成實(shí)際的轉(zhuǎn)移地址。當(dāng)前的PC值是指執(zhí)行完相對(duì)指令后的PC值;相對(duì)轉(zhuǎn)移指令操作碼所在地址稱為源地址;轉(zhuǎn)移后的地址稱為目的地址。6、相對(duì)尋址相對(duì)尋址只出現(xiàn)在相對(duì)轉(zhuǎn)移指令中。366、相對(duì)尋址
目的地址=源地址+相對(duì)轉(zhuǎn)移指令字節(jié)數(shù)+relrel為補(bǔ)碼表示的有符號(hào)數(shù)。6、相對(duì)尋址目的地址=源地址+相對(duì)轉(zhuǎn)移指令字節(jié)數(shù)+rel377、位尋址采用位尋址方式的指令的操作數(shù)是8位二進(jìn)制數(shù)中的某一位,指令中給出的是位地址。位地址在指令中用bit表示。
例如:CLRbit;位地址的兩種表示方法:
直接使用位地址,如D3H;
直接用寄存器名字加位數(shù),如PSW.3。7、位尋址采用位尋址方式的指令的操作數(shù)是8位二進(jìn)制數(shù)中的某一387、位尋址位尋址空間:片內(nèi)RAM的20H-2FH的16個(gè)字節(jié)單元中的128位(位地址:00H~FFH)部分SFR(字節(jié)地址能被8整除的SFR)7、位尋址位尋址空間:39§3.2.2尋址空間及符號(hào)注釋1、尋址空間2、符號(hào)注釋§3.2.2尋址空間及符號(hào)注釋1、尋址空間401、尋址空間1、尋址空間412、符號(hào)注釋Rn(n=0-7):當(dāng)前選中的工作寄存器組R0-R7。Ri(i=0,1):作為地址指針兩個(gè)工作寄存器R0,
R1。#data:8位立即數(shù)。#data16:16位立即數(shù)。direct:8位片內(nèi)RAM單元(包括SFR)的直接地址。addr11:11位目的地址,用于ACALL和AJMP指
令中。addr16:16位目的地址。用于LCALL和LJMP指
令中。2、符號(hào)注釋Rn(n=0-7):當(dāng)前選中的工作寄存器組R0-422、符號(hào)注釋rel:補(bǔ)碼表示的8位地址偏移量。
范圍:-128~+127D。bit:片內(nèi)RAM或SFR的直接尋址位地址。@:間接寄存器的符號(hào)。/:位操作指令中對(duì)該位先取反再參與操作,不影響原值。(×):×中的內(nèi)容。((×)):×指出的地址單元中的內(nèi)容。→:指令操作流程方向。2、符號(hào)注釋rel:補(bǔ)碼表示的8位地址偏移量。
43§3.389C51單片機(jī)指令系統(tǒng)3.3.0緒3.3.1數(shù)據(jù)傳送指令3.3.2算術(shù)運(yùn)算指令3.3.3邏輯運(yùn)算及移位指令3.3.4控制程序轉(zhuǎn)移指令3.3.5位操作指令(布爾操作)§3.389C51單片機(jī)指令系統(tǒng)3.3.0緒443.3.0緒89C51指令系統(tǒng)由111條指令組成。單字節(jié)指令49條,雙字節(jié)指令45條,三字
節(jié)指令17條。單周期指令64條,雙周期45條,
只有乘、除指令為4個(gè)周期。3.3.0緒89C51指令系統(tǒng)由111條指令組成。453.3.0緒指令系統(tǒng)可分為五大類:
數(shù)據(jù)傳送指令:28條算術(shù)運(yùn)算指令:24條邏輯運(yùn)算及移位指令:25條控制轉(zhuǎn)移指令:17條位操作指令(布爾操作):17條3.3.0緒指令系統(tǒng)可分為五大類:
46§3.3.1數(shù)據(jù)傳送指令1.以累加器A為目的操作數(shù)的指令
(4條,即4種尋址方式)2.以寄存器Rn為目的操作數(shù)的指令(3條)3.以直接地址為目的操作數(shù)的指令(5條)4.以間接地址為目的操作數(shù)的指令(3條)最基本、最重要的操作。
§3.3.1數(shù)據(jù)傳送指令1.以累加器A為目的操作數(shù)的47§3.3.1數(shù)據(jù)傳送指令5.十六位數(shù)據(jù)傳送指令(1條)6.查表指令(2條)7.累加器A與片外RAM傳送指令(4條)8.棧操作指令(2條)9.交換指令(4條)§3.3.1數(shù)據(jù)傳送指令5.十六位數(shù)據(jù)傳送指令(1條481、以累加器A為目的操作數(shù)的指令(4條,即4種尋址方式)MOVA,RnMOVA,directMOVA,@RiMOVA,#data1、以累加器A為目的操作數(shù)的指令MOVA,Rn49例:(30H)=11H,(R1)=30HMOVA,#30H;(A)=30HMOVA,30H;(A)=11HMOVA,@R1;(A)=11HMOVA,R1;(A)=30H例:(30H)=11H,(R1)=30H50
2、以寄存器Rn為目的操作數(shù)的指令(3條)MOVRn,AMOVRn,directMOVRn,#data注意:
在8051指令系統(tǒng)中沒(méi)有
“MOVRn,Rn”傳送指令。2、以寄存器Rn為目的操作數(shù)的指令(3條)MOVRn51例如:(A)=78H,(R5)=47H,
(70H)=F2H,執(zhí)行指令:MOVR5,A ;(R5)=78HMOVR5,70H;(R5)=F2HMOVR5,#A3H;(R5)=A3H例如:(A)=78H,(R5)=47H,
(70H)=523、以直接地址為目的操作數(shù)的指令(5條)MOVdirect,AMOVdirect,RnMOVdirect,directMOVdirect,@RiMOVdirect,#data3、以直接地址為目的操作數(shù)的指令(5條)MOVdire53這組指令的功能是把源操作數(shù)所指定的內(nèi)容送入由直接地址direct所指出的片內(nèi)存儲(chǔ)單元中。源操作數(shù)有寄存器尋址,直接尋址,寄存器間接尋址和立即尋址等方式。3、以直接地址為目的操作數(shù)的指令(5條)這組指令的功能是把源操作數(shù)所指定的內(nèi)容送入由直接地址dire544、以間接地址為目的操作數(shù)的指令(3條)MOV@Ri,AMOV@Ri,directMOV@Ri,#data(Ri)表示Ri中的內(nèi)容為指定的RAM單元。Ri為R0,R1
4、以間接地址為目的操作數(shù)的指令(3條)MOV@Ri,555、十六位數(shù)據(jù)傳送指令(1條)這條指令的功能是把16位常數(shù)送入DPTR。DPTR由DPH和DPL組成。MOVDPTR,#data165、十六位數(shù)據(jù)傳送指令(1條)這條指令的功能是把16位常數(shù)56例:MOVDPTR,#1000H
(DPTR)=1000H,
(DPH)=10H,(DPL)=00H
5、十六位數(shù)據(jù)傳送指令(1條)例:5、十六位數(shù)據(jù)傳送指令(1條)576、查表指令(2條)MOVCA,@A+DPTR;
先(PC)+1→PC,
后((A)+(DPTR))→A
(遠(yuǎn)程查表)MOVCA,@A+PC;
先(PC)+1→PC,
后((A)+(PC))→A
(近程查表)6、查表指令(2條)MOVCA,@A+DPTR;
58基地址寄存器+變址寄存器間接尋址@PC+A(程序存儲(chǔ)器0-64K)基地址寄存器+變址寄存器間接尋址@DPTR+A(程序存儲(chǔ)器0-64K)A寄存器程序存貯器傳送基地址寄存器+變址寄基地址寄存器+變址寄存A寄存器程序存貯器59例1:若初始ROM內(nèi)容為:
1010H02H1011H04H1012H06H1013H08H1000H74
0DMOVA,#0DH (A)=0DH1002H83MOVCA,@A+PC(PC)=1002+1=1003H(A)=((A)+(PC))==(0D+1003)=(1010H)(A)=02H1003HF8MOVR0,A(R0)=(A)=02H執(zhí)行程序:例1:若初始ROM內(nèi)容為:1010H02H1011H04H60
所以,最后結(jié)果為:
(A)=02(R0)=02(PC)=1004H所以,最后結(jié)果為:
(A)=02(R0)=61例2:若初始ROM內(nèi)容為:
7010H02H7011H04H7012H06H7013H08H執(zhí)行程序:例2:若初始ROM內(nèi)容為:7010H02H7011H04H621000HMOVA,#10H 1002HPUSHDPH1004HPUSHDPL1006HMOVDPTR,#7000H1009HMOVCA,@A+DPTR(10H+7000H)→A100AHPOPDPL100CHPOPDPH
所以,最后結(jié)果為:
(A)=02(PC)=100EH(DPTR)=原值1000HMOVA,#10H 1002HPUSHDP637、累加器A與片外RAM傳送指令(4條)MOVXA,@RiMOVXA,@DPTRMOVX@Ri,AMOVX@DPTR,A7、累加器A與片外RAM傳送指令(4條)MOVXA,64在8051指令系統(tǒng)中,CPU對(duì)片外RAM的訪問(wèn)只
能用寄存器間接尋址的方式,且僅有四條指令.第2,4兩條指令以DPTR為片外數(shù)據(jù)存儲(chǔ)器16位
地址指針,尋址范圍達(dá)64KB。其功能是DPTR所
指定的片外數(shù)據(jù)存儲(chǔ)器與累加器A之間傳送數(shù)據(jù)第1,3兩條指令是用R0或R1作低8位地址指針,
由P0口送出,尋址范圍是256字節(jié)。這兩條指令
完成以R0或R1為地址指針的片外數(shù)據(jù)存儲(chǔ)器與
累加器A之間的傳送數(shù)據(jù)。上述四條指令的操作如圖7、累加器A與片外RAM傳送指令(4條)在8051指令系統(tǒng)中,CPU對(duì)片外RAM的訪問(wèn)只
能用65累加器寄存器間接尋址
@R1、@R0
(片外RAM0-255字節(jié))寄存器間接尋址@DPTR
(片外RAM0-64KB)外部數(shù)據(jù)存儲(chǔ)器傳送操作累加器寄存器間接尋址
@R1、@R0
(片外RAM0-25566MOVR1,#30H; (R1)=30H
MOVXA,@R1; (A)=02H
MOVR0,A ; (R0)=(A)=02H
MOVA,@R1 ; (A)=((R1))=01H
MOVR2,A ; (R2)=(A)=01H例:若:片內(nèi)RAM(30H)=01H,片外RAM(30H)=02H,執(zhí)行下面程序段后的結(jié)果如何。MOVR1,#30H; (R1)=30H
MOVX67
8、棧操作指令(2條)PUSHdirect;先(SP)+1→(SP)
后(direct)→((SP))
POPdirect;先((SP))→(direct)
后(SP)-1→(SP)8、棧操作指令(2條)PUSHdirect;68
8、棧操作指令(2條)片內(nèi)RAM128B單元中,可設(shè)定一個(gè)區(qū)域作為堆棧一般可設(shè)在30H--7FH單元中,棧頂由堆棧指針SP指出。89C51復(fù)位后,(SP)=07H,若要更改則需重新
給SP賦值。本操作不影響標(biāo)志位。堆棧中數(shù)據(jù)的壓入和彈出遵循“先進(jìn)后出”規(guī)則。8、棧操作指令(2條)片內(nèi)RAM128B單元中,可設(shè)定一69例:設(shè)(SP)=60H,(ACC)=40H,
(B)=80H執(zhí)行下面指令:
PUSHACC
PUSHB結(jié)果:(61H)=40H,(62H)=80H,
(SP)=62H例:設(shè)(SP)=60H,(ACC)=40H,
70例:設(shè)(SP)=62H,(61H)=40H,
(62H)=80H執(zhí)行下面指令:
POPDPH
POPDPL
結(jié)果:(DPTR)=8040H,(SP)=60H例:設(shè)(SP)=62H,(61H)=40H,
71例:例:72繼續(xù)上例:繼續(xù)上例:73
9、交換指令(4條)XCHA,RnXCHA,directXCHA,@Ri(1)字節(jié)交換指令將第二操作數(shù)所指定的工作寄存器Rn(R0~R7),直接尋址和間接尋址的單元內(nèi)容與累加器A中內(nèi)容互換.9、交換指令(4條)XCHA,Rn(1)字節(jié)交換指74
9、交換指令(4條)XCHDA,@Ri(2)半字節(jié)交換指令Ri間接尋址的單元內(nèi)容與累加器A中內(nèi)容的低4位互換,高4位內(nèi)容不變。該指令影響標(biāo)志位P。
9、交換指令(4條)XCHDA,@Ri(2)半字節(jié)75例:例:76例:設(shè)(A)=16H,(R0)=40H,(40H)=35H執(zhí)行下面指令:
XCHDA,@R0
結(jié)果:(A)=15H,(40H)=36HA:
00010110
(40H):00110101
00010101(15H)
00110110(36H)例:設(shè)(A)=16H,(R0)=40H,(40H)=35H77§3.3.2算術(shù)運(yùn)算指令1、不帶進(jìn)位加法指令(4條)2、帶進(jìn)位加法指令(4條)3、帶借位減法指令(4條)4、乘法指令(1條)5、除法指令(1條)6、加1指令(5條)7、減1指令(4條)8、十進(jìn)制調(diào)整指令(1條)§3.3.2算術(shù)運(yùn)算指令1、不帶進(jìn)位加法指令(4條781、不帶進(jìn)位加法指令(4條)ADDA,Rn;(A)+(Rn)→AADDA,direct;(A)+(direct)→AADDA,@Ri;(A)+((Ri))→AADDA,#data;(A)+#data→A1、不帶進(jìn)位加法指令(4條)ADDA,Rn;791、不帶進(jìn)位加法指令(4條)這些指令是將工作寄存器、內(nèi)部RAM單元內(nèi)容或立即數(shù)的8位無(wú)符號(hào)二進(jìn)制數(shù)和累加器A中的數(shù)相加,所得的“和”存放于累加器A中。當(dāng)“和”的第3位或第7位有進(jìn)位時(shí),分別將AC,CY標(biāo)志位置1,否則為0。上述指令的執(zhí)行將影響標(biāo)志位AC,CY,OV,P。溢出標(biāo)志OV只有帶符號(hào)數(shù)運(yùn)算時(shí)才有用。1、不帶進(jìn)位加法指令(4條)這些指令是將工作寄存器、內(nèi)部RA80例:例:812、帶進(jìn)位加法指令(4條)ADDCA,Rn;(A)+CY+(Rn)→AADDCA,direct;(A)+CY+(direct)→AADDCA,@Ri;(A)+((Ri))+CY→AADDCA,#data;(A)+#data+CY→A2、帶進(jìn)位加法指令(4條)ADDCA,Rn;(A822、帶進(jìn)位加法指令(4條)這組指令的功能是同時(shí)把源操作數(shù)所指出的內(nèi)容和進(jìn)位標(biāo)志位CY都加到累加器A中,結(jié)果存放在A中,其余功能和ADD指令相同。當(dāng)運(yùn)算結(jié)果第3,7位產(chǎn)生進(jìn)位或溢出時(shí),分別置位AC,CY和OV標(biāo)志位。本指令的執(zhí)行將影響標(biāo)志位AC,CY,OV,P。本指令常用于多字節(jié)加法。2、帶進(jìn)位加法指令(4條)這組指令的功能是同時(shí)把源操作數(shù)所指83例:設(shè)(A)=0C3H,(R0)=0AAH, (CY)=1。
執(zhí)行指令“ADDCA,R0”
后的結(jié)果及標(biāo)志位如何?
例:設(shè)(A)=0C3H,(R0)=0AAH, (CY)=1。84單片機(jī)31教學(xué)講解課件85例:編程,將(30H),(31H)單元中的數(shù)與(40H),(41H)單元中的數(shù)相加,結(jié)果存于(30H),(31H)單元中。例:編程,將(30H),(31H)單元中的數(shù)與(40H863、帶借位減法指令(4條)SUBBA,Rn;(A)-CY-(Rn)→ASUBBA,direct;(A)-CY-(direct)→ASUBBA,@Ri;(A)-CY-((Ri))→ASUBBA,#data;(A)-CY-#data→A3、帶借位減法指令(4條)SUBBA,Rn;873、帶借位減法指令(4條)這組指令的功能是,從累加器A中減去源操作數(shù)所指出的內(nèi)容及進(jìn)位位CY的值,差保留在累加器A中。由于89C51指令系統(tǒng)中沒(méi)有不帶借值的減法指令,如需要的話,可以在“SUBB”指令前用“CLRC”指令將CY清0。兩個(gè)數(shù)相減,如果位7有借位,則CY置1,否則清0若位3有借位,則AC置1,否則清0。兩個(gè)帶符號(hào)數(shù)相減,還要考查OV標(biāo)志,若OV為l,表示差數(shù)溢出,即破壞了正確結(jié)果的符號(hào)位。3、帶借位減法指令(4條)這組指令的功能是,從累加器A中減88例:設(shè)(A)=0C9H,(R2)=54H,Cy=1。
執(zhí)行指令“SUBBA,R2”的結(jié)果如何?例:設(shè)(A)=0C9H,(R2)=54H,Cy=1。
執(zhí)行89
4、乘法指令(1條)指令的功能是,把累加器A和寄存器B中兩個(gè)8位無(wú)符號(hào)數(shù)相乘,所得16位積的低字節(jié)存放在A中,高字節(jié)存放在B中。若乘積大于0FFH,則OV置1,否則清0(即B的內(nèi)容為0)。CY總是被清0。
MULAB4、乘法指令(1條)指令的功能是,把累加器A和寄存器B90例:(A)=4EH,(B)=5DH,
執(zhí)行指令“MULAB”后結(jié)果如何?例:(A)=4EH,(B)=5DH,
執(zhí)行指915、除法指令(1條)DIVAB功能是進(jìn)行A除以B的運(yùn)算,A和B的內(nèi)容均為8
位無(wú)符號(hào)整數(shù)。指令操作后,整數(shù)商存于A中,余數(shù)存于B中,
CY和OV均被清0。若原(B)=00H,則結(jié)果無(wú)法確定,用OV=l表
示,而CY仍為0。5、除法指令(1條)DIVAB功能是進(jìn)行A除以B的運(yùn)算92單片機(jī)31教學(xué)講解課件93
6、加1指令(5條)INCA;(A)+1→AINCRnINCdirectINC@RiINCDPTR
6、加1指令(5條)INCA;94
6、加1指令(5條)指令功能是將操作數(shù)所指定的單元內(nèi)容加1.其操作不影響PSW。若原單元內(nèi)容為FFH,加1后溢出為00H,
也不會(huì)影響PSW標(biāo)志。6、加1指令(5條)指令功能是將操作數(shù)所指定的單元內(nèi)容加95單片機(jī)31教學(xué)講解課件96
7、減1指令(4條)DECA;(A)-1→ADECRnDECdirectDEC@Ri(沒(méi)有)DECDPTR
7、減1指令(4條)DECA;97
7、減1指令(4條)指令的功能是將操作數(shù)所指的單元內(nèi)容減1其操作不影響標(biāo)志位CY。
7、減1指令(4條)指令的功能是將操作數(shù)所指的單元內(nèi)容減988、十進(jìn)制調(diào)整指令(1條)調(diào)整累加器內(nèi)容為BCD碼。這條指令跟在ADD或ADDC指令后,將相加后存
放在累加器A中的結(jié)果進(jìn)行十進(jìn)制調(diào)整,完成十
進(jìn)制加法運(yùn)算功能。兩個(gè)壓縮型BCD碼按二進(jìn)制數(shù)相加后,必須經(jīng)本
指令調(diào)整才能得到壓縮型BCD碼的和的正確值。DAA8、十進(jìn)制調(diào)整指令(1條)調(diào)整累加器內(nèi)容為BCD碼。D998、十進(jìn)制調(diào)整指令(1條)若(A0~3)>9或AC=l,則(A0~3)+6→A0~3若(A4~7)>9或CY=l,則(A4~7)+6→A4~7。8、十進(jìn)制調(diào)整指令(1條)若(A0~3)>9或AC=l,1008、十進(jìn)制調(diào)整指令(1條)執(zhí)行DAA后,CPU根據(jù)累加器A的原始數(shù)值和
PSW的狀態(tài),由硬件自動(dòng)對(duì)累加器A進(jìn)行加06H,
60H或66H的操作。必須注意,本指令不能簡(jiǎn)單地把累加器A中的16進(jìn)
制數(shù)變換成BCD碼。也不能用于十進(jìn)制減法的調(diào)整。
8、十進(jìn)制調(diào)整指令(1條)執(zhí)行DAA后,CPU根據(jù)累加101例:
設(shè)累加器A內(nèi)容為:01010110B(56的BCD碼),寄存器R3的內(nèi)容為01100111B(67的BCD碼),CY內(nèi)容為1。求執(zhí)行下列指令后的結(jié)果。
ADDCA,R3
DAA例:設(shè)累加器A內(nèi)容為:01010110B(56的BCD碼)102單片機(jī)31教學(xué)講解課件1033.3.3邏輯運(yùn)算及移位指令
1.累加器清零、取反指令(2條)
2.移位指令(4條)
3.累加器半字節(jié)交換指令(1條)
4.邏輯“與”指令(6條)
5.邏輯“或”指令(6條)
6.邏輯“異或”指令(6條)3.3.3邏輯運(yùn)算及移位指令1.累加器清零、取反指令(1041.累加器清零、取反指令(2條)CLRA;0→A,
清0累加器A,只影響標(biāo)志位P。CPLA;A→A
,
累加器A逐位取反,不影響標(biāo)志位。
1.累加器清零、取反指令(2條)CLRA;0→105例:設(shè)(A)=01010101B=55H,
執(zhí)行指令:
CPLA
結(jié)果:(A)=10101010B=0AAH例:設(shè)(A)=01010101B=55H,
執(zhí)行指令:
1062.移位指令(4條)RLA;累加器A循環(huán)左移RRA;累加器A循環(huán)右移RLCA;累加器A連同進(jìn)位位循環(huán)左移RRCA;累加器A連同進(jìn)位位循環(huán)右移
2.移位指令(4條)RLA;累加器A循107前兩條指令的功能分別是,將累加器A的內(nèi)容循環(huán)左
移或右移一位,后兩條指令的功能分別是,將累加器A的內(nèi)容連同進(jìn)
位位CY一起循環(huán)左移或右移一位。通常用"RLCA"指令將累加器A的內(nèi)容做乘2運(yùn)算。2.移位指令(4條)前兩條指令的功能分別是,將累加器A的內(nèi)容循環(huán)左
移或右1082.移位指令(4條)a7a0a7a0RLARRA2.移位指令(4條)a71092.移位指令(4條)RLCARRCAa7a0CYa7a0CY2.移位指令(4條)RLCARRCAa7110單片機(jī)31教學(xué)講解課件1113.累加器半字節(jié)交換指令(1條)
SWAPA指令功能:將累加器A的高低兩半字節(jié)交換。
例:(A)=FAH。執(zhí)行指令“SWAPA”
結(jié)果:為(A)=AFH"。
3.累加器半字節(jié)交換指令(1條)SWAPA指令功能:112
4.邏輯“與”指令(6條)ANLA,RnANLA,directANLA,@RiANLA,#dataANLdirect,AANLdirect,#data4.邏輯“與”指令(6條)ANLA,Rn113這組指令中前四條指令是將累加器A的內(nèi)容和操作數(shù)所指出的內(nèi)容按位進(jìn)行邏輯“與”,結(jié)果存放在A中。后兩條指令是將直接地址單元中的內(nèi)容和操作數(shù)所指出的單元的內(nèi)容按位進(jìn)行邏輯“與”,結(jié)果存入直接地址單元中。若直接地址正好是I/O端口,則為“讀——改——寫(xiě)”操作。
4.邏輯“與”指令(6條)這組指令中前四條指令是將累加器A的內(nèi)容和操作數(shù)所指出的內(nèi)容按114例:設(shè)(A)=07H,(R0)=0FEH,執(zhí)行指令:
ANLA,R0結(jié)果:(A)=06H
00000111
(07H)
11111110
(FEH)
00000110
(06H)
4.邏輯“與”指令(6條)例:設(shè)(A)=07H,(R0)=0FEH,4.邏輯“與”115
5.邏輯“或”指令(6條)ORLA,RnORLA,directORLA,@RiORLA,#dataORLdirect,AORLdirect,#data5.邏輯“或”指令(6條)ORLA,Rn116這組指令中前四條指令是將累加器A的內(nèi)容和操作數(shù)所指出的內(nèi)容按位進(jìn)行邏輯“或”,結(jié)果存放在A中。后兩條指令是將直接地址單元中的內(nèi)容和操作數(shù)所指出的單元的內(nèi)容按位進(jìn)行邏輯“或”,結(jié)果存入直接地址單元中。若直接地址正好是I/O端口,則為“讀——改——寫(xiě)”操作。
5.邏輯“或”指令(6條)這組指令中前四條指令是將累加器A的內(nèi)容和操作數(shù)所指出的內(nèi)容按117例:設(shè)(P1)=04H,(A)=33H,執(zhí)行指令:
ORLP1,A結(jié)果:(P1)=37H
00000100
(04H)
00110011
(33H)
00110111
(37H)
5.邏輯“或”指令(6條)例:設(shè)(P1)=04H,(A)=33H,5.邏輯“或”指118
6.邏輯“異或”指令(6條)XRLA,RnXRLA,directXRLA,@RiXRLA,#dataXRLdirect,AXRLdirect,#data6.邏輯“異或”指令(6條)XRLA,Rn119這組指令中前四條指令是將累加器A的內(nèi)容和操作數(shù)所指出的內(nèi)容按位進(jìn)行邏輯“異或”,結(jié)果存放在A中。后兩條指令是將直接地址單元中的內(nèi)容和操作數(shù)所指出的單元的內(nèi)容按位進(jìn)行邏輯“異或”,結(jié)果存入直接地址單元中。若直接地址正好是I/O端口,則為“讀——改——寫(xiě)”操作。
6.邏輯“異或”指令(6條)這組指令中前四條指令是將累加器A的內(nèi)容和操作數(shù)所指出的內(nèi)容按120例:設(shè)(A)=91H,(R3)=73H,執(zhí)行指令:
XRLA,R3結(jié)果:(A)=0E2H
10010001
(91H)
01110011
(73H)
11100010
(E2H)
6.邏輯“異或”指令(6條)例:設(shè)(A)=91H,(R3)=73H,6.邏輯“異或”121上述邏輯操作類指令操作均只影響標(biāo)志位P。
上述邏輯操作類指令操作122§3.3.4控制程序轉(zhuǎn)移類指令
1.無(wú)條件轉(zhuǎn)移指令(4條)2.空操作指令(1條)3.條件轉(zhuǎn)移指令(8條)4.調(diào)用和返回指令(4條)§3.3.4控制程序轉(zhuǎn)移類指令1.無(wú)條件轉(zhuǎn)移指12389C51單片機(jī)有豐富的轉(zhuǎn)移類指令(17
條)。包括無(wú)條件轉(zhuǎn)移、條件轉(zhuǎn)移和調(diào)用指令
及返回指令等。所有這些指令的目標(biāo)地址都是在64K字節(jié)
程序存儲(chǔ)器地址空間范圍內(nèi)。89C51單片機(jī)有豐富的轉(zhuǎn)移類指令(17
條)。1241、無(wú)條件轉(zhuǎn)移指令(4條)無(wú)條件轉(zhuǎn)移指令是當(dāng)程序執(zhí)行到該指令
時(shí),程序無(wú)條件的轉(zhuǎn)移到指令所提供的
地址處執(zhí)行。無(wú)條件轉(zhuǎn)移指令有長(zhǎng)轉(zhuǎn)移、短轉(zhuǎn)移、相
對(duì)轉(zhuǎn)移和間接轉(zhuǎn)移4條指令。1、無(wú)條件轉(zhuǎn)移指令(4條)無(wú)條件轉(zhuǎn)移指令是當(dāng)程序執(zhí)行到該指令1251、無(wú)條件轉(zhuǎn)移指令(4條)短轉(zhuǎn)移指令A(yù)JMPaddrll長(zhǎng)轉(zhuǎn)移指令LJMPaddrl6相對(duì)轉(zhuǎn)移(短轉(zhuǎn)移)指令SJMPrel間接轉(zhuǎn)移指令JMP@A+DPTR
1、無(wú)條件轉(zhuǎn)移指令(4條)短轉(zhuǎn)移指令A(yù)JMPaddrll126短轉(zhuǎn)移指令A(yù)JMPaddrll
先(PC)+2→PC,addrll→PC10~0,(PC15~11)不變這條指令提供了11位地址,可在2K范圍內(nèi)無(wú)條件轉(zhuǎn)移到由a10-a0所指出的地址單元中。因?yàn)楦?位為原PC11-15位值,因此,轉(zhuǎn)移的目標(biāo)地址必須在AJMP指令后面指令的第一個(gè)字節(jié)開(kāi)始的同一2K字節(jié)范圍內(nèi)。短轉(zhuǎn)移指令A(yù)JMPaddrll先(PC)+2→PC,127②長(zhǎng)轉(zhuǎn)移指令LJMPaddrl6
addr16→PC指令直接提供16位目標(biāo)地址,所以程序可轉(zhuǎn)向64KB程序存儲(chǔ)器地址空間的任何單元。
3字節(jié)指令②長(zhǎng)轉(zhuǎn)移指令LJMPaddrl6addr16→PC128③相對(duì)轉(zhuǎn)移(短轉(zhuǎn)移)指令SJMPrel先(PC)+2→PC,后(PC)+rel→PC指令的操
作數(shù)是相對(duì)地址,rel是一個(gè)帶符號(hào)的偏移字節(jié)數(shù)(2的補(bǔ)碼),
其范圍為-128~+12700H~7FH對(duì)應(yīng)表示0~+127,80H~FFH對(duì)應(yīng)表示-128~-1。③相對(duì)轉(zhuǎn)移(短轉(zhuǎn)移)指令SJMPrel先(PC)+2→129③相對(duì)轉(zhuǎn)移(短轉(zhuǎn)移)指令SJMPrel負(fù)數(shù)表示反向轉(zhuǎn)移,正數(shù)表示正向轉(zhuǎn)移。該指令為雙字節(jié)指令,執(zhí)行時(shí)先將PC內(nèi)容
加2,再加相對(duì)地址rel,就得到了轉(zhuǎn)移目標(biāo)地址。③相對(duì)轉(zhuǎn)移(短轉(zhuǎn)移)指令SJMPrel負(fù)數(shù)表示反向轉(zhuǎn)移130例如,在(PC)=0100H地址單元有條
“SJMPrel”指令,
若rel=55H(正數(shù)),則正向轉(zhuǎn)移到
0102H+0055H=0157H地址上;若rel=F6H(負(fù)數(shù))則反向轉(zhuǎn)移到
0102H+FFF6H=00F8H地址上。
(-10)例如,在(PC)=0100H地址單元有條
131編寫(xiě)程序時(shí),rel可以是一個(gè)轉(zhuǎn)移目的地址的標(biāo)號(hào),由匯編程序在匯編過(guò)程中自動(dòng)計(jì)算偏
移地址,并且填入指令代碼中。
在手工匯編時(shí),我們可用轉(zhuǎn)移目的地址減轉(zhuǎn)
移指令所在源地址,再減轉(zhuǎn)移指令字節(jié)數(shù)2
得到偏移字節(jié)數(shù)rel。編寫(xiě)程序時(shí),rel可以是一個(gè)轉(zhuǎn)移目的地址的標(biāo)號(hào),由匯編程序在132④間接轉(zhuǎn)移指令JMP@A+DPTR
(A)+(DPTR)→PC
該指令的轉(zhuǎn)移地址由數(shù)據(jù)指針DPTR的16位
數(shù)和累加器A的8位數(shù)進(jìn)行無(wú)符號(hào)數(shù)相加形
成,并直接送入PC。指令執(zhí)行過(guò)程對(duì)DPTR,A和標(biāo)志位均無(wú)影響這條指令可代替眾多的判別跳轉(zhuǎn)指令,具有
散轉(zhuǎn)功能(又稱散轉(zhuǎn)指令)。④間接轉(zhuǎn)移指令JMP@A+DPTR(A)+(133單片機(jī)31教學(xué)講解課件134從程序中看出,
當(dāng)(A)=00H時(shí),散轉(zhuǎn)到CCS0;當(dāng)(A)=01H時(shí),散轉(zhuǎn)到CCS1;……。由于AJMP是雙字節(jié)指令,散轉(zhuǎn)前A中的鍵值應(yīng)乘2。從程序中看出,
1352、空操作指令(1條)NOP;(PC)+l→PC這是一條單字節(jié)指令,除PC加l外,不影響其
他寄存器和標(biāo)志位。"NOP"指令常用來(lái)產(chǎn)生一個(gè)機(jī)器周期的延遲2、空操作指令(1條)NOP;(PC1363、條件轉(zhuǎn)移指令(8條)(1)判零轉(zhuǎn)移指令(2條)(2)比較轉(zhuǎn)移指令(4條)(3)循環(huán)轉(zhuǎn)移指令(2條)3、條件轉(zhuǎn)移指令(8條)(1)判零轉(zhuǎn)移指令(2條)137(1)判零轉(zhuǎn)移指令JZ和JNZ指令分別對(duì)累加器A的內(nèi)容為全零和不為全零進(jìn)行檢測(cè)并轉(zhuǎn)移,JZrel
;(PC)+2→PC。...。JNZrel(1)判零轉(zhuǎn)移指令JZ和JNZ指令分別對(duì)累加器A的內(nèi)容為全138(1)判零轉(zhuǎn)移指令當(dāng)不滿足條件時(shí),程序繼續(xù)往下執(zhí)行;當(dāng)滿足條件時(shí),程序轉(zhuǎn)移向指定的目標(biāo)地址其目標(biāo)地址是以下一條指令第一個(gè)字節(jié)的地
址為基礎(chǔ),加上指令的第二個(gè)字節(jié)中的相對(duì)
偏移量。相對(duì)偏移量為一個(gè)帶符號(hào)的8位數(shù)。本指令
不改變累加器A的內(nèi)容;也不影響任何標(biāo)志
位。(1)判零轉(zhuǎn)移指令當(dāng)不滿足條件時(shí),程序繼續(xù)往下執(zhí)行;139(2)比較轉(zhuǎn)移指令(4條)對(duì)指定的目的字節(jié)和源字節(jié)進(jìn)行比較。若它們的值不相等,則轉(zhuǎn)移。轉(zhuǎn)移的目標(biāo)地址為當(dāng)前的PC值加3后,再加指令
的第三字節(jié)偏移量(rel)CJNE(目的字節(jié)),(源字節(jié)),rel;三字節(jié)指令(2)比較轉(zhuǎn)移指令(4條)對(duì)指定的目的字節(jié)和源字節(jié)進(jìn)行比較。140(2)比較轉(zhuǎn)移指令(4條)若目的字節(jié)內(nèi)的數(shù)大于源字節(jié)內(nèi)的數(shù),則清0進(jìn)
位標(biāo)志位CY;若目的字節(jié)數(shù)小于源字節(jié)數(shù),則置位進(jìn)位標(biāo)志位
CY;若二者相等,則往下執(zhí)行。本指令執(zhí)行后不影響任何操作數(shù)。這類指令有四種尋址方式,即4條指令:(2)比較轉(zhuǎn)移指令(4條)若目的字節(jié)內(nèi)的數(shù)大于源字節(jié)內(nèi)的數(shù),141(2)比較轉(zhuǎn)移指令(4條)CJNEA,direct,relCJNEA,#data,relCJNERn,#data,relCJNE@Ri,#data,rel(2)比較轉(zhuǎn)移指令(4條)CJNEA,direct,142(2)比較轉(zhuǎn)移指令(4條)CJNEA,direct,rel
;(PC)+3→PC
;若(direct)<(A),則(PC)+rel→PC,且0→CY;
;若(direct)>(A),則(PC)+rel→PC,且1→CY;
;若(direct)=(A),則順序執(zhí)行,且0→CY;(2)比較轉(zhuǎn)移指令(4條)CJNEA,direct,143(2)比較轉(zhuǎn)移指令(4條)CJNEA,#data,rel
;(PC)+3→PC
;若#data<(A),則(PC)+rel→PC,且0→CY;
;若#data>(A),則(PC)+rel→PC,且1→CY;
;若#data=(A),則順序執(zhí)行,且0→CY;(2)比較轉(zhuǎn)移指令(4條)CJNEA,#data,r144(2)比較轉(zhuǎn)移指令(4條)CJNERn,#data,rel
;(PC)+3→PC
;若#data<(Rn),則(PC)+rel→PC,且0→CY;
;若#data>(Rn),則(PC)+rel→PC,且1→CY;
;若#data=(Rn),則順序執(zhí)行,且0→CY;(2)比較轉(zhuǎn)移指令(4條)CJNERn,#data,145(2)比較轉(zhuǎn)移指令(4條)CJNE@Ri,#data,rel
;(PC)+3→PC
;若#data<((Ri)),則(PC)+rel→PC,且0→CY;
;若#data>((Ri)),則(PC)+rel→PC,且1→CY;
;若#data=((Ri)),則順序執(zhí)行,且0→CY;(2)比較轉(zhuǎn)移指令(4條)CJNE@Ri,#data,146(3)循環(huán)轉(zhuǎn)移指令(2條)程序每執(zhí)行一次本指令,將第1操作數(shù)的字
節(jié)變量減1,并判字節(jié)變量是否為0。若不為0,則繼續(xù)執(zhí)行循環(huán)程序段;若為0,則終止循環(huán)程序段的執(zhí)行,程序往
下執(zhí)行。DJNZRn,relDJNZdirect,rel(3)循環(huán)轉(zhuǎn)移指令(2條)程序每執(zhí)行一次本指令,將第1操作數(shù)147(3)循環(huán)轉(zhuǎn)移指令(2條)
DJNZRn,rel
;(PC)+2→PC,(Rn)-l→Rn;
;當(dāng)(Rn)≠0時(shí),則(PC)+rel→PC;
;當(dāng)(Rn)=0時(shí),則結(jié)束循環(huán),程序往下執(zhí)行。(3)循環(huán)轉(zhuǎn)移指令(2條)DJNZRn,148(3)循環(huán)轉(zhuǎn)移指令(2條)
DJNZdirect,rel
;(PC)+2→PC,(direct)-l→direct;
;當(dāng)(dierct)≠0時(shí),則(PC)+rel→PC;
;當(dāng)(direct)=0時(shí),則結(jié)束循環(huán),程序往下執(zhí)行(3)循環(huán)轉(zhuǎn)移指令(2條)DJNZdir1494、調(diào)用和返回指令程序設(shè)計(jì),有時(shí)需反復(fù)執(zhí)行某段程序,這段程序能被公用。這樣可減少程序編寫(xiě)工作量,于是引進(jìn)了主程序和子程序的概念。通常把具有一定功能的公用程序段作為子程序,指令系統(tǒng)中一般都有主程序調(diào)用子程序的指令和從
子程序返回主程序的指令。子程序的最后一條指令為返回主程序指令(RET)4、調(diào)用和返回指令程序設(shè)計(jì),有時(shí)需反復(fù)執(zhí)行某段程序,1504、調(diào)用和返回指令短調(diào)用指令
ACALLaddr11
長(zhǎng)調(diào)用指令LCALLaddr16返回指令RET返回指令RETI4、調(diào)用和返回指令短調(diào)用指令
ACALLaddr1151①短調(diào)用指令
ACALLaddr11
;(PC)+2→PC
;(SP)+1→SP;(PC0~7)→(SP);
;(SP)+1→SP;(PC8~15)→(SP);
;addr0~10→PC0~10;(PC11~15)不變①短調(diào)用指令A(yù)CALLaddr11
152①短調(diào)用指令短調(diào)用指令提供11位目標(biāo)地址,限定在2KB地址空間內(nèi)調(diào)用。雙字節(jié)、雙周期指令。執(zhí)行完本指令,程序計(jì)數(shù)器內(nèi)容先加2,指向下一條指令的地址;然后將PC值壓入堆棧保存,棧指針(SP)加2;接著將11位目標(biāo)地址(addr0~10)送程序計(jì)數(shù)器的低11位(PC0~10),PC值的高5位(PC11~15)不變。①短調(diào)用指令短調(diào)用指令提供11位目標(biāo)地址,限定在2KB地址空153例如:設(shè)符號(hào)地址“SUBRTN”所對(duì)應(yīng)的程 序存儲(chǔ)器實(shí)際地址為0345H,在 (PC)=0123H處
執(zhí)行指令A(yù)CALLSUBRTN例如:設(shè)符號(hào)地址“SUBRTN”所對(duì)應(yīng)的程 序存儲(chǔ)器154(SP)=09H,SUBRTN=0345H送PC,(PC)=0345H,程序轉(zhuǎn)向子程序首地址0345H單元開(kāi)始執(zhí)行。這里PC值得高5為內(nèi)容不變,僅把123H變成345H。尋址在0125H為起始地址的同一個(gè)2K字節(jié)范圍內(nèi)。(SP)=09H,155①長(zhǎng)調(diào)用指令
LCALLaddr16
;(PC)+3→PC
;(SP)+1→SP;(PC0~7)→(SP);
;(SP)+1→SP;(PC8~15)→(SP);
;addr0~15→PC0~15;①長(zhǎng)調(diào)用指令LCALLaddr16
156例如:設(shè)(SP)=07H,符號(hào)地址“SUBRTUN”指向程序存儲(chǔ)器的5678H(PC)=0123H。從0123H處執(zhí)行指令
LCALLSUBRTUN例如:設(shè)(SP)=07H,符號(hào)地址“SUBRTUN”指向程157③返回指令
RET;((SP))→PC8~15,(SP)-l→SP,
;((SP))→PC0~7,(SP)-l→SP。
從子程序返回指令。當(dāng)程序執(zhí)行到本指令時(shí),表示子程序結(jié)束返回調(diào)用指令(ACALL或LCALL)的下一條指令處(斷點(diǎn))繼續(xù)往下執(zhí)行。③返回指令RET158④返回指令(中斷)RETI;((SP))→PC8~15,(SP)-l→SP,
;((SP))→PC0~7,(SP)-l→SP。
RETI指令是中斷返回指令,
除具有RET指令的功能外,還將開(kāi)放中斷邏輯。④返回指令(中斷)RETI1593.3.5位操作指令(布爾操作)0、緒1、位數(shù)據(jù)傳送指令(2條)2、位修正指令(6條)3、邏輯運(yùn)算指令(4條)4、位條件轉(zhuǎn)移類指令(5條)3.3.5位操作指令(布爾操作)0、緒16089C51硬件結(jié)構(gòu)中有個(gè)位處理機(jī)(布爾處理機(jī)),它具有一套處理位變量的指令集,包括位變量傳送、邏輯運(yùn)算、控制程序轉(zhuǎn)移等指令。在進(jìn)行位操作時(shí),位累加器C即為進(jìn)位標(biāo)志CY
0、緒89C51硬件結(jié)構(gòu)中有個(gè)位處理機(jī)(布爾處理機(jī)),0、緒161位尋址區(qū):
片內(nèi)RAM字節(jié)地址20H--2FH單元中連續(xù)的128個(gè)位(位地址00H--7FH)和SFR中字節(jié)地址能被8整除的特殊功能寄存器。
0、緒位尋址區(qū):
片內(nèi)RAM字節(jié)地址20H--2FH單元中連續(xù)的1162在匯編語(yǔ)言中,位地址的表達(dá)方式有:直接(位)地址方式,如D4H點(diǎn)操作符號(hào)方式,如PSW.4位名稱方式,如RS1用戶定義名方式,如用偽指令bit
SUB.REGbitRS1經(jīng)定義后,允許指令中用SUB.REG代替RS1。
上面四種方式都可表示PSW(D0H)中的第4位。0、緒在匯編語(yǔ)言中,位地址的表達(dá)方式有:0、緒1631、位數(shù)據(jù)傳送指令(2條)上述指令把源操作數(shù)指定的位變量傳送到目
的操作數(shù)指定的位單元中。一個(gè)操作數(shù)為位地址,另一個(gè)必定為布爾累
加器C(即進(jìn)位標(biāo)志位CY)。MOVC,bitMOVbit,C1、位數(shù)據(jù)傳送指令(2條)上述指令把源操作數(shù)指定的位變量1641、位數(shù)據(jù)傳送指令(2條)此指令不影響其他寄存器或標(biāo)志位。位地址bit若為00H--7FH,則位地址在片內(nèi)
RAM(20H--2FH單元)中共128位。bit若為80H--FFH,則位地址在11個(gè)特殊功
能寄存器中。4個(gè)8位并行I/O口,每位均可單獨(dú)進(jìn)行操作因此,布爾I/O口共有32個(gè):P0.0--P0.7,P
1.0--P1.7,P2.0--2.7,P3.0--P3.7。1、位數(shù)據(jù)傳送指令(2條)此指令不影響其他寄存器或標(biāo)志位1652、位修正指令(6條)CLRC;位清0指令CLRbit;位清0指令SETBC;位置l指令SETBbit;位置l指令CPLC;位取反指令CPLbit;位取反指令2、位修正指令(6條)CLRC;位166這類指令的功能分別是清除、取反、置位
進(jìn)位標(biāo)志C或直接尋址位,執(zhí)行結(jié)果不影響其他標(biāo)志位。當(dāng)直接位地址為端口中某一位時(shí),具有“
讀--改--寫(xiě)"功能。2、位修正指令(6條)這類指令的功能分別是清除、取反、置位
進(jìn)位標(biāo)志C或直接1673、邏輯運(yùn)算指令(4條)(2)位邏輯“或”指令ORLC,bitORLC,/bit(1)位邏輯“與”指令A(yù)NLC,bitANLC,/bit3、邏輯運(yùn)算指令(4條)(2)位邏輯“或”指令(1)位邏1683、邏輯運(yùn)算指令(4條)這組指令的功能是,把位累加器C的內(nèi)容
與直接位地址的內(nèi)容進(jìn)行邏輯“與”、
“或”操作,結(jié)果再送回C中。斜杠“/”表示對(duì)該位取反后再參與運(yùn)算,
但不改變?cè)瓉?lái)的數(shù)值。3、邏輯運(yùn)算指令(4條)這組指令的功能是,把位累加器C的169單片機(jī)31教學(xué)講解課件1704、位條件轉(zhuǎn)移類指令(5條)(1)判布爾累加器C轉(zhuǎn)移指令
JCrelJNCrel4、位條件轉(zhuǎn)移類指令(5條)(1)判布爾累加器C轉(zhuǎn)移指令
1714、位條件轉(zhuǎn)移類指令(5條)分別對(duì)進(jìn)位標(biāo)志位C進(jìn)行檢測(cè),當(dāng)(C)=1(前一條)或(C)=0(后一條)時(shí),程序轉(zhuǎn)向目標(biāo)地址;否則,順序執(zhí)行下一條指令。目標(biāo)地址是(PC)+2后的PC當(dāng)前值(指向下一
條指令)加上指令的第二字節(jié)中帶符號(hào)的相對(duì)
地址(rel)之和。(1)判布爾累加器C轉(zhuǎn)移指令4、位條件轉(zhuǎn)移類指令(5條)分別對(duì)進(jìn)位標(biāo)志位C進(jìn)行檢測(cè),(11724、位條件轉(zhuǎn)移類指令(5條)(2)判位變量轉(zhuǎn)移指令
JBbit,relJNBbit,rel4、位條件轉(zhuǎn)移類指令(5條)(2)判位變量轉(zhuǎn)移指令
1734、位條件轉(zhuǎn)移類指令(5條)檢測(cè)指定位,若位變量為1(前一條指令)或位
變量為0(后一條指令),則程序轉(zhuǎn)向目標(biāo)地址去執(zhí)行;否則,順序執(zhí)行下一條指令。對(duì)該位變量進(jìn)行測(cè)試時(shí),不影響原變量值,
也不影響標(biāo)志位。目標(biāo)地址為(PC)+3后的PC當(dāng)前值(指向下一
條指令)加帶符號(hào)的相對(duì)偏移量之和。(2)判位變量轉(zhuǎn)移指令4、位條件轉(zhuǎn)移類指令(5條)檢測(cè)指定位,若位變量為1(前一條1744、位條件轉(zhuǎn)移類指令(5條)(3)判位變量并清0轉(zhuǎn)移指令
JBCbit,rel;(PC)+3→PC
;若(bit)=1則(PC)+rel→PC,0→bit
;若(bit)=0,則順序往下執(zhí)行。4、位條件轉(zhuǎn)移類指令(5條)(3)判位變量并清0轉(zhuǎn)移指令1754、位條件轉(zhuǎn)移類指令(5條)本指令對(duì)指定位變量檢測(cè),若位變量值為1,則清0該位,程序轉(zhuǎn)向目
標(biāo)地址去執(zhí)行;否則,順序往下執(zhí)行。注意,不管該位變量為何值,在進(jìn)行檢測(cè)
后即清0。目標(biāo)地址為(PC)+3后的PC當(dāng)前值加上指令
的第三字節(jié)中帶符號(hào)的8位偏移量。4、位條件轉(zhuǎn)移類指令(5條)本指令對(duì)指定位變量檢測(cè),176指令系統(tǒng)是熟悉單片機(jī)功能、開(kāi)發(fā)與應(yīng)用單片機(jī)的基礎(chǔ)。掌握指令系統(tǒng)必須與單片機(jī)的CPU結(jié)構(gòu)、存儲(chǔ)空間的分布、I/O端口的分布結(jié)合起來(lái),真正理解符號(hào)指令的操作含義,結(jié)合實(shí)際問(wèn)題多作程序分析和簡(jiǎn)單程序設(shè)計(jì),以便能達(dá)到好的效果。指令系統(tǒng)是熟悉單片機(jī)功能、開(kāi)發(fā)與應(yīng)用單片機(jī)的基礎(chǔ)。177第三章89C51單片機(jī)指令系統(tǒng)Exit§3.389C51單片機(jī)指令系統(tǒng)§3.1匯編語(yǔ)言§3.2尋址方式§3.4程序設(shè)計(jì)舉例第三章89C51單片機(jī)指令系統(tǒng)Exit§3.38178指令學(xué)習(xí)要點(diǎn)了解指令的操作了解指令的尋址格式了解指令對(duì)程序狀態(tài)字的影響合理使用指令指令學(xué)習(xí)要點(diǎn)179§3.1匯編語(yǔ)言§3.1.1指令和程序設(shè)計(jì)語(yǔ)言§3.1.2指令格式BACK§3.1匯編語(yǔ)言§3.1.1指令和程序設(shè)計(jì)語(yǔ)180§3.1匯編語(yǔ)言計(jì)算機(jī)指令系統(tǒng)是一套控制計(jì)算機(jī)操作的編碼,稱為機(jī)器語(yǔ)言。計(jì)算機(jī)只能識(shí)別和執(zhí)行機(jī)器語(yǔ)言的指令。為了便于記憶和使用,通常用符號(hào)指令(即匯編語(yǔ)言)來(lái)描述計(jì)算機(jī)的指令系統(tǒng)。不同的計(jì)算機(jī)有不同的匯編語(yǔ)言。BACK§3.1匯編語(yǔ)言計(jì)算機(jī)指令系統(tǒng)是一套控制計(jì)算機(jī)操作的181§3.1.1指令和程序設(shè)計(jì)語(yǔ)言指令:
是CPU根據(jù)人的意圖來(lái)執(zhí)行某種操作的
命令。指令系統(tǒng):
一臺(tái)計(jì)算機(jī)所能執(zhí)行的全部指令的集合。要使計(jì)算機(jī)按照人的思維完成一項(xiàng)工作,就必須讓CPU按順序執(zhí)行各種操作。
即一步步地執(zhí)行一條條的指令?!?.1.1指令和程序設(shè)計(jì)語(yǔ)言指令:
是CPU根182§3.1.1指令和程序設(shè)計(jì)語(yǔ)言程序:
按人的要求編排的指令操作序列稱為
程序。
程序設(shè)計(jì):
編寫(xiě)程序的過(guò)程就叫作程序設(shè)計(jì)?!?.1.1指令和程序設(shè)計(jì)語(yǔ)言程序:
按人的要求編排的183§3.1.1指令和程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言是實(shí)現(xiàn)人機(jī)交換信息的基本工具,分為:
機(jī)器語(yǔ)言
匯編語(yǔ)言
高級(jí)語(yǔ)言§3.1.1指令和程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言是實(shí)現(xiàn)人機(jī)交換信184§3.1.1指令和程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言:用二進(jìn)制編碼表示每條指令,是計(jì)算機(jī)能
直接識(shí)別和執(zhí)行的語(yǔ)言。用機(jī)器語(yǔ)言編寫(xiě)的程序稱為機(jī)器語(yǔ)言程序或指令程序(機(jī)器碼程序)。因?yàn)闄C(jī)器只能直接識(shí)別機(jī)器碼程序,所以又稱它為目標(biāo)程序?!?.1.1指令和程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言:185§3.1.1指令和程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言舉例:
要做“10+20”的加法,在MCS-51中可用機(jī)器碼指令編程:
0111010000001010把10放到累加器A中;
0010010000010100A加20,結(jié)果仍放在A中
為了便于書(shū)寫(xiě)和記憶,可采用十六進(jìn)制表示指令碼:740AH
2414H§3.1.1指令和程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言舉例:
要做“10186§3.1.1指令和程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言特點(diǎn):
用機(jī)器語(yǔ)言編寫(xiě)程序不易記憶,不易
查錯(cuò),不易修改?!?.1.1指令和程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言特點(diǎn):
用機(jī)器語(yǔ)187§3.1.1指令和程序設(shè)計(jì)語(yǔ)言匯編語(yǔ)言:用助記符、符號(hào)和數(shù)字等來(lái)表示指令的程序設(shè)計(jì)語(yǔ)言。它與機(jī)器語(yǔ)言指令是一一對(duì)應(yīng)的。它與機(jī)器語(yǔ)言指令是一一對(duì)應(yīng)的。
§3.1.1指令和程序設(shè)計(jì)語(yǔ)言匯編語(yǔ)言:188§3.1.1指令和程序設(shè)計(jì)語(yǔ)言匯編語(yǔ)言舉例:
例如:“10+20”例子可寫(xiě)成:
匯編語(yǔ)言程序
機(jī)器語(yǔ)言程序
MOVA,#0AH
740AH
ADDA,#14H
2414H§3.1.1指令和程序設(shè)計(jì)語(yǔ)言匯編語(yǔ)言舉例:
例如:“1189§3.1.1指令和程序設(shè)計(jì)語(yǔ)言匯編語(yǔ)言特點(diǎn):用與CPU的硬件結(jié)構(gòu)緊密相關(guān)。不同的CPU其匯編語(yǔ)言是不同的。匯編語(yǔ)言程序不能移植,使用不便。用匯編語(yǔ)言進(jìn)行程序設(shè)計(jì)必須了解所使用的CPU硬件的結(jié)的與性能,對(duì)程序設(shè)計(jì)人員有較高的要求。§3.1.1指令和程序設(shè)計(jì)語(yǔ)言匯編語(yǔ)言特點(diǎn):190§3.1.1指令和程序設(shè)計(jì)語(yǔ)言高級(jí)語(yǔ)言:
脫離具體機(jī)器的語(yǔ)言。§3.1.1指令和程序設(shè)計(jì)語(yǔ)言高級(jí)語(yǔ)言:
脫離具體機(jī)191§3.1.2指令格式89C51匯編語(yǔ)言指令由
操作碼助記符字段和操作數(shù)字段兩部分組成。指令格式如下:
操作碼[目的操作數(shù)][,源操作數(shù)][;注釋]
例如:
MOVA,#00H
§3.1.2指令格式89C51匯編語(yǔ)言指令由
操作碼192§3.1.2指令格式操作碼部分規(guī)定了指令所實(shí)現(xiàn)的操作功能,由2--5個(gè)英文字母表示。
例如,JB,
MOV,
DJNZ,
LCALL等?!?.1.2指令格式操作碼部分193§3.1.2指令格式操作數(shù)部分
指出了參與操作的數(shù)據(jù)來(lái)源和操作結(jié)果存放的目的單元。
操作數(shù)可以直接是一個(gè)數(shù)(立即數(shù)),或者是一個(gè)數(shù)據(jù)所在的空間地址,即在執(zhí)行指令時(shí)從指定的地址空間取出操作數(shù)。§3.1.2指令格式操作數(shù)部分
194§3.1.2指令格式操作碼和操作數(shù)都有對(duì)應(yīng)的二進(jìn)制代碼,指令代碼由若干字節(jié)組成。對(duì)于不同的指令,指令的字節(jié)數(shù)不同。
89C51指令系統(tǒng)中,有:
1、單字節(jié)指令
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 茶藝師中級(jí)理論模擬習(xí)題+參考答案
- 2025年新高考藝術(shù)生數(shù)學(xué)突破講義 專題28 統(tǒng)計(jì)案例和回歸方程
- 河南藝術(shù)職業(yè)學(xué)院《城市控制性詳細(xì)規(guī)劃》2023-2024學(xué)年第二學(xué)期期末試卷
- 武漢學(xué)院《創(chuàng)新創(chuàng)業(yè)思維與訓(xùn)練》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州幼兒師范高等??茖W(xué)校《漢語(yǔ)作為第二語(yǔ)言教學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶郵電大學(xué)《美國(guó)文學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東農(nóng)工商職業(yè)技術(shù)學(xué)院《工程概預(yù)算設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 知識(shí)經(jīng)濟(jì)時(shí)代知識(shí)產(chǎn)權(quán)的創(chuàng)新應(yīng)用與實(shí)踐
- 環(huán)境設(shè)計(jì)對(duì)員工工作幸福感的影響研究
- 環(huán)境教育與可持續(xù)發(fā)展的推動(dòng)力
- 一年級(jí)語(yǔ)文教材解讀分析ppt
- 萬(wàn)人計(jì)劃藍(lán)色簡(jiǎn)約萬(wàn)人計(jì)劃青年拔尖人才答辯PPT模板
- 統(tǒng)編高中《思想政治》教材編寫(xiě)理念和內(nèi)容介紹
- 高質(zhì)量SCI論文入門(mén)必備從選題到發(fā)表全套課件
- 民政局離婚協(xié)議書(shū)模板(8篇)
- 2022年普通高等學(xué)校招生全國(guó)統(tǒng)一考試數(shù)學(xué)試卷 新高考Ⅰ卷(含解析)
- (完整版)中心醫(yī)院心血管學(xué)科的專科建設(shè)與發(fā)展規(guī)劃
- 勞動(dòng)合同法草案的立法背景與創(chuàng)新黎建飛中國(guó)人民大學(xué)法學(xué)院教授
- 第三章 檢測(cè)儀表與傳感器
- 服裝QC尾期查貨報(bào)告(中英雙語(yǔ))
- 電機(jī)學(xué)辜承林(第三版)第1章
評(píng)論
0/150
提交評(píng)論