第2章-51系列單片機(jī)的指令系統(tǒng)_第1頁
第2章-51系列單片機(jī)的指令系統(tǒng)_第2頁
第2章-51系列單片機(jī)的指令系統(tǒng)_第3頁
第2章-51系列單片機(jī)的指令系統(tǒng)_第4頁
第2章-51系列單片機(jī)的指令系統(tǒng)_第5頁
已閱讀5頁,還剩96頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、彭周華12.1 2.1 尋址方式尋址方式2.2 2.2 數(shù)據(jù)傳送與交換指令數(shù)據(jù)傳送與交換指令2.3 2.3 算術(shù)運(yùn)算和邏輯運(yùn)算指令算術(shù)運(yùn)算和邏輯運(yùn)算指令2.4 2.4 控制轉(zhuǎn)移指令控制轉(zhuǎn)移指令2.5 2.5 位操作指令位操作指令2.6 2.6 小小 結(jié)結(jié)2能為能為CPUCPU識(shí)別并執(zhí)行的指令的集合。識(shí)別并執(zhí)行的指令的集合。n5151系列單片機(jī)的指令系統(tǒng)包括以下幾類系列單片機(jī)的指令系統(tǒng)包括以下幾類數(shù)據(jù)傳送交換類數(shù)據(jù)傳送交換類算術(shù)運(yùn)算算術(shù)運(yùn)算邏輯運(yùn)算邏輯運(yùn)算循環(huán)類循環(huán)類控制轉(zhuǎn)移類控制轉(zhuǎn)移類位操作類位操作類3n51單片機(jī)指令系統(tǒng)具有以下3個(gè)特點(diǎn): 執(zhí)行速度快大多數(shù)指令為單機(jī)器周期指令,少數(shù)(大多數(shù)指

2、令為單機(jī)器周期指令,少數(shù)(4545條)為雙條)為雙機(jī)器周期指令,機(jī)器周期指令,2 2條四機(jī)器周期指令(乘,除)條四機(jī)器周期指令(乘,除) 指令短大多數(shù)為大多數(shù)為1-21-2字節(jié),少數(shù)為字節(jié),少數(shù)為3 3字節(jié)字節(jié) 豐富的位操作指令對(duì)內(nèi)部對(duì)內(nèi)部RAMRAM寄存器和特殊功能寄存器可進(jìn)行位尋址。寄存器和特殊功能寄存器可進(jìn)行位尋址。以上特點(diǎn)使之具有以上特點(diǎn)使之具有實(shí)時(shí)控制實(shí)時(shí)控制和和數(shù)據(jù)運(yùn)算數(shù)據(jù)運(yùn)算的功能。的功能。4nMCS-51MCS-51單片機(jī)匯編語言單片機(jī)匯編語言: : 操作符操作符 目的操作數(shù),源操作數(shù)目的操作數(shù),源操作數(shù) MOV A, B MOV A, B操作符操作符- -指明該指令完成什么操

