




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單片機(jī)應(yīng)用技術(shù)
(C語(yǔ)言版)
第3章MCS-51指令系統(tǒng)及
匯編程序設(shè)計(jì)9/19/20231單片機(jī)應(yīng)用技術(shù)
(C語(yǔ)言版)
第3章MCS-51指令第3章MCS-51指令系統(tǒng)
及匯編程序設(shè)計(jì)目錄3.1基本概念3.2MCS-51單片機(jī)指令系統(tǒng)3.3匯編語(yǔ)言程序格式及偽指令3.4匯編語(yǔ)言程序設(shè)計(jì)方法9/19/20232第3章MCS-51指令系統(tǒng)
及匯編程序設(shè)計(jì)目錄8/6/3.1基本概念主要內(nèi)容3.1.1匯編語(yǔ)言格式3.1.2指令中常用符號(hào)3.1.3尋址方式9/19/202333.1基本概念主要內(nèi)容8/6/202333.1.1匯編語(yǔ)言格式
一、指令和指令系統(tǒng)
指令:是計(jì)算機(jī)中CPU根據(jù)人的意圖來(lái)執(zhí)行某種操作的命令。
指令系統(tǒng):是一臺(tái)計(jì)算機(jī)(CPU)所能執(zhí)行的全部指令的集合。
9/19/202343.1.1匯編語(yǔ)言格式 一、指令和指令系統(tǒng)8/6/202
二、程序和程序設(shè)計(jì)語(yǔ)言
程序:人們編寫(xiě)的、使計(jì)算機(jī)完成某項(xiàng)工作的指令序列,稱(chēng)為程序。
程序設(shè)計(jì)語(yǔ)言:編寫(xiě)程序的一整套規(guī)則、方法。
程序設(shè)計(jì)語(yǔ)言分類(lèi):分為機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言等。9/19/20235 二、程序和程序設(shè)計(jì)語(yǔ)言8/6/20235
三、機(jī)器語(yǔ)言
機(jī)器語(yǔ)言:用二進(jìn)制編碼表示每條指令,是計(jì)算機(jī)能夠直接識(shí)別和執(zhí)行的語(yǔ)言。
目標(biāo)程序:用機(jī)器語(yǔ)言編寫(xiě)的程序。 例如“13+25”,在MCS-51中的機(jī)器碼為 0111010000001101 0010010000011001
9/19/20236 三、機(jī)器語(yǔ)言8/6/20236
四、匯編語(yǔ)言:用助記符、符號(hào)、數(shù)字等表示指令的程序語(yǔ)言。
例如,上面的“13+25”的例子可寫(xiě)成:匯編語(yǔ)言程序
機(jī)器語(yǔ)言代碼MOVA,#0DH 74H0DHADDA,#19H 24H19H
相對(duì)于機(jī)器語(yǔ)言來(lái)說(shuō),匯編語(yǔ)言容易理解和記憶。
匯編語(yǔ)言和機(jī)器語(yǔ)言都屬于低級(jí)語(yǔ)言。9/19/20237 四、匯編語(yǔ)言:用助記符、符號(hào)、數(shù)字等表示指令的程序語(yǔ)言。8
五、MCS-51匯編語(yǔ)言指令格式
其一般格式如下:[標(biāo)號(hào):]操作碼[目的操作數(shù)][,源操作數(shù)][;注釋] 方括號(hào)中的內(nèi)容可以沒(méi)有,即可以沒(méi)有標(biāo)號(hào)、操作數(shù)和注釋?zhuān)辽僖胁僮鞔a。9/19/20238 五、MCS-51匯編語(yǔ)言指令格式8/6/20238 例如:
START: MOV A,#23H;23H→A “START”為標(biāo)號(hào) “MOV”為操作碼 “A,#23H”為操作數(shù) “23H→A”為注釋9/19/20239 例如:8/6/20239 3.1.2指令中常用符號(hào)
Rn:
n=0~7。當(dāng)前選中的工作寄存器R0~R7。
Ri: i=0、1。當(dāng)前選中的工作寄存器組中可作為地址指針的R0和R1。
#data:
8位立即數(shù)。
#data16:16位立即數(shù)。
direct:
8位片內(nèi)RAM單元地址,含SFR。
addr16:
程序存儲(chǔ)空間的16位地址
9/19/202310 3.1.2指令中常用符號(hào)8/6/20231
rel:補(bǔ)碼形式的8位地址偏移量。地址偏移量,在-128~+127。
bit:片內(nèi)RAM或SFR中的直接尋址位地址
/bit——指定位求反,再參與邏輯操作,但取反后不影響該位的原值
@:間址寄存器的前綴符號(hào),表示間接尋址。9/19/202311 rel:補(bǔ)碼形式的8位地址偏移量。地址偏移量,在-128
(×):
表示×中的內(nèi)容
((×)): 表示由×中指向的地址單元中的內(nèi)容
←、→:
指令操作流程,將內(nèi)容送到箭頭指向的地方$——當(dāng)前指令地址
MOV A,#23H;23H→A9/19/202312 (×): 表示×中的內(nèi)容8/6/2023123.1.3尋址方式
主要內(nèi)容1立即數(shù)尋址2直接尋址3寄存器尋址4寄存器間接尋址5變址尋址6 相對(duì)尋址7位尋址9/19/2023133.1.3尋址方式主要內(nèi)容8/6/202313
尋址方式:就是指CPU尋找參與運(yùn)算的(源)操作數(shù)的方式。(尋找操作數(shù)所在單元地址的方式。)
7種尋址方式:立即數(shù)尋址、直接尋址、寄存器尋址、寄存器間接尋址、變址尋址、相對(duì)尋址和位尋址。9/19/202314 尋址方式:就是指CPU尋找參與運(yùn)算的(源)操作數(shù)的方式1立即數(shù)尋址
立即數(shù)尋址也叫立即尋址、常數(shù)尋址。其操作數(shù)就在指令中,是指令的一部分,緊跟在操作碼后面,用“#”符號(hào)作前綴,以區(qū)別地址。例如: MOVA,#2CH;2CH→A 表示把2CH這個(gè)數(shù)送給累加器A9/19/2023151立即數(shù)尋址 立即數(shù)尋址也叫立即尋址、常數(shù)尋址。其操作
立即數(shù)也可以是16位的,如:
MOV DPTR,#1234H
立即數(shù)的低8位送給了DPL,高8位送給了DPH。
9/19/202316 立即數(shù)也可以是16位的,如:8/6/2023162直接尋址
直接尋址:是指操作數(shù)存放在片內(nèi)RAM中,指令中給出操作數(shù)的地址。例如: MOV A,30H ;(30H)→A
說(shuō)明:
(1)直接尋址方式可以訪問(wèn)片內(nèi)RAM的低128字節(jié)和所有的特殊功能寄存器。 低128BRAM
data區(qū)特殊功能寄存器80HFFH00H7FH9/19/2023172直接尋址 直接尋址:是指操作數(shù)存放在片內(nèi)RAM中,指對(duì)于特殊功能寄存器,既可以使用地址,也可以使用SFR名(P21)。例如: MOV A,P1
或
MOV A,90H
9/19/202318對(duì)于特殊功能寄存器,既可以使用地址,也可以使用SFR(2)直接尋址不能夠訪問(wèn)片內(nèi)RAM的高128字節(jié)(增強(qiáng)型),高128字節(jié)只能夠間接訪問(wèn)。低128BRAM
data區(qū)高128BRAMidata區(qū)特殊功能寄存器00H7FH80HFFH80HFFH增強(qiáng)型單片機(jī)片內(nèi)RAM9/19/202319(2)直接尋址不能夠訪問(wèn)片內(nèi)RAM的高128字節(jié)(增強(qiáng)型),3寄存器尋址
寄存器尋址:就是由指令指出寄存器組R0~R7中某一個(gè)或寄存器A、B、DPTR的內(nèi)容作為操作數(shù)。9/19/2023203寄存器尋址 寄存器尋址:就是由指令指出寄存器組R0~9/19/2023218/6/202321例如: MOVA,R7 ;(R7)→A MOV 36H,A ;(A)→36H ADD A,R0 ;(A)+(R0)→A 對(duì)于工作寄存器組的操作,必須要考慮PSW中RS1、RS0的值(P22),確定當(dāng)前使用的是哪一組寄存器以及它們的實(shí)際地址。
9/19/202322例如:8/6/2023224寄存器間接尋址
寄存器間接尋址:由指令指出某一寄存器的內(nèi)容作為操作數(shù)地址的尋址方式。
存放地址的寄存器稱(chēng)為間址寄存器,在指令中,在寄存器前面加前綴“@”表示。 MCS-51單片機(jī)規(guī)定,使用Ri(i=0、1,即指R0、R1)、SP和DPTR作間址寄存器。 寄存器間接尋址有以下幾種情況。9/19/2023234寄存器間接尋址 寄存器間接尋址:由指令指出某一寄存器
一、使用Ri間接訪問(wèn)片內(nèi)RAM
間接訪問(wèn)的范圍:256字節(jié)(包括低128字節(jié)和高128字節(jié)),但不包括特殊功能寄存器。例如: MOV A,@Ri ;((Ri))→A MOV @Ri,A ;(A)→(Ri)
((Ri)):表示Ri中內(nèi)容為地址的數(shù)據(jù)。 操作過(guò)程如圖3-3所示。9/19/202324 一、使用Ri間接訪問(wèn)片內(nèi)RAM8/6/202324圖3-3間接尋址(MOVA,@R0)示意圖②62HA::62H→98H—
①98HR0::片內(nèi)RAMR0的內(nèi)容為地址,將該地址中的內(nèi)容傳送給累加器A。9/19/202325圖3-3間接尋址(MOVA,@R0)示意圖②6
二、使用DPTR間接訪問(wèn)片外RAM
間接訪問(wèn)的范圍:片外RAM的64KB全空間。其指令也是只有兩條: MOVX A,@DPTR ;((DPTR))→A MOVX@DPTR,A ;(A)→(DPTR) DPTR為16位地址。9/19/202326 二、使用DPTR間接訪問(wèn)片外RAM8/6/2023265變址尋址(訪問(wèn)空間為ROM)
變址尋址:基址加變址的間接尋址。指令中給出存放基址和變址的寄存器。
基地址寄存器:DPTR或PC;
變址寄存器:累加器A。
也在地址寄存器前面加上前綴“@”。例如: MOVC A,@A+DPTR ;((A)+(DPTR))→A 該指令的操作過(guò)程如圖3-4所示。
DPTR內(nèi)容與A中內(nèi)容相加作為地址,將該地址中的內(nèi)容傳送給A。9/19/2023275變址尋址(訪問(wèn)空間為ROM) 變址尋址:基址加變址的MOVCA,@A+DPTR ;((A)+(DPTR))→A9/19/202328MOVCA,@A+DPTR ;((A)+(DPTR))→
變址尋址的空間為程序存儲(chǔ)器
尋址范圍: 若使用DPTR為基地址寄存器,尋址范圍為64KB; 若使用PC為基地址寄存器,尋址空間在PC之后256字節(jié)范圍內(nèi)。9/19/202329 變址尋址的空間為程序存儲(chǔ)器8/6/202329例:已知片外ROM中的0302H單元中有一個(gè)常數(shù)x,現(xiàn)欲把它取到累加器A中,請(qǐng)寫(xiě)出程序。 MOVDPTR,#0300H MOVA,#02H MOVCA,@A+DPTR
問(wèn):MOVCA,@0302H是否對(duì)?9/19/202330例:已知片外ROM中的0302H單元中有一個(gè)常數(shù)x,現(xiàn)欲把它
6相對(duì)尋址(用于跳轉(zhuǎn)指令)
相對(duì)尋址:是以當(dāng)前程序計(jì)數(shù)器PC值為基地址,加上指令中給出的偏移量rel,得到目標(biāo)位置的地址。即: 目標(biāo)地址=PC+rel∴ rel=目標(biāo)地址-PC
偏移量rel為8位補(bǔ)碼,其值為-128~+127。rel<0程序向回跳轉(zhuǎn);rel>0,程序向前跳轉(zhuǎn)。9/19/202331 6相對(duì)尋址(用于跳轉(zhuǎn)指令)8/6/202331 例如: SJMP54H
說(shuō)明: (1)在實(shí)際編程中,不需要計(jì)算rel,rel由編譯器自動(dòng)計(jì)算;
(2)當(dāng)跳轉(zhuǎn)范圍超出了rel范圍,編譯器會(huì)提示,對(duì)程序做適當(dāng)調(diào)整即可。9/19/202332 例如:8/6/2023327位尋址
位尋址:是指操作數(shù)是二進(jìn)制位、位地址
位操作數(shù)地址范圍:片內(nèi)RAM中20H~2FH,SFR中可以按位尋址的位。 例如: SETB 3DH9/19/2023337位尋址 位尋址:是指操作數(shù)是二進(jìn)制位、位地址8/6/
位地址的3種表示方式:
1)直接位地址(00H~7FH)。如32H
2)字節(jié)地址帶位號(hào)。如20H.1,表示20H單元的第1位。
3)特殊功能寄存器名帶位號(hào)。如P1.7,表示P1口的第7位。9/19/202334 位地址的3種表示方式:8/6/2023349/19/2023358/6/2023353.2MCS-51單片機(jī)指令系統(tǒng)
主要內(nèi)容3.2.1數(shù)據(jù)傳送與交換指令3.2.2算術(shù)操作類(lèi)指令3.2.3邏輯運(yùn)算指令3.2.4控制轉(zhuǎn)移類(lèi)指令3.2.5位操作指令9/19/2023363.2MCS-51單片機(jī)指令系統(tǒng)主要內(nèi)容8/6/202指令概述(P266附錄C) MCS-51單片機(jī)指令系統(tǒng)有111條指令,分類(lèi)如下。
1、按字節(jié)分類(lèi)
單字節(jié)指令:49條; 雙字節(jié)指令:45條
三字節(jié)指令:17條
2、按執(zhí)行時(shí)間分類(lèi)
單周期指令:64條; 雙周期指令:45條
四周期指令:2條(乘、除指令)9/19/202337指令概述(P266附錄C)8/6/202337
3、按功能分類(lèi)(分為5大類(lèi)) 數(shù)據(jù)傳送指令:29條 算術(shù)運(yùn)算指令:24條 邏輯運(yùn)算指令:24條 控制程序轉(zhuǎn)移指令:17條 位操作指令:17條
MCS-51指令沒(méi)有復(fù)雜的尋址方式,并且助記符只有42種。
9/19/202338 3、按功能分類(lèi)(分為5大類(lèi))8/6/2023383.2.1數(shù)據(jù)傳送指令 數(shù)據(jù)傳送是使用最頻繁的一類(lèi)指令。 所謂傳送,就是把源地址單元的內(nèi)容傳送到目的地址單元中去,而源地址單元中的內(nèi)容不變。
數(shù)據(jù)傳送指令可以分為三組:普通傳送指令、數(shù)據(jù)交換指令、堆棧操作指令。
9/19/2023393.2.1數(shù)據(jù)傳送指令 數(shù)據(jù)傳送是使用最頻繁的一類(lèi)指令
一、普通傳送指令
普通傳送指令以助記符MOV為基礎(chǔ),分為: 片內(nèi)數(shù)據(jù)存儲(chǔ)器傳送指令,用MOV 片外數(shù)據(jù)傳送指令,用MOVX 程序存儲(chǔ)器傳送指令,用MOVC9/19/202340 一、普通傳送指令8/6/202340
1、片內(nèi)數(shù)據(jù)存儲(chǔ)器傳送指令MOV
格式:
MOV目的操作數(shù),源操作數(shù)
源操作數(shù):可以是A、Rn、@Ri、direct、#data
目的操作數(shù):可以是A、Rn、@Ri、direct、DPTR 以目的操作數(shù)的不同可以分為五個(gè)小組,共16條指令。
9/19/202341 1、片內(nèi)數(shù)據(jù)存儲(chǔ)器傳送指令MOV8/6/202341
(1)以A為目的操作數(shù)
MOVA,Rn
;(Rn)→A
MOV A,direct
;(direct)→A
MOV A,@Ri
;((Ri))→A
MOV A,#data
;data→A
工作寄存器Rn:R0~R7
Ri間接尋址寄存器:R0或R1
本組4條指令都影響PSW中的P標(biāo)志位 指令字節(jié)數(shù):1、2、1、29/19/202342 (1)以A為目的操作數(shù)8/6/202342
(2)以Rn為目的操作數(shù)
MOV Rn,A ;(A)→Rn
MOV Rn,direct ;(direct)→Rn
MOV Rn,#data ;data→Rn
注意:MOVRn,Rn(錯(cuò)誤)(P32(2)①)本組指令都不影響PSW中的標(biāo)志位。 指令字節(jié)數(shù):1、2、2
9/19/202343 (2)以Rn為目的操作數(shù)8/6/202343
(3)以直接地址direct為目的操作數(shù)
MOV direct,A ;(A)→direct
MOV direct,Rn ;(Rn)→direct
MOV direct2,direct1
;(direct1)→direct2
MOV direct,@Ri ;((Ri))→direct
MOV direct,#data ;data→direct
本組指令都不影響PSW中的標(biāo)志位 指令字節(jié)數(shù):2、2、3、2、3
9/19/202344 (3)以直接地址direct為目的操作數(shù)8/6/2023
(4)以間接地址@Ri為目的操作數(shù)
MOV @Ri,A ;(A)→(Ri)
MOV @Ri,direct ;(direct)→(Ri)
MOV @Ri,#data ;data→(Ri)
本組指令都不影響PSW中的標(biāo)志位。
9/19/202345 (4)以間接地址@Ri為目的操作數(shù)8/6/202345
(5)以DPTR為目的操作數(shù)
MOV DPTR,#data16
;dataH→DPH,dataL→DPL
9/19/202346 (5)以DPTR為目的操作數(shù)8/6/202346例設(shè)片內(nèi)RAM中(30H)=40H,(40H)=10H,分析以下程序執(zhí)行后各單元及寄存器中的內(nèi)容。
MOV R0,#30H
;30H→R0
MOV A,@R0
;((R0))→A
MOV R1,A
;(A)→R1
MOV B,@R1
;((R1))→B
MOV 10H,#20H ;20H→10H 執(zhí)行上述指令后的結(jié)果為:
(R0)=30H, (R1)=(A)=40H, (B)=10H, (10H)=20H9/19/202347例設(shè)片內(nèi)RAM中(30H)=40H,(40H)=10H,
2、片外數(shù)據(jù)存儲(chǔ)器傳送指令MOVX(P31)
MOVX A,@Ri ;((Ri))→A
MOVX @Ri,A ;A→(Ri)
MOVX A,@DPTR ;((DPTR))→A
MOVX @DPTR,A ;A→(DPTR)
第1和第2條指令用于訪問(wèn)外部RAM的低地址區(qū),地址范圍:0000H-00FFH。第3和第4條指令用于訪問(wèn)外部RAM的64K字節(jié)區(qū),地址范圍:0000H-FFFFH。
9/19/202348 2、片外數(shù)據(jù)存儲(chǔ)器傳送指令MOVX(P31)8/6/20注:(1)四條指令都為寄存器間接尋址(2)四條指令都是通過(guò)累加器A進(jìn)行數(shù)據(jù)傳輸?shù)模≒3211②④⑧)9/19/202349注:(1)四條指令都為寄存器間接尋址8/6/202349
例
設(shè)片外RAM空間(0203H)=6FH,分析執(zhí)行下面指令后的結(jié)果。
MOV DPTR,#0203H
MOVX A,@DPTR
MOV 30H,A
MOV A,#0FH
MOVX @DPTR,A
執(zhí)行結(jié)果為:(DPTR)=0203H, (30H)=6FH,(0203H)=(A)=0FH9/19/202350 例設(shè)片外RAM空間(0203H)=6FH,分析執(zhí)行下
3、程序存儲(chǔ)器傳送指令MOVC(屬于變址尋址)(P31) 該類(lèi)指令又稱(chēng)為查表指令,經(jīng)常用于查表。這類(lèi)指令只有以下2條單字節(jié)指令。
MOVC A,@A+DPTR;((A)+(DPTR))→A
MOVC A,@A+PC ;((A)+(PC))→A
前者叫遠(yuǎn)程查表指令(64KB全空間),后者叫近程查表指令(PC處256B)。(P3211③)9/19/202351 3、程序存儲(chǔ)器傳送指令MOVC(屬于變址尋址)(P31)
二、數(shù)據(jù)交換指令
數(shù)據(jù)交換指令要求第一個(gè)操作數(shù)必須為累加器A。 共5條指令,分為字節(jié)交換和半字節(jié)交換兩個(gè)類(lèi)型。
9/19/202352 二、數(shù)據(jù)交換指令8/6/202352
1、字節(jié)交換指令(P31底)
XCH A,Rn ;(A)←→(Rn)
XCH A,direct ;(A)←→(direct)
XCH A,@Ri ;(A)←→((Ri))
(P3211⑥)XCHR1,R2
2、低半字節(jié)交換指令(低四位交換)(P32)
XCHD A,@Ri;(A0~3)←→((Ri)0~3)
3、A自身半字節(jié)交換指令(P36)
SWAP A ;(A0~3)←→(A4~7)
9/19/202353 1、字節(jié)交換指令(P31底)8/6/202353
例設(shè)(R0)=30H,(30H)=4AH,(A)=28H,則分別執(zhí)行“XCHA,R0”、“XCHA,@R0”“XCHDA,@R0”、“SWAPA”后各單元的內(nèi)容。
執(zhí)行:XCH A,R0 ;后(A)=30H,(R0)=28H 執(zhí)行:XCH A,@R0 ;后(A)=4AH,(30H)=28H
執(zhí)行:XCHD A,@R0 ;后(A)=2AH,(30H)=48H 執(zhí)行:SWAP A;后(A)=82H9/19/202354 例設(shè)(R0)=30H,(30H)=4AH,(A)=2
三、堆棧操作指令(P306,屬于直接尋址) 堆棧操作有進(jìn)棧和出棧兩條指令,常用于保存和恢復(fù)現(xiàn)場(chǎng)。
PUSH direct ;先(SP)+1→SP, ;后(direct)→(SP)
POP direct ;先((SP))→direct, ;后(SP)-1→SP PUSH為進(jìn)棧操作,POP為出棧操作。
設(shè)(30H)=x,將x保存起來(lái)MOVSP#70HPUSH30HPOP30H9/19/202355 三、堆棧操作指令(P306,屬于直接尋址)設(shè)(30H)
注意:(1)進(jìn)棧與出棧必須成對(duì)使用;(2)先進(jìn)棧的必須后出棧,后進(jìn)棧的必須先出棧,否則會(huì)出現(xiàn)DPL與DPH內(nèi)容互換。PUSH DPHPUSH DPLPOP DPLPOP DPH9/19/202356 注意:(1)進(jìn)棧與出棧必須成對(duì)使用;(2)先進(jìn)棧的必須后習(xí)題(P3211.(1))1.MOVA,#1000H ;A←1000H2.MOVXA,1000H ;A←(1000H)片外RAM3.MOVCA,1000H ;A←(1000H)片外ROM4.MOVX60H,A ;片外RAM(60H)←A5.MOVR0,60H ;片內(nèi)RAM:(61H)←(60H) MOV61H,@R06.XCHR1,R2 ;R1←→R27.MOVXDPTR,#2000H;DPTR←2000H8.MOVX60H,@DPTR ;片內(nèi)RAM←片外RAM下列指令是否錯(cuò)誤9/19/202357習(xí)題(P3211.(1))1.MOVA,#1009/19/2023588/6/2023583.2.2算術(shù)運(yùn)算指令
指令內(nèi)容:包括加、減、乘、除、BCD碼調(diào)整等指令,共有24條。
對(duì)標(biāo)志位的影響:結(jié)果會(huì)影響進(jìn)位標(biāo)志CY、半進(jìn)位標(biāo)志AC、溢出標(biāo)志OV、奇偶標(biāo)志位P,但加1和減1指令不影響這些標(biāo)志位。9/19/2023593.2.2算術(shù)運(yùn)算指令 指令內(nèi)容:包括加、減、乘、除、PSW寄存器Cy:進(jìn)位標(biāo)志位(位7有進(jìn)位)AC:輔助進(jìn)位標(biāo)志位(位3有進(jìn)位)F0:供用戶使用的標(biāo)志位OV:溢出標(biāo)志位(位6有進(jìn)位,位7沒(méi)進(jìn)位;或位7有進(jìn)位,位6沒(méi)進(jìn)位)P:奇偶標(biāo)志位A中數(shù)據(jù)的奇偶性。當(dāng)1的個(gè)數(shù)為奇數(shù),P=1,否則P=0。9/19/202360PSW寄存器Cy:進(jìn)位標(biāo)志位(位7有進(jìn)位)8/6/20236
一、加法指令 分為不帶進(jìn)位加法、帶進(jìn)位加法和加1指令
1、不帶進(jìn)位加法指令A(yù)DD
ADD A,Rn ;(A)+(Rn)→A
ADD A,direct ;(A)+(direct)→A
ADD A,@Ri ;(A)+((Ri))→A
ADD A,#data ;(A)+data→A
這組指令影響標(biāo)志位CY、AC、OV和P,溢出標(biāo)志OV只對(duì)有符號(hào)運(yùn)算有意義。
9/19/202361 一、加法指令8/6/202361例(A)=53H,(R0)=FCH,執(zhí)行ADDA,R09/19/202362例(A)=53H,(R0)=FCH,執(zhí)行ADDA,R注意:
溢出標(biāo)志OV只影響有符號(hào)數(shù)的加法運(yùn)算,若OV=0,則A中結(jié)果正確;若OV=1,則A中結(jié)果不正確,只能看成無(wú)符號(hào)數(shù)。9/19/202363注意:8/6/202363
2、帶進(jìn)位加法指令A(yù)DDC
ADDC A,Rn ;(A)+(Rn)+CY→A
ADDC A,direct;(A)+(direct)+CY→A
ADDC A,@Ri ;(A)+((Ri))+CY→A
ADDC A,#data ;(A)+data+CY→A 這組指令影響標(biāo)志位CY、AC、OV和P,溢出標(biāo)志OV只對(duì)有符號(hào)運(yùn)算有意義。注:Cy偽指令執(zhí)行前的Cy值,不是指令執(zhí)行過(guò)程中形成的Cy值。
9/19/202364 2、帶進(jìn)位加法指令A(yù)DDC8/6/202364
3、加1指令I(lǐng)NC
INC A
;(A)+1→A
INC Rn
;(Rn)+1→Rn
INC direct;(direct)+1→direct
INC @Ri
;((Ri))+1→(Ri)
INC DPTR
;(DPTR)+1→DPTR 這組指令除了第一條影響標(biāo)志位P之外,其它指令不影響標(biāo)志位。(A)=FFH,(Cy)=0,執(zhí)行INCA后,Cy=?
9/19/202365 3、加1指令I(lǐng)NC8/6/202365
二、減法指令 減法指令分為帶借位減法指令和減1指令。
1、帶借位減法指令SUBB(自帶Cy減法指令)
SUBB A,Rn;(A)-(Rn)-CY→A
SUBB A,direct;(A)-(direct)-CY→A
SUBB A,@Ri ;(A)-((Ri))-CY→A
SUBB A,#data ;(A)-data-CY→A
9/19/202366 二、減法指令8/6/202366
2、減1指令DEC
DEC A ;(A)-1→A
DEC Rn ;(Rn)-1→Rn
DEC direct;(direct)-1→direct
DEC @Ri
;((Ri))-1→(Ri) 這組指令除了第一條影響標(biāo)志位P之外,其它指令不影響標(biāo)志位。9/19/202367 2、減1指令DEC8/6/202367
三、乘法指令MUL 在MCS-51單片機(jī)中,乘法指令只有一條。
MULAB
;(A)×(B)→B(高8位)、A(低8位)(1)A,B均為無(wú)符號(hào)整數(shù)
(2)對(duì)標(biāo)志位的影響:若乘積大于0FFH,OV置1,否則OV清0;影響P標(biāo)志位;對(duì)CY總是清0。
9/19/202368 三、乘法指令MUL8/6/202368
四、除法指令DIV
DIV AB ;(A)/(B),商→A、余→B
(1)A,B均為無(wú)符號(hào)整數(shù)
(2)對(duì)標(biāo)志位的影響:如果除數(shù)(B)=0,則標(biāo)志位OV置1,否則清0;影響P標(biāo)志位;CY總是被清0。
9/19/202369 四、除法指令DIV8/6/2023693.2.3邏輯操作指令
邏輯操作指令包括與、或、異或、清0、求反、移位等操作指令,共有24條。
指令中的操作數(shù):
A、Rn、direct、@Ri、#data 為了便于討論,將其分為5組進(jìn)行討論。9/19/2023703.2.3邏輯操作指令 邏輯操作指令包括與、或、異或、
1、累加器A清0和求反指令 CLR A ;0→A CPL A ;(A)→A 前一條指令是對(duì)A清0,該指令影響奇偶標(biāo)志位P。后一條指令是對(duì)A求反,不影響任何標(biāo)志位。
9/19/202371 1、累加器A清0和求反指令8/6/202371
2、循環(huán)移位指令
A循環(huán)左移:
RLA;
A循環(huán)右移:RRA;
A帶進(jìn)位循環(huán)左移:RLCA;
A帶進(jìn)位循環(huán)右移:RRCA;
說(shuō)明:(1)這4條指令,每執(zhí)行一次只移動(dòng)1位;(2)左移一次相當(dāng)于乘以2,右移一次相當(dāng)于除以2。
對(duì)標(biāo)志位影響:僅后兩條指令影響CY和Pa7←a0a7→a0a7→a0CYa7←a0CY9/19/202372 2、循環(huán)移位指令a7←a0a7→a0a7→a
3、邏輯與指令A(yù)NL
ANL A,Rn ;(A)∧(Rn)→A
ANL A,direct ;(A)∧(direct)→A
ANLA,@Ri ;(A)∧((Ri))→A
ANL A,#data ;(A)∧data→A
ANL direct,A ;(direct)∧(A)→direct
ANL direct,#data;(direct)∧data→direct 作用:用于使某些位清0。
9/19/202373 3、邏輯與指令A(yù)NL8/6/202373
4、邏輯或指令ORLORL A,Rn ;(A)∨(Rn)→A
ORL A,direct ;(A)∨(direct)→A
ORL A,@Ri ;(A)∨((Ri))→A
ORL A,#data ;(A)∨data→A
ORL direct,A ;(direct)∨(A)→direct
ORL direct,#data;(direct)∨data→direct 作用:用于使某些位置1。
目標(biāo)地址9/19/202374 4、邏輯或指令ORL目標(biāo)地址8/6/202374
5、邏輯異或指令XRL
XRL A,Rn ;(A)
(Rn)→A
XRLA,direct ;(A)
(direct)→A
XRLA,@Ri ;(A)
((Ri))→A
XRLA,#data ;(A)
data→A
XRLdirect,A ;(direct)
(A)→direct
XRLdirect,#data;(direct)
data→direct 作用:用于使某些位取反,其余位不變。
用1異或使對(duì)應(yīng)位取反,用0異或使對(duì)應(yīng)位保留(不變);自身異或,實(shí)現(xiàn)清零。9/19/202375 5、邏輯異或指令XRL8/6/202375
例寫(xiě)出完成以下各功能的指令: 1)只對(duì)累加器A中的1、3、5位清0; 2)只對(duì)A中的2、4、6位置1; 3)只對(duì)A中的0、1、6、7位取反。4)使(A)=AAH的高四位不變,低四位取反。
對(duì)應(yīng)指令如下: ANL A,#11010101B
ORL A,#01010100B XRL A,#11000011B
XRL
A,#00001111B9/19/202376 例寫(xiě)出完成以下各功能的指令:8/6/2023763.2.4控制轉(zhuǎn)移類(lèi)指令
MCS-51單片機(jī)有17條轉(zhuǎn)移類(lèi)指令,包括無(wú)條件轉(zhuǎn)移指令、條件轉(zhuǎn)移指令、子程序調(diào)用及返回指令等。 對(duì)標(biāo)志位影響:只有比較轉(zhuǎn)移指令影響進(jìn)位標(biāo)志CY,其它指令不影響標(biāo)志位。
9/19/2023773.2.4控制轉(zhuǎn)移類(lèi)指令 MCS-51單片機(jī)有17條轉(zhuǎn)
一、無(wú)條件轉(zhuǎn)移指令
無(wú)條件轉(zhuǎn)移指令:當(dāng)程序執(zhí)行該指令后,程序無(wú)條件地轉(zhuǎn)移到指定的地址去執(zhí)行。 包括短轉(zhuǎn)移、長(zhǎng)轉(zhuǎn)移和間接轉(zhuǎn)移3條指令
1、短轉(zhuǎn)移指令SJMP(相對(duì)轉(zhuǎn)移指令,2字節(jié))
SJMP rel ;(PC)+rel→PC
rel=(Ad-As-Bn):相對(duì)轉(zhuǎn)移偏移量,有符號(hào)數(shù),﹣128~127,負(fù)數(shù)表示向回跳轉(zhuǎn),正數(shù)表示向前跳轉(zhuǎn)。
指令實(shí)際寫(xiě)為:“SJMP目標(biāo)地址標(biāo)號(hào)”P(pán)479/19/202378 一、無(wú)條件轉(zhuǎn)移指令8/6/202378SJMP$:停機(jī)指令。(HERE:SJMPHERE)P399/19/202379SJMP$:停機(jī)指令。8/6/202379
2、長(zhǎng)轉(zhuǎn)移指令LJMP(3字節(jié)指令)
LJMP addr16 ;addr16→PC 程序可以跳轉(zhuǎn)到64KB程序存儲(chǔ)器空間的任何地方。 指令的實(shí)際編寫(xiě)形式為:“LJMP目標(biāo)地址標(biāo)號(hào)”。
9/19/202380 2、長(zhǎng)轉(zhuǎn)移指令LJMP(3字節(jié)指令)8/6/202380
3、間接跳轉(zhuǎn)指令JMP(單字節(jié))
也叫散轉(zhuǎn)指令、多分支轉(zhuǎn)移指令。
JMP @A+DPTR ;(A)+(DPTR)→PC
DPTR為基址,A為相對(duì)偏移,在64KB范圍內(nèi)無(wú)條件轉(zhuǎn)移。
說(shuō)明:(1)DPTR一般為確定的值,累加器A為變值,根據(jù)A的值轉(zhuǎn)移到不同的地方,因此該指令也叫散轉(zhuǎn)指令。
(2)在使用中,往往與一個(gè)轉(zhuǎn)移指令表一起實(shí)現(xiàn)多分支轉(zhuǎn)移。
9/19/202381 3、間接跳轉(zhuǎn)指令JMP(單字節(jié))8/6/202381
例3-13
分析下面多分支轉(zhuǎn)移程序段。 MOV B,#3 MUL AB ;開(kāi)始時(shí)(A)=0、1、2
MOV DPTR,#TABLE ;表首地址送DPTR
JMP@A+DPTR ;根據(jù)A值轉(zhuǎn)移TABLE:
LJMP TAB0 ;(A)=0時(shí)轉(zhuǎn)到TAB0執(zhí)行
LJMP TAB1 ;(A)=3時(shí)轉(zhuǎn)到TAB1執(zhí)行
LJMP TAB2 ;(A)=6時(shí)轉(zhuǎn)到TAB2執(zhí)行
...... 程序中,根據(jù)累加器A的開(kāi)始值(0、1、2)轉(zhuǎn)移到相應(yīng)的TAB0~TAB2分支去執(zhí)行。9/19/202382 例3-13分析下面多分支轉(zhuǎn)移程序段。8/6/2023
二、條件轉(zhuǎn)移指令
當(dāng)指令中條件滿足時(shí),程序轉(zhuǎn)到指定位置執(zhí)行,條件不滿足時(shí),程序順序執(zhí)行。
條件轉(zhuǎn)移指令有三種:判斷累加器A轉(zhuǎn)移指令、比較轉(zhuǎn)移指令、循環(huán)轉(zhuǎn)移指令,共8條。9/19/202383 二、條件轉(zhuǎn)移指令8/6/202383
1、判斷累加器A轉(zhuǎn)移指令(條件轉(zhuǎn)移指令)
判斷A為0轉(zhuǎn)移:
JZ rel ;(A)=0,(PC)+rel→PC ;(A)≠0,順序執(zhí)行
判斷A非0轉(zhuǎn)移:
JNZ rel ;(A)≠0,(PC)+rel→PC ;(A)=0,順序執(zhí)行 指令的實(shí)際編寫(xiě)形式分別為:“JZ
目標(biāo)地址標(biāo)號(hào)”和“JNZ
目標(biāo)地址標(biāo)號(hào)”。
9/19/202384 1、判斷累加器A轉(zhuǎn)移指令(條件轉(zhuǎn)移指令)8/6/2023
例試編寫(xiě)程序,把片外RAM地址從2000H開(kāi)始的數(shù)據(jù),傳送到片內(nèi)RAM地址從30H開(kāi)始的單元,直到出現(xiàn)00H為止。
程序段如下: MOV DPTR,#2000H MOV R0,#30HLOOP: MOVX A,@DPTR MOV @R0,A INC R0 INC DPTR
JNZ LOOP ;(A)≠0跳轉(zhuǎn) SJMP$ ;程序停留到此9/19/202385 例試編寫(xiě)程序,把片外RAM地址從2000H開(kāi)始的數(shù)據(jù)
2、比較不相等轉(zhuǎn)移指令CJNE
比較轉(zhuǎn)移指令功能較強(qiáng),共有4條指令,一般格式為:
CJNE 操作數(shù)1,操作數(shù)2,rel(目標(biāo)標(biāo)號(hào))
指令功能:兩個(gè)操作數(shù)做比較,若不等則轉(zhuǎn)移,否則順序執(zhí)行。9/19/202386 2、比較不相等轉(zhuǎn)移指令CJNE8/6/202386具體形式如下,第一條:
CJNE A,direct,rel第二條:
CJNE A,#data,rel
第三條:
CJNE Rn,#data,rel第四條:
CJNE @Ri,#data,rel9/19/202387具體形式如下,8/6/202387注:(1)編程時(shí)rel用目標(biāo)地址標(biāo)號(hào)表示,
CJNEA,#21,LOOP1(2)指令執(zhí)行過(guò)程中的比較操作實(shí)際上為減法操作,不保留兩數(shù)之差,但要形成Cy標(biāo)志。9/19/202388注:8/6/202388
3、減1不為0(循環(huán)轉(zhuǎn)移指令)DJNZ
循環(huán)轉(zhuǎn)移指令共有兩條指: DJNZ Rn,rel
;2字節(jié)指令。
DJNZ direct,rel
;3字節(jié)指令。 指令的實(shí)際編寫(xiě)形式為: DJNZ Rn,目標(biāo)地址標(biāo)號(hào) DJNZ direct,目標(biāo)地址標(biāo)號(hào)9/19/202389 3、減1不為0(循環(huán)轉(zhuǎn)移指令)DJNZ8/6/20238
例3-15
試編寫(xiě)程序,統(tǒng)計(jì)片內(nèi)RAM中從40H單元開(kāi)始的20個(gè)單元中00H的個(gè)數(shù),結(jié)果存于R2中。
程序段一(用JNZ判斷數(shù)據(jù)是否為0):
MOV R0,#40H ;R0指向40H MOV R7,#20 ;R7控制循環(huán) MOV R2,#0 ;R2存放結(jié)果LOOP: MOV A,@R0 JNZ NEXT ;(A)≠0轉(zhuǎn) INC R2NEXT: INC R0 DJNZ R7,LOOP SJMP$9/19/202390 例3-15試編寫(xiě)程序,統(tǒng)計(jì)片內(nèi)RAM中從40H單元開(kāi)
程序段二(用CJNE判斷數(shù)據(jù)是否為0): MOV R0,#40H ;R0指向40H MOV R7,#20 ;R7控制循環(huán) MOV R2,#0 ;R2存放結(jié)果LOOP: CJNE @R0,#00H,NEXT INC R2NEXT: INC R0 DJNZ R7,LOOP9/19/202391 程序段二(用CJNE判斷數(shù)據(jù)是否為0):8/6/202
三、子程序調(diào)用和返回指令 這類(lèi)指令有3條,一條調(diào)用,兩條返回。
1、子程序調(diào)用指令
ACALL addr16(2字節(jié)指令)
LCALL addr16(3字節(jié)指令)
9/19/202392 三、子程序調(diào)用和返回指令8/6/2023922、子程序返回指令(只能用在子程序末尾)
RET
;9/19/2023932、子程序返回指令(只能用在子程序末尾)8/6/202393
3、中斷服務(wù)程序返回指令
RETI;
“RETI”只能用在中斷服務(wù)程序末尾。
四、空操作指令
NOP ;延時(shí)一個(gè)機(jī)器周期 常用于延時(shí)9/19/202394 3、中斷服務(wù)程序返回指令8/6/202394
還有兩條指令:這兩條指令是“AJMP”和“ACALL”,稱(chēng)為絕對(duì)轉(zhuǎn)移(短轉(zhuǎn)移)指令和絕對(duì)子程序調(diào)用(短調(diào)用)指令。
初識(shí)這兩條指令:這兩條指令的轉(zhuǎn)移范圍是絕對(duì)劃定的2KB,用不好會(huì)出現(xiàn)錯(cuò)誤,并且其編碼也不好理解(見(jiàn)附錄B),所以沒(méi)有必要使用這兩條指令。
9/19/202395 還有兩條指令:這兩條指令是“AJMP”和“ACALL”,3.2.5位操作指令 說(shuō)明:在進(jìn)行位操作時(shí),位累加器C即為進(jìn)位標(biāo)志CY。
位地址區(qū)域: 1)片內(nèi)RAM字節(jié)地址20H~2FH單元中連續(xù)的128個(gè)位(位地址為00H~7FH); 2)部分SFR中的位。9/19/2023963.2.5位操作指令 說(shuō)明:在進(jìn)行位操作時(shí),位累加器C
位地址的表示方式:
1)直接位地址(00H~FFH),如18H。 2)字節(jié)地址帶位號(hào),如20H.0,表示20H單元的第0位。
3)特殊功能寄存器名帶位號(hào),如P2.3,表示P2口的第3位。 4)位符號(hào)地址。
例如,用上述4種方式都可以表示PSW(D0H)中的第2位,分別為:D2H、D0H.2、PSW.2、OV。9/19/202397 位地址的表示方式:8/6/202397
位操作指令共有17條,可以將其分成:位數(shù)據(jù)傳送指令、位邏輯操作指令、位控制轉(zhuǎn)移指令三組進(jìn)行討論。
9/19/202398 8/6/202398
一、位傳送指令
MOV C,bit ;(bit)→C
MOV bit,C ;(C)→bit
例編寫(xiě)程序,把片內(nèi)RAM中07H位的數(shù)值,傳送到ACC.0位。 程序段如下: MOV C,07H MOV ACC.0,C
注意:位之間不能夠直接傳送,必須借助于C。
9/19/202399 一、位傳送指令8/6/202399
二、位邏輯操作指令 位邏輯操作指令包括位清0、位置1、位取反、位與、位或,共10條指令。
1、位清0指令
CLR C ;0→C
CLR bit ;0→bit
2、位置1指令
SETB C ;1→C
SETB bit ;1→bit9/19/2023100 二、位邏輯操作指令8/6/2023100
3、位取反指令
CPL C ;(C)→C
CPL bit ;(bit)→bit
4、位與指令
ANL C,bit ;(C)∧(bit)→C
ANL C,bit ;(C)∧(bit)→C
5、位或指令
ORL C,bit ;(C)∨(bit)→C
ORL C,bit ;(C)∨(bit)→C注:在MCS-5指令系統(tǒng)中沒(méi)有位異或指令,必須用位操作指令來(lái)實(shí)現(xiàn)。(P415)9/19/2023101 3、位取反指令8/6/2023101
三、位條件轉(zhuǎn)移指令(P414) 位轉(zhuǎn)移指令是判斷C或bit為條件的轉(zhuǎn)移指令,共5條指令。
1、以C為條件的轉(zhuǎn)移指令(2字節(jié)指令)
JC rel ;若(C)=1,則(PC)+rel→PC; ;否則順序向下執(zhí)行
JNC rel ;若(C)=0,則(PC)+rel→PC; ;否則順序向下執(zhí)行
9/19/2023102 三、位條件轉(zhuǎn)移指令(P414)8/6/2023102
2、以bit為條件的轉(zhuǎn)移指令(3字節(jié)指令) JB bit,rel ;若(bit)=1,則(PC)+rel→PC;否則順序向下執(zhí)行 JNBbit,rel ;若(bit)=0,則(PC)+rel→PC;否則順序向下執(zhí)行 JBCbit,rel ;若(bit)=1,則(PC)+rel →PC,且0→bit; 否則順序向下執(zhí)行9/19/2023103 2、以bit為條件的轉(zhuǎn)移指令(3字節(jié)指令)8/6/202
例編寫(xiě)程序,利用位操作指令,實(shí)現(xiàn)下圖所示的硬件邏輯電路功能。+&+&P1.0P1.1P1.2P1.3P1.4P1.5DEFG 程序段如下:
MOV C,P1.1 ORL C,P1.2 CPL C ANL C,P1.0 CPL C9/19/2023104 例編寫(xiě)程序,利用位操作指令,實(shí)現(xiàn)下圖所示的硬件邏輯電 MOV F0H,C ;(C)→F0H位 MOV C,P1.3 ;(P1.3)→C ANL C,P1.4 ;(C)∧P1.4→C CPL C ; ORL C,F(xiàn)0H ;(C)∨(0F0H)→C MOV P1.5,C ;(C)→P1.5+&+&P1.0P1.1P1.2P1.3P1.4P1.5DEFG9/19/2023105 MOV F0H,C ;(C)→F0H位P1.0P1.3.3匯編語(yǔ)言程序格式及偽指令9/19/20231063.3匯編語(yǔ)言程序格式及偽指令8/6/2023106
標(biāo)號(hào)源程序注釋
ORG0000H;整個(gè)程序起始地址LJMPMAIN;跳向主程序
ORG0030H;主程序起始地址MAIN:CLRC;MAIN為程序標(biāo)號(hào)LOOP:MOVA,@R0ADDCA,@R1INCR0DJNZR1,LOOP;相對(duì)轉(zhuǎn)移SJMPNEXTMOVR1,#03HNEXT:DECR0SJMP$;相當(dāng)于LOOP1:SJMPLOOP1
END;結(jié)束標(biāo)記9/19/2023107標(biāo)號(hào)源程序
偽指令的功能:在匯編程序中,用于指示匯編程序如何對(duì)源程序進(jìn)行匯編。
對(duì)偽指令的處理:不同于指令,在匯編時(shí)并不翻譯成機(jī)器代碼,只是在匯編過(guò)程進(jìn)行相應(yīng)的控制和說(shuō)明。
偽指令的具體作用:通常在匯編程序中用于定義數(shù)據(jù)、分配存儲(chǔ)空間、控制程序的輸入/輸出等。 在MCS-51系統(tǒng)中,常用的偽指令有以下7條。
9/19/2023108 偽指令的功能:在匯編程序中,用于指示匯編程序如何對(duì)源程序
一、ORG偽指令
ORG偽指令稱(chēng)為起始匯編偽指令,常用于匯編語(yǔ)言某程序段的開(kāi)始或某個(gè)數(shù)據(jù)塊的開(kāi)始。一般格式為:
[標(biāo)號(hào):] ORG 16位地址 其
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合同范本去什么
- 政府類(lèi)物業(yè)合同范本
- 2025至2030年中國(guó)推拉式夾具數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)拉片式光源濾光片數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)固定式超聲波流量計(jì)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 煤礦高壓培訓(xùn)課件
- 2025年中國(guó)防銹乳化型水溶切削油市場(chǎng)調(diào)查研究報(bào)告
- 二零二五年度加油站與旅游企業(yè)合作合同
- 2025年度浪漫情人專(zhuān)屬情感維護(hù)協(xié)議書(shū)
- 二零二五年度體育健身場(chǎng)所租賃經(jīng)營(yíng)合同
- 2025年車(chē)位買(mǎi)賣(mài)合同模板電子版
- AI創(chuàng)作指令合集系列之-教案寫(xiě)作指令
- 急危重癥護(hù)理學(xué)第十章環(huán)境及理化因素?fù)p傷的救護(hù)
- 常用臨床檢驗(yàn)結(jié)果解讀
- 第18課排序計(jì)算有方法(教案)四年級(jí)全一冊(cè)信息技術(shù)人教版
- 規(guī)?;i場(chǎng)生物安全
- 2025年春節(jié)后復(fù)產(chǎn)復(fù)工方案及安全技術(shù)措施
- 維修基金使用合同范例
- 互聯(lián)網(wǎng)接入服務(wù)提供商服務(wù)承諾
- 2024年全國(guó)中學(xué)生生物學(xué)聯(lián)賽試題含答案
- 預(yù)防性侵安全教育主題課件
評(píng)論
0/150
提交評(píng)論