3、作;指明該指令完成什么操作;操作數(shù)操作數(shù)- -是指明該指令的操作對(duì)象。是指明該指令的操作對(duì)象。5 Rn:Rn: n=(0 n=(07 7),當(dāng)前工作寄存器),當(dāng)前工作寄存器R0R0R7R7中的一個(gè)中的一個(gè) RiRi: i=(0: i=(0、1 1),),R0R0和和R1R1寄存器中的一個(gè),用作間接尋址寄存器中的一個(gè),用作間接尋址寄存器寄存器 dir:dir: 8 8 位直接字節(jié)地址(片內(nèi)位直接字節(jié)地址(片內(nèi) RAM RAM 和和 SFR SFR ) #data#data: 8: 8位立即數(shù),即位立即數(shù),即8 8位常數(shù)??梢詾槲怀?shù)??梢詾? 2進(jìn)制進(jìn)制(B)(B)、1010進(jìn)進(jìn)制(制(D D)

4、、)、 1616進(jìn)制進(jìn)制(H)(H)、 字符(字符( ) #data16#data16: : 表示表示1616位立即數(shù),即位立即數(shù),即1616位常數(shù)。位常數(shù)。6addr16 addr16 : : 表示表示1616位地址位地址 addr11addr11 : : 表示表示1111位地址位地址relrel : : 相對(duì)偏移量(為一字節(jié)補(bǔ)碼),用于相對(duì)轉(zhuǎn)相對(duì)偏移量(為一字節(jié)補(bǔ)碼),用于相對(duì)轉(zhuǎn)移指令中移指令中bitbit : : 位地址(在位地址空間中)位地址(在位地址空間中)$ $: : 表示當(dāng)前指令的地址表示當(dāng)前指令的地址11.11.():():表示存儲(chǔ)器單元的內(nèi)容表示存儲(chǔ)器單元的內(nèi)容7n尋址方式尋

5、址方式是指提供操作數(shù)的形式,即尋找操作數(shù)或操作數(shù)所在地址的方式。n為了區(qū)別指令中操作數(shù)的地址空間,對(duì)于不同的存儲(chǔ)器中的數(shù)據(jù)采用不同的尋址方式。RAM區(qū)SFR區(qū)外部ROM區(qū)內(nèi)部ROM區(qū)(EA=1)0000H0FFFHFFFFH外部RAM區(qū)0000HFFFFH00H7FHFFH80H1000H40H8n在 MCS -51單片機(jī)指令系統(tǒng)中, 有以下7種尋址方式: (1) 立即尋址;(2) 直接尋址;(3) 寄存器尋址;(4) 寄存器間接尋址;(5) 變址尋址;(6) 位尋址;(7) 相對(duì)尋址。 9n 立即尋址方式是指操作數(shù)包含在指令字節(jié)中。 跟在指令操作碼后面, 該操作數(shù)稱為立即數(shù)。 立即數(shù)有一字節(jié)

6、和二字節(jié)兩種可能。例例: : MOV A, 80H ;A #80, MC=7480 MOV DPTR, 2000H;DPTR 2000H,MC=902000注意:立即數(shù)前面加前綴“#”,若立即數(shù)的首位為A-F,前面要加0 10n在指令中直接給出操作數(shù)地址的尋址方式。n在MCS -51 單片機(jī)指令系統(tǒng)中, 直接尋址方式中可以訪問 3 種存儲(chǔ)器空間: (1) 內(nèi)部RAM區(qū)(00H-7FH)。(2) SFR區(qū)(80H-FFH)。(3) 位地址空間。 例例: : MOV A, 25H ;A (25H) MC:E525 MOV P0, #45H ;P0 45H MC:758045 MOV 30H, 20

7、H ;(30H) (20H) MC:852030注意:特殊功能寄存器可以用它的地址,也可以用它的寄存器名。 MOV A, P0等價(jià)于 MOV A, 80H11指令中以指令中以通用寄存器的內(nèi)容通用寄存器的內(nèi)容作為操作數(shù)的尋址方式作為操作數(shù)的尋址方式n操作數(shù)存放在通用寄存器中。n通用寄存器通用寄存器包括包括:A,B, R0R7, DPTR 。A寄存器可以寄存器尋址,也可以直接尋址(ACC)B寄存器在乘除法中寄存器尋址,其它指令中為直接尋址。注意:直接尋址與寄存器尋址的差別在于:直接尋址是操作數(shù)所在的地址出現(xiàn)在指令碼中,寄存器尋址是寄存器編碼出現(xiàn)在指令碼中。例例: : MOV A,25H ;(25H

8、)A, MC:E525注意:注意:寄存器尋址的特點(diǎn)是指令代碼短,執(zhí)行快。12例例: : MOV A,R0 ;R0A, MC:E8MUL AB ;A*B BA, MC:A4MOV B, R0 ;R0 B, MC:88F0PUSH ACC ; A的內(nèi)容壓入堆棧 MC:C0E0ADD A, ACC ; ADD A, A?13n指令中以寄存器中的內(nèi)容為地址,將地址所對(duì)應(yīng)的內(nèi)容作為操作數(shù)的尋址方式。操作數(shù)存放在以寄存器內(nèi)容為地址的單元中。尋址寄存器:R0,R1,DPTR 。間接尋址前面加表示。如R0,R1,DPTR尋址區(qū)域:內(nèi)部數(shù)據(jù)存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器如何間接尋址64K空間? 低地址由R0或R1提供,

9、高地址由P2口提供 以DPTR寄存器內(nèi)容作為16為地址14注意: 分別采用指令MOV,MOVX區(qū)別是對(duì)內(nèi)部RAM還是對(duì)外部RAM進(jìn)行尋址。 對(duì)外部RAM的操作只有數(shù)據(jù)傳送類指令。例例: : MOV A,#0F0HMOV R0,#20HMOV R0,A ;A(20H) 功能:累加器內(nèi)容送至地址為功能:累加器內(nèi)容送至地址為20H20H的內(nèi)部的內(nèi)部RAMRAM中中。 1500000000111111110000000000HR0FFHA02H111100001111000000000010例例: : MOV A,#0F0HMOV R0,#02HMOV R0,A16例例: : MOV P2, #3FH

10、MOV R1,#21HMOVX A,R1;外部外部RAMRAM(地址為(地址為R1R1中的內(nèi)容)中的內(nèi)容)A A0000000011110111000000000000HR1FFFFHA3F21H11110111001000010000000000111111P217例例: : MOV DPTR, #3F21H,MOVX DPTR,A;A A以以DPTRDPTR內(nèi)容為地址的外部內(nèi)容為地址的外部RAMRAM0000000011111111111101110000HFFFFH3F21H001000010000000000111111DPTR11110111A18n以DPTR或PC寄存器內(nèi)容為基地址

11、,和A的內(nèi)容相加形成操作數(shù)的地址。例例: : MOVC A, A+DPTR ; (A+DPTR) AMOVC A,A+PC ; (A+PC) A注意: 變址尋址只能對(duì)程序存儲(chǔ)器進(jìn)行尋址操作 變址尋址只有讀操作,而沒有寫操作 采用MOVC指令19例例: : MOV DPTR,#0200HMOV A, #03HMOVC A, A+DPTR ; (A+DPTR) A0000000000011111000000000000HFFFFH0203H000000000000000000000010A0000001100011111DPTR20例例: : MOVC A, A+PC ; (A+PC) A 000

12、0100000001111000000010000HFFFFH0409H00000100A00001111PCMOVC A+PC, A ;指令功能?21對(duì)位地址中的內(nèi)容進(jìn)行位操作的尋址方式對(duì)位地址中的內(nèi)容進(jìn)行位操作的尋址方式n 位尋址只對(duì)片內(nèi)RAM中20H2FH中的128個(gè)位地址及SFR中的可位尋址單元進(jìn)行尋址操作例例: : SETBSETB 20H 20H ; 1 120H20H位位MOVMOV 32H 32H,C C ; CyCy32H32H位位ORL ORL C, 5AH C, 5AH ;22n以程序計(jì)數(shù)器PC的內(nèi)容作為基值,加上指令所給出的偏移量(補(bǔ)碼) ,形成目標(biāo)地址(新的PC值),

13、稱為相對(duì)尋址。例例: SJMP 08H(目的地址,通常用符號(hào)表示目的地址,通常用符號(hào)表示)PCPC+08H當(dāng)前當(dāng)前PC內(nèi)容為當(dāng)前指令地址內(nèi)容為當(dāng)前指令地址+2PC轉(zhuǎn)移到轉(zhuǎn)移到$+02H+08H;相對(duì)尋址只修改PC值,主要用于程序的跳轉(zhuǎn)23注意:n指令中根據(jù)操作數(shù)所在的存儲(chǔ)器空間不同而采用不同的尋址方式。n特殊功能寄存器中的操作數(shù)常使用符號(hào)字節(jié)地址和符號(hào)位地址的形式進(jìn)行操作,而不直接使用字節(jié)地址和位地址。(PSW, TMOD, P0, IE,) 符號(hào)地址( C, RS0, EA, P1.1)位地址24n立即尋址-立即數(shù)(#)n直接尋址-直接給出地址n寄存器尋址-編碼(A,B,R0-R7,DPTR

14、)n間接尋址-寄存器的內(nèi)容作為地址(R0,R1,DPTR).數(shù)據(jù)空間,片內(nèi)用MOV,片外用MOVXn變址尋址-基地址(PC,DPTR)+變址(A). 程序空間,片內(nèi)與片外都用MOVCn位尋址-位地址n相對(duì)尋址-PC+偏移量,只修改PC的值思考題1, 3,425nMCS-51單片機(jī)的數(shù)據(jù)傳送和交換類指令共有28條,分為:1.內(nèi)部數(shù)據(jù)傳送指令2.外部數(shù)據(jù)傳送指令3.堆棧指令4.數(shù)據(jù)交換指令26n在MCS-51單片機(jī)中,數(shù)據(jù)傳送是最基本和最主要操作指令。n 數(shù)據(jù)傳送操作可以在片內(nèi)RAM和SFR內(nèi)進(jìn)行,也可以在累加器A和片外存儲(chǔ)器之間進(jìn)行。n 指令中必須指定傳送數(shù)據(jù)的源地址和目的地址,以便機(jī)器執(zhí)行指令

15、時(shí)把源地址中內(nèi)容傳送到目的地址中,但不改變?cè)吹刂分袃?nèi)容。27n指令通式指令通式為:為: MOV MOV , 其中,其中, 為源字節(jié),為源字節(jié), 為目的字節(jié)為目的字節(jié)指令功能指令功能是把源地址內(nèi)容送到目的地址單元中,是把源地址內(nèi)容送到目的地址單元中,源地址單元中的內(nèi)容不變。源地址單元中的內(nèi)容不變。n這類指令的源操作數(shù)和目的操作數(shù)地址都在單片這類指令的源操作數(shù)和目的操作數(shù)地址都在單片機(jī)內(nèi)部,可以是片內(nèi)機(jī)內(nèi)部,可以是片內(nèi)RAMRAM的地址,也可以是特殊的地址,也可以是特殊功能寄存器功能寄存器SFRSFR的地址。的地址。28n按照尋址方式,內(nèi)部數(shù)據(jù)傳送指令又可以分為立即型、直接型、寄存器型和寄存器間址

16、型等四類。n立即尋址型傳送指令的特點(diǎn)是源操作數(shù)是立即數(shù),處在指令碼的第二字節(jié)或第三字節(jié)位置上,如:29例:已知:R0=20H,試問如下指令執(zhí)行后累加器A、R7、20H和21H單元中內(nèi)容是什么?MOV A, #18HMOV R7, #28HMOV R0, #08HMOV 21H, #48HA=18H,R7=28H,(20H)=08H, (21H)=48H。30n直接尋址型傳送指令的特點(diǎn)是指令碼中至少含有一個(gè)源操作數(shù)或目的操作數(shù)的直接地址,直接地址處在指令的第二字節(jié)或第三字節(jié)位置上。如:31例:已知:R132H、(30H)=AAH、(31H)=BBH、(32H)=CCH,試問如下指令執(zhí)行后累加器A

17、、50H、 R6、32H和P1口中的內(nèi)容是什么。MOV A, 30HMOV 50H,AMOV R6 , 31HMOV R1, 30HMOV P1, 32H A=AAH (50H)=AAH R6=BBH (32H)=AAH P1 =AAH32n寄存器尋址型傳送指令的特點(diǎn)是目的地址或源地址含有寄存器尋址的通用寄存器(A,B,R0-R7,DPTR)n第一條指令和第二條指令屬于同一種類型,用于累加器和工作寄存器之間的數(shù)據(jù)傳送,n第三條指令是把工作寄存器Rn中內(nèi)容傳送到以direct為地址的RAM單元。MOV A, Rn ;A RnMOV Rn, A ; A RnMOV direct, Rn ;Rn (

18、direct)33MOV A, Ri ;A (Ri)MOV Ri, A ;A (Ri)MOV direct,Ri ; (Ri) (direct)n這三條指令的共同特點(diǎn)是Ri中存放的不是操作數(shù)本身,而是操作數(shù)所在存儲(chǔ)單元的地址。n n n特點(diǎn)特點(diǎn)特點(diǎn)是含有間接尋址寄存器是含有間接尋址寄存器是含有間接尋址寄存器 RiRiRi34例:例:已知:(40H)=11H、(41H) =22H、R0=40H和R141H,試問如下指令執(zhí)行后累加器A、40H、41H和42H單元中內(nèi)容是什么。 MOV A, R0 MOV R1,A MOV 42H,R1 A=11HA=11H,(40H)=11H(40H)=11H,(

19、41H)=11H(41H)=11H,(42H)=11H(42H)=11H351.內(nèi)部RAM、SFR之間的數(shù)據(jù)傳送MOV dirRi Rn#dataAMOV A, Rn #data dir RiMOV dir,A RnRi #data dir MOV Rn, A dir #dataMOV Ri,Adir #data36特別注意不存在下列指令nMOV Rn, RinMOV Ri, RnnMOV Rn, RnnMOV Ri, Ri37EP1: R1=20H,(20H)=55HMOV A, R1MOV 30H, R1 EP2: (40H)=30H, MOV R7,40HMOV R7,40H A=55H

20、, (30H)=55H EP3: MOV DPTR,0A213H R7=30H, R7=40H DPTR=A213H 38EP:Q:(1) MOV A,R3 MOV R1,A(2) MOV 20H,R3 MOV R1,20H39A 外部數(shù)據(jù)存外部數(shù)據(jù)存儲(chǔ)器儲(chǔ)器程序存儲(chǔ)器程序存儲(chǔ)器 Ri , A DPTR , A A , Ri A , DPTRMOVXMOVCA , A+PCA , A+DPTRMOVXMOVC40例:實(shí)現(xiàn)片外數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)傳送(2000H)(2100H)片 外RAM地 址內(nèi) 容2000HXDPTR2100Hx41MOV DPTR,#2000H ; DPTR= 2000HMOVX

21、 A,DPTR ; AXMOV DPTR,#2100H ; DPTR= 2100HMOVX DPTR,A ; (2100H)X如何實(shí)現(xiàn)數(shù)據(jù)交換?如何實(shí)現(xiàn)數(shù)據(jù)交換?例:實(shí)現(xiàn)片外數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)傳(2000H)(2100H)。使用P2口和8位寄存器Ri間址.42MOV P2,#20H ;高位地址MOV R0,#00 ;低位地址MOVX A, R0 ;讀片外RAMMOV P2,#21H ;改變高位地址MOVX R0,A ;寫片外RAM8位間址注:注: n只能從程序存儲(chǔ)器讀取數(shù)據(jù)到A累加器。n只能使用變址尋址方式,多用于常數(shù)查表程序。MOVC A,A+DPTR ;A(A+DPTR) 查表范圍為64KB程

22、序存儲(chǔ)器任意空間。MOVC A,A+PC ;A(A+PC) 改變改變A A的值;的值; A A的內(nèi)容為無符號(hào)數(shù),只能在查表指令后的內(nèi)容為無符號(hào)數(shù),只能在查表指令后256B 256B 范圍。范圍。43例:分析下列程序執(zhí)行后,A=?MOV DPTR,#M2 ;M2M2的地址送的地址送DPTRDPTRMOV A,#01H ;A=01HA=01H;A=A=(A+DPTRA+DPTR)= =(1+M21+M2)M1: RET ;子程序結(jié)束子程序結(jié)束M2: DB 66H,77H,88H,99H ;常數(shù)表格常數(shù)表格MOV A,#02H ;A=02HA=02H;PC=M1, A=PC=M1, A=(A+PCA

23、+PC)= =(2+M12+M1)M1: RET ;單字節(jié);44PCn初始化是SP指向07H, 數(shù)據(jù)從08H單元開始?jí)喝?。n堆棧按字節(jié)數(shù)據(jù)操作,每次壓入和彈出一個(gè)8位數(shù)。nSP指向棧頂,按地址增加方向生長。先加后壓,先彈后減。45 :PUSHPUSH dir ;SP+1 SP, (dir) (SP) :POPPOP dir ;(SP)(dir),SP-1 SP46MOV A,#90H; MOV SP,#15H;PUSH ACC; POP 20H; 堆棧操作示意圖堆棧操作示意圖SP90HSP=16H,(16H)=90H(20H)=90H, SP=15H47:設(shè) A=02H,(20H)=56H,執(zhí)

24、行下列指令后,SP,A,(20H)=?SBR: MOV SP,#30H ;設(shè)棧底 PUSH ACC ;保護(hù)現(xiàn)場 PUSH 20H MOV A,#0 MOV 20H,#01 ;A=0 POP ACC ; POP 20H ;片內(nèi) RAM 34H 33H 32H 31H 30H 堆棧操作示意圖堆棧操作示意圖SP0256P7,P8n 實(shí)現(xiàn)片內(nèi)RAM區(qū)的數(shù)據(jù)雙向傳送(3類):設(shè)設(shè)A= 29HA= 29H,(,(2AH ) 2AH ) 28H 28H XCHXCH A A,2AH 2AH ;A=A=?(2AH)=(2AH)=?XCH 60HXCH 60H,61H ?61H ?A48 XCHD A,Ri ;

25、A03 (Ri)03:A=34H (50H)=96HMOV R1, #50HXCHD A,R1 ;A? (50H)? n(Ri)A 49 n(Ri)A eXCHange DigitA=36H,(50H)=94H SWAP A;A47 A03:A=0FH 執(zhí)行 SWAP A 50 AA A=F0H:將片內(nèi)RAM2AH和 2BH單元中的ASCII碼轉(zhuǎn)換成壓縮式BCD碼存入20H單元.片內(nèi) RAM地址內(nèi)容2BH35H2AH38H20H51MOVMOV R0 R0,#2AH#2AHMOVMOV R1 R1,#2BH#2BHXCHDXCHD A A,R0 R0 ;低4位交換A=X8HSWAPSWAP A

26、 A ;A=8XHXCHD AXCHD A,R1 R1 ;低4位交換,A=85HXCHXCHA A,20H 20H ;(20H)=85H85Hn51單片機(jī)算術(shù)運(yùn)算指令有加, 進(jìn)位加, 借位減,加1,減1,乘除指令。針對(duì)8位二進(jìn)制。執(zhí)行的結(jié)果對(duì)Cy,Ac,Ov位有影響,但加1減1不影響。n邏輯運(yùn)算指令有與,或,異或指令。522.3.1 算術(shù)運(yùn)算和邏輯運(yùn)算對(duì)標(biāo)志位的影響53n凡是對(duì)A 操作指令(包括傳送指令)都將A中1個(gè)的奇偶反映到PSW的P標(biāo)志位上。即A中奇數(shù)個(gè)“1”,P=1;偶數(shù)個(gè)“1”,P=0。n傳送指令、加1、減1指令、邏輯運(yùn)算指令不影響Cy、OV、AC 標(biāo)志位。n加、減運(yùn)算指令影響P、C

27、y、 OV、AC標(biāo)志位, 乘除指令使OV=0,當(dāng)乘積大于255,或除數(shù)為0時(shí),OV置1。n對(duì)進(jìn)位位Cy(指令中用C表示)進(jìn)行操作的指令和大環(huán)移指令,顯然會(huì)影響Cy。標(biāo)志位的狀態(tài)是控制轉(zhuǎn)移指令的條件2.3.2以A為目的操作數(shù)的算術(shù)、邏輯運(yùn)算指令(24條) dirRi Rn#dataAADDADDADDCADDCSUBBSUBBANLANLORLORLXRLXRLA ,Rn,Ri#datadir加加進(jìn)位加進(jìn)位加借位減借位減與與或或異或異或54ADD ADD with with C CarryarrySubSubtract with tract with B Borrow orrow E Ex xc

28、lusive-Oclusive-OR R L Logicogic55:判斷下列指令執(zhí)行后A=?,Cy=?, OV?,P=? MOV A,#9BH ;10011011ADD A, #9BH; A=36H,Cy=1,AC=1,OV=1,P=0:判斷下列指令執(zhí)行后A=?,Cy=?, OV?,P=? CLR CMOV A,#97H ;10010111ADDC A, #95H; 10010101A=2DH,Cy=1,AC=0,OV=1,P=056:判斷標(biāo)志位Cy, OV,A?MOV A, #56H ;01010110ADD A, #74H ;01110100ADD A,ACC ; 01010110 01

29、110100 11001010 Cy=0,OV=1,A=CAH 11001010110010100 Cy=1,OV=0,A=94H2.3.3 以dir為目的操作數(shù)邏輯運(yùn)算指令(6條)A#data dirANLANLORLORLXRLXRLdir ,#dataA57與或異或n算術(shù)類與邏輯運(yùn)算指令的操作意義非常明確注意:(1)減指令只有帶借位減,因此在多字節(jié)減法中,最低字節(jié)作減法時(shí),注意先清CY。(2)邏輯運(yùn)算是按位進(jìn)行的,兩數(shù)運(yùn)算的運(yùn)算法則是:與:有“0”則“0”;與與0 0相與,其值全為相與,其值全為0 0,與,與1 1相與,其值不變相與,其值不變或:有“1”則“1”與與0 0相或,其值不變,

30、與相或,其值不變,與1 1相或,其值全為相或,其值全為1 1異或:相同為“0” , 相異為“1”;與與“0”0”異或異或, ,值不變值不變; ;與與“1”1”異或異或, ,值變反。值變反。5859 10000110 10001111A=8FH 10000110 10001001A89Hn加1指令(IncIncrementrement)A ARnRidirDPTRINCINC;A+1A+1A A;Rn+1Rn;(Ri)+1(Ri);(dir)+1(dir);DPTR+1DPTRn減1指令(Decrement)DECDECARnRidir;A-1A;Rn-1Rn;(Ri)-1(Ri);(dir)-

31、1(dir)60加1減1不影響標(biāo)志位61:分析下列指令執(zhí)行結(jié)果MOV 20H,#55HINC 20HMOV R7, #81HDEC R7n計(jì)算機(jī)完成二進(jìn)制加法,其結(jié)果為二進(jìn)制,如果是十進(jìn)制相加(即BCD碼相加)想得到十進(jìn)制的結(jié)果,就必須進(jìn)行十進(jìn)制調(diào)整(即BCD 碼調(diào)整)。調(diào)整指令: DA A ;將A中二進(jìn)制相加和調(diào)整成BCD碼。調(diào)整方法:和低4位大于9或有半進(jìn)位(AC),則低4位加6; 和的高4位大于9或有進(jìn)位(CY),則高4位加6。62u指令根據(jù)相加和及標(biāo)志自行進(jìn)行判斷,因此該指令應(yīng)緊跟在加指令之后,至少在加指令和該指令之間不能有影響標(biāo)志的指令。uDA A指令只對(duì)一個(gè)字節(jié)和調(diào)整,如為多字節(jié)相

32、加必須進(jìn)行多次調(diào)整。u此指令不能對(duì)減法結(jié)果進(jìn)行調(diào)整。完成56+17的編程。(56和17用BCD碼表示) MOV A,#56H ;A存放BCD碼56H MOV B,#17H ;B存放BCD碼17H ADD A, B ;A=6dH DA A ;A=73H SJMP $5 6 H1 7 H6 d H+67 3 H動(dòng)態(tài)停機(jī)6364(1)A取反CPL A ; C Comomplplementement(2)A清零CLR A ;CLEAR 0A(3)A右循環(huán)RR A;Rotate Right0100101110010110A(4)A左循環(huán)RL A ;Rotate Left00111101651001111

33、0(5)A右大循環(huán)RRC ACY110010110(6)A左大循環(huán)RLC ACY66100101101100101111001011111P9P9(1)乘法指令(Multiply)MUL AB ; AxB BA,實(shí)現(xiàn)8位無符號(hào)數(shù)乘法 (2)除法指令(Divide)DIV AB ; AB 商在A中,余數(shù)在B中67P6P6例1:將21H單元的低三位和20H單元低五位合并為一個(gè)字節(jié),并送至30H單元,要求(21H)的低三位放在高位。6800001111111100010010111120H21H30HACy6911110001R411110011R57000010001R7Any other sol

34、utions?Any other solutions?71P11,P14P11,P14:改變指令的執(zhí)行順序,轉(zhuǎn)到指令指示的新的:改變指令的執(zhí)行順序,轉(zhuǎn)到指令指示的新的PCPC地址執(zhí)行。地址執(zhí)行。nMCS-51MCS-51單片機(jī)的控制轉(zhuǎn)移指令有以下類型:單片機(jī)的控制轉(zhuǎn)移指令有以下類型: 無條件轉(zhuǎn)移無條件轉(zhuǎn)移:無需判斷,執(zhí)行該指令就轉(zhuǎn)移到目的地址。:無需判斷,執(zhí)行該指令就轉(zhuǎn)移到目的地址。 條件轉(zhuǎn)移條件轉(zhuǎn)移:需判斷:需判斷標(biāo)志位標(biāo)志位是否滿足條件,滿足條件轉(zhuǎn)移是否滿足條件,滿足條件轉(zhuǎn)移到目的地址,否則順序執(zhí)行。到目的地址,否則順序執(zhí)行。 絕對(duì)轉(zhuǎn)移絕對(duì)轉(zhuǎn)移:轉(zhuǎn)移的目的地址用絕對(duì)地址指示,通常為無:轉(zhuǎn)移

35、的目的地址用絕對(duì)地址指示,通常為無條件轉(zhuǎn)移。條件轉(zhuǎn)移。 相對(duì)轉(zhuǎn)移相對(duì)轉(zhuǎn)移:轉(zhuǎn)移的:轉(zhuǎn)移的目的地址用相對(duì)于當(dāng)前目的地址用相對(duì)于當(dāng)前PCPC的偏差的偏差(偏(偏移量)指示,通常為條件轉(zhuǎn)移。移量)指示,通常為條件轉(zhuǎn)移。 長轉(zhuǎn)移或長調(diào)用長轉(zhuǎn)移或長調(diào)用:目的地址距當(dāng)前:目的地址距當(dāng)前PC 64KBPC 64KB地址范圍地址范圍 短轉(zhuǎn)移或短調(diào)用短轉(zhuǎn)移或短調(diào)用:目的地址距當(dāng)前:目的地址距當(dāng)前PC 2KBPC 2KB地址范圍。地址范圍。72說明:說明:n該該指令功能指令功能是是保護(hù)斷點(diǎn)保護(hù)斷點(diǎn),即將當(dāng)前,即將當(dāng)前PCPC(下一條指令的首地址)壓入堆棧。(下一條指令的首地址)壓入堆棧。子程序的入口地址子程序的入

36、口地址 addr16 addr16 送送PCPC,轉(zhuǎn)子程序執(zhí)行。,轉(zhuǎn)子程序執(zhí)行。n本指令為本指令為64KB64KB地址范圍內(nèi)的調(diào)子程序指令,子程序可在地址范圍內(nèi)的調(diào)子程序指令,子程序可在64KB64KB地址空間的任一處。地址空間的任一處。n本指令的機(jī)器碼為三字節(jié)本指令的機(jī)器碼為三字節(jié): 12 addr16: 12 addr16。LCALLLCALL addr16 addr16 ;addr16addr16PC0PC015 15 73A Absolute bsolute CallCall說明:說明:n該該指令功能指令功能是是保護(hù)斷點(diǎn)保護(hù)斷點(diǎn),即當(dāng)前,即當(dāng)前PCPC壓入堆棧。壓入堆棧。addr11P

37、C0addr11PC01010, ,而而PC11PC111515保持原值不變。保持原值不變。n本指令為本指令為2KB2KB地址范圍的調(diào)子程序指令,子程序入口距當(dāng)?shù)刂贩秶恼{(diào)子程序指令,子程序入口距當(dāng)前前PCPC不得超過不得超過2KB2KB地址范圍。地址范圍。n本指令的機(jī)器碼為本指令的機(jī)器碼為二字節(jié)二字節(jié),設(shè),設(shè)addr11addr11的各位是的各位是a10a9a8a2a1a0a10a9a8a2a1a0,則,則ACALLACALL指令指令機(jī)器碼機(jī)器碼a10a9a8a10a9a81000110001a7a6a5a4a3a2a1a0a7a6a5a4a3a2a1a0,其中其中1000110001是是A

38、CALLACALL指令的操作碼。指令的操作碼。 ACALLACALL addr11 ;addr11 addr11 ;addr11PC0PC0101074例:例:子程序調(diào)用指令子程序調(diào)用指令A(yù)CALLACALL在程序存儲(chǔ)器中的首地址為在程序存儲(chǔ)器中的首地址為0100H0100H,子程序入口地址為,子程序入口地址為0250H0250H。試確定能否使用試確定能否使用ACALLACALL指令實(shí)現(xiàn)調(diào)用?如果能使用,確定該指令的機(jī)指令實(shí)現(xiàn)調(diào)用?如果能使用,確定該指令的機(jī)器碼。器碼。75解解: : 因?yàn)橐驗(yàn)锳CALLACALL指令首地址在指令首地址在0100H0100H,而,而ACALLACALL是是2 2

39、字節(jié)指令,字節(jié)指令,所以下一條指令的首地址在所以下一條指令的首地址在0102H0102H。0102H0102H和和0250H0250H在同一在同一2KB2KB地址范圍內(nèi),故地址范圍內(nèi),故可用可用ACALLACALL調(diào)用調(diào)用。調(diào)用入口地址為。調(diào)用入口地址為0250H0250H,ACALLACALL指令的機(jī)器碼形式為:指令的機(jī)器碼形式為: 0100101 1 00010001 0101 0000B=5150H 0101 0000B=5150HRET RET ( (RetReturn)urn) ;從調(diào)用子程序返回。;從調(diào)用子程序返回。功能:功能:從棧頂彈出斷點(diǎn)到從棧頂彈出斷點(diǎn)到PCPC,從子程序返回

40、到主程序。,從子程序返回到主程序。RETIRETI ( (RetReturn urn I Interrupt)nterrupt); 從中斷服務(wù)程序返回。從中斷服務(wù)程序返回。功能功能:從棧頂彈出斷點(diǎn)到:從棧頂彈出斷點(diǎn)到PCPC,并恢復(fù)中斷優(yōu)先級(jí)狀態(tài),并恢復(fù)中斷優(yōu)先級(jí)狀態(tài)觸發(fā)器,從中斷服務(wù)程序返回到主程序。觸發(fā)器,從中斷服務(wù)程序返回到主程序。 76(1 1)短轉(zhuǎn)移)短轉(zhuǎn)移( (A Absolute bsolute J Ju umpmp) )說明:說明:n轉(zhuǎn)移范圍轉(zhuǎn)移范圍:本指令為:本指令為2KB2KB地址范圍內(nèi)的轉(zhuǎn)移指令。對(duì)地址范圍內(nèi)的轉(zhuǎn)移指令。對(duì)轉(zhuǎn)移目的地址的要求與轉(zhuǎn)移目的地址的要求與ACALL

41、ACALL指令對(duì)子程序入口地指令對(duì)子程序入口地址的要求相同。址的要求相同。n機(jī)器碼形式機(jī)器碼形式:本指令為:本指令為2 2字節(jié)指令。設(shè)字節(jié)指令。設(shè)addr11addr11的各位的各位是是a10a9a8a2a1a0,a10a9a8a2a1a0,則指令的機(jī)器碼為:則指令的機(jī)器碼為:a10a9a8a10a9a80000100001a7a6a5a4a3a2a1a0a7a6a5a4a3a2a1a0。 AJMP AJMP addr11 addr11 ;addr11addr11PC0PC0101077(2)長轉(zhuǎn)移(Long Jump)說明:n本指令為64KB程序存儲(chǔ)空間的全范圍轉(zhuǎn)移指令。轉(zhuǎn)移地址可為16位地

42、址中的任意值。n本指令為3字節(jié)指令,機(jī)器碼:02 addr16。(3)間接轉(zhuǎn)移 LJMP LJMP addr16 addr16 ;addr16addr16PC0PC01515 JMP JMP A+DPTR A+DPTR ;A+DPTRA+DPTRPC PC 例:A=02H,DPTR=2000H,指令JMPA+DPTR執(zhí)行后,PC=2002H。即程序轉(zhuǎn)移到2002H地址單元去執(zhí)行。78例例:分析下面一段程序:分析下面一段程序: MOV MOV A, #02h;A, #02h; MOV MOV DPTRDPTR,#TABLE#TABLE JMP JMP A+DPTRA+DPTR TABLE TAB

43、LE: AJMP AJMP PROC0 PROC0 AJMPAJMP PROC1 PROC1 AJMPAJMP PROC2 PROC2 AJMP AJMP PROC3 PROC3 根據(jù)根據(jù)JMP A+DPTRJMP A+DPTR指令的操作可知,指令的操作可知,當(dāng)當(dāng)A=00HA=00H時(shí),程序轉(zhuǎn)入到地址時(shí),程序轉(zhuǎn)入到地址 PROC0 PROC0 處執(zhí)行;處執(zhí)行;當(dāng)當(dāng)A=02HA=02H時(shí),轉(zhuǎn)到時(shí),轉(zhuǎn)到PROC1PROC1處執(zhí)行處執(zhí)行可見這是一段多路轉(zhuǎn)移程序,進(jìn)入的路數(shù)由可見這是一段多路轉(zhuǎn)移程序,進(jìn)入的路數(shù)由A A確定。確定。因?yàn)橐驗(yàn)锳JMPAJMP指令指令是是2 2字節(jié)指令,所以字節(jié)指令,所以A

44、 A必須為偶數(shù)。必須為偶數(shù)。79(4)無條件相對(duì)轉(zhuǎn)移(Short Jump)機(jī)器碼為機(jī)器碼為80 80 relrel說明:說明:n$ $為源地址(本指令的首地址),該指令為為源地址(本指令的首地址),該指令為2 2字節(jié)指令,字節(jié)指令,執(zhí)行本指令時(shí),當(dāng)前執(zhí)行本指令時(shí),當(dāng)前PCPC$+2$+2; $ $2 2relPCrelPCnrelrel 為轉(zhuǎn)移的偏移量,轉(zhuǎn)移可以向前轉(zhuǎn),也可以向后轉(zhuǎn),為轉(zhuǎn)移的偏移量,轉(zhuǎn)移可以向前轉(zhuǎn),也可以向后轉(zhuǎn),因此偏移量因此偏移量relrel 是是1 1 字節(jié)有符號(hào)數(shù)字節(jié)有符號(hào)數(shù),用補(bǔ)碼表示(,用補(bǔ)碼表示(128128127127),所以指令轉(zhuǎn)移范圍在離源地址),所以指令轉(zhuǎn)

45、移范圍在離源地址$ $的的126126129129字節(jié)之間。字節(jié)之間。 SJMP rel;PC+relPC,80(1 1)短轉(zhuǎn)移)短轉(zhuǎn)移AJMPAJMP addr11 addr11(2 2)長轉(zhuǎn)移)長轉(zhuǎn)移LJMPLJMP addr16 addr16(3 3)間接轉(zhuǎn)移)間接轉(zhuǎn)移JMPJMP A+DPTR A+DPTR(4 4)無條件相對(duì)轉(zhuǎn)移)無條件相對(duì)轉(zhuǎn)移SJMPSJMP relrel81(1 1)累加器為零(非零)轉(zhuǎn)移)累加器為零(非零)轉(zhuǎn)移( (J Jump if ump if Z Zero)ero)nA=0 A=0 則轉(zhuǎn)移(則轉(zhuǎn)移($+2+relPC$+2+relPC)nA0 A0 程序順

46、序執(zhí)行。程序順序執(zhí)行。( (J Jump if ump if N Not ot Z Zero)ero)nA0 A0 則轉(zhuǎn)移(則轉(zhuǎn)移($+2+relPC$+2+relPC)nA=0 A=0 程序順序執(zhí)行,程序順序執(zhí)行, JZ JZ rel rel ;機(jī)器碼為;機(jī)器碼為60 rel60 rel JNZ JNZ rel rel ;機(jī)器碼為;機(jī)器碼為70 rel70 rel82(2 2)減)減 1 1 不等于零轉(zhuǎn)移不等于零轉(zhuǎn)移nRn-1RnRn-1Rn,RnRn=0=0順序執(zhí)行;順序執(zhí)行;nRn0Rn0,則轉(zhuǎn)移到(,則轉(zhuǎn)移到($+2+rel PC$+2+rel PC)n(dir)-1(dir), (d

47、ir)=0 (dir)-1(dir), (dir)=0 順序執(zhí)行;順序執(zhí)行;n(dir)0(dir)0,則轉(zhuǎn)移到(,則轉(zhuǎn)移到($+3$+3+rel PC+rel PC)本指令有自動(dòng)減本指令有自動(dòng)減 1 1 功能。功能。 DJNZ Rn , rel ; Decrement Jump if Not Zero DJNZDJNZ dir , rel dir , rel 83例:試分析以下程序運(yùn)行后A中的結(jié)果。 MOV 23H,#0AH CLR A LP: ADD A,23H DJNZ 23H,LP SJMP $ A =10+9+8+7+6+5+4+3+2+1=55 =37H84P16P16(3 3)比

48、較轉(zhuǎn)移指令)比較轉(zhuǎn)移指令( (C Compare ompare J Jump if ump if N Not ot E Equal)qual)說明:說明: n CJNECJNE指令都是指令都是3 3字節(jié)指令,作減操作,字節(jié)指令,作減操作,影響影響CYCY標(biāo)志,但不標(biāo)志,但不回送結(jié)果?;厮徒Y(jié)果。n 若第一操作數(shù)大于或等于第二操作數(shù),則標(biāo)志若第一操作數(shù)大于或等于第二操作數(shù),則標(biāo)志CY=0CY=0。若。若第一操作數(shù)小于第二操作數(shù),則第一操作數(shù)小于第二操作數(shù),則CY=1CY=1。n 除實(shí)現(xiàn)兩操作數(shù)相等與否的判斷外,利用對(duì)除實(shí)現(xiàn)兩操作數(shù)相等與否的判斷外,利用對(duì)CYCY的判斷的判斷(位操作指令),可以完成

49、兩數(shù)大小的比較(位操作指令),可以完成兩數(shù)大小的比較。CJNECJNE A, dir , rel A, dir , relCJNECJNE A , #data , rel A , #data , relCJNECJNE Rn , #data , rel Rn , #data , relCJNECJNE Ri , #data , rel Ri , #data , rel;不相等,則轉(zhuǎn)移, 執(zhí)行(As+3+rel)PC;相等,順序執(zhí)行。85(1)累加器為零(非零)轉(zhuǎn)移JZ rel JNZ relDJNZ Rn , rel DJNZ dir , rel(2)減1不等于零轉(zhuǎn)移(3)比較轉(zhuǎn)移指令CJNE

50、 A,dir , relCJNE A , #data , relCJNE Rn , #data , relCJNE Ri , #data , rel dirRiRiRnRn#data#dataADJNZ、CJNE指令示意圖86例:例:編寫程序,要求讀編寫程序,要求讀P1 端口上的信息,若不為端口上的信息,若不為55H,則程序等待,直到,則程序等待,直到P1端口為端口為55H時(shí),程序時(shí),程序才往下順序執(zhí)行。才往下順序執(zhí)行。程序:程序:MOV A,#55H ;A55HCJNE A,P1,$ ;P155H,則程序循環(huán)執(zhí)行本指令則程序循環(huán)執(zhí)行本指令 在實(shí)際編程中,轉(zhuǎn)移的在實(shí)際編程中,轉(zhuǎn)移的目的地址目的

51、地址不管是不管是addr11addr11、addr16addr16、還是還是relrel , ,均是一均是一符號(hào)地址符號(hào)地址表示的表示的( (如如SJMP ABCSJMP ABC,AJMP AJMP LOOPLOOP),轉(zhuǎn)移的類型是通過指令的操作符來決定的。),轉(zhuǎn)移的類型是通過指令的操作符來決定的。87n在相對(duì)轉(zhuǎn)移中,在相對(duì)轉(zhuǎn)移中,relrel 是是1 1字節(jié)補(bǔ)碼。轉(zhuǎn)移指令中首地址字節(jié)補(bǔ)碼。轉(zhuǎn)移指令中首地址和轉(zhuǎn)移的目的地址已知,在填機(jī)器碼時(shí),需計(jì)算和轉(zhuǎn)移的目的地址已知,在填機(jī)器碼時(shí),需計(jì)算relrel。計(jì)算計(jì)算relrel 的方法的方法: :設(shè)本條轉(zhuǎn)移指令的首地址為設(shè)本條轉(zhuǎn)移指令的首地址為As

52、As源地址,指令字節(jié)數(shù)源地址,指令字節(jié)數(shù)為為BnBn(2/32/3)字節(jié),當(dāng)前)字節(jié),當(dāng)前PC= As+ PC= As+ BnBn;要轉(zhuǎn)移的目標(biāo)地;要轉(zhuǎn)移的目標(biāo)地址為址為Ad-Ad-目的地址目的地址。AdAd= =當(dāng)前當(dāng)前PC+relPC+rel補(bǔ)補(bǔ)= =As+Bn+relAs+Bn+rel補(bǔ)補(bǔ)relrel=(Ad-As-=(Ad-As-BnBn) )補(bǔ)補(bǔ)n這就是在已知源地址,目的地址和指令的長度時(shí),計(jì)這就是在已知源地址,目的地址和指令的長度時(shí),計(jì)算算relrel 的公式。的公式。88例:例:MCS-51MCS-51單片機(jī)指令系統(tǒng)中,沒有停機(jī)指令,通單片機(jī)指令系統(tǒng)中,沒有停機(jī)指令,通常用短轉(zhuǎn)移

53、指令常用短轉(zhuǎn)移指令SJMP $ ($SJMP $ ($為本指令的首地址為本指令的首地址) )來實(shí)現(xiàn)來實(shí)現(xiàn)動(dòng)態(tài)停機(jī)的操作,試寫出這條指令中機(jī)器碼。動(dòng)態(tài)停機(jī)的操作,試寫出這條指令中機(jī)器碼。解:解:查附錄查附錄A A ,SJMPSJMP relrel 的指令碼為的指令碼為80rel 80rel 據(jù)題意:本條指令的據(jù)題意:本條指令的首地址首地址 As=$As=$,轉(zhuǎn)移的目的地址是本條指令地址,即轉(zhuǎn)移的目的地址是本條指令地址,即Ad=$Ad=$,該指令為兩字節(jié),即該指令為兩字節(jié),即BnBn=2=2,relrel= Ad-As-= Ad-As-BnBn 補(bǔ)補(bǔ)= $= $ $22補(bǔ)補(bǔ)= =(2 2)補(bǔ))補(bǔ)=

54、FEH=FEH所以所以SJMP $SJMP $指令的指令的機(jī)器碼是機(jī)器碼是80FEH80FEH。89例:計(jì)算下面程序中CJNE指令的偏移量。LOOP:MOV A,P1 ; 2字節(jié)CJNE A,#55H,LOOP ; 3字節(jié)解:目的地址: Ad=LOOPCJNE指令的首地址 : As=LOOP+2CJNE是3字節(jié)指令: Bn=3 rel=LOOP-(LOOP+2)-3補(bǔ)=-5補(bǔ)=FBH據(jù)附錄A:CJNE A,#55H,LOOP的機(jī)器碼B4 data rel指令碼:B455FBH。90n該指令經(jīng)取指,譯碼后,不進(jìn)行任何操作(空操作),n常用于產(chǎn)生一個(gè)機(jī)器周期的延時(shí),或上機(jī)修改程序時(shí)作填充指令,以方

55、便增減指令。NOP ; 機(jī)器碼 00 ,1 MC91例:例: 將將A A累加器的低累加器的低4 4位取反四次、高位取反四次、高4 4位不變。每變位不變。每變換一次,從換一次,從P1P1輸出。輸出。解:解:方法一方法一 加加 1 1 計(jì)數(shù)計(jì)數(shù) MOV MOV R0 R0,#0 ;#0 ;計(jì)數(shù)器初值送計(jì)數(shù)器初值送0 0LLLL: XRL XRL A A,#0FH ;#0FH ;高高4 4位不變,低位不變,低4 4位取反位取反 MOV MOV P1P1,A ;A ;從從P1P1輸出輸出 INC INC R0 ; R0 ;計(jì)數(shù)加計(jì)數(shù)加1 1 CJNECJNE R0 R0,#04#04,LL ;LL ;

56、不滿不滿4 4次循環(huán)次循環(huán) RET RET 方法二方法二 減減1 1計(jì)數(shù)計(jì)數(shù) MOVMOV R0,#04H ; R0,#04H ; 計(jì)數(shù)初值送計(jì)數(shù)初值送4 4LL: LL: XRLXRL A A,#0FH#0FH MOVMOV P1 P1,A A DJNZDJNZ R0 R0,LL ;LL ;次數(shù)減次數(shù)減1 1不等于不等于0 0循環(huán)循環(huán) RETRET92例:例:內(nèi)部內(nèi)部RAMRAM的的40H40H地址單元中,有地址單元中,有1 1字節(jié)符號(hào)數(shù),編字節(jié)符號(hào)數(shù),編寫求其絕對(duì)值后放回原單元的程序。寫求其絕對(duì)值后放回原單元的程序。解:解:程序如下:程序如下:MOV MOV A A,40H40HANLANL A A,#80H#80HJNZ JNZ NEG ;NEG ;負(fù)數(shù)轉(zhuǎn)移負(fù)數(shù)轉(zhuǎn)移SJMP

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論