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

下載本文檔

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

文檔簡(jiǎn)介

單片機(jī)指令系統(tǒng)第三章單片機(jī)指令系統(tǒng)調(diào)用子程序及返回指令分類(lèi)指令尋址方式指令分類(lèi)MCS-51指令系統(tǒng)的分類(lèi),格式及一般說(shuō)明3-1指令格式

例:LOOP:MOVA,#40H;取參數(shù)[標(biāo)號(hào)]:操作碼操作數(shù)1,操作數(shù)2[;注釋]標(biāo)號(hào)指令的符號(hào)地址。操作碼指明指令功能操作數(shù)指令操作對(duì)象。包括數(shù)據(jù)、地址、寄存器名及約定符號(hào)注釋說(shuō)明指令在程序中的作用操作碼和操作數(shù)是指令主體。MOV__move傳送XCH__exchange交換ANL__andlogic與邏輯運(yùn)算XRL__exclusiveor異或運(yùn)算MUL__Multiply乘法RR__rotateright右循環(huán)SJMP__shortjump短跳轉(zhuǎn)RET__return子程序返回二.機(jī)器語(yǔ)言指令格式111010000111111000110010011101010100000001100100舉例:匯編語(yǔ)言:

機(jī)器語(yǔ)言:MOVA,R0 E8HMOVR6,#32H 7EH32HMOV40H,#64H 75H40H64H指令中操作碼和操作數(shù)是指令主體,稱(chēng)為指令可執(zhí)行部分,附錄指令表中可查出對(duì)應(yīng)指令代碼。

分為單字節(jié)、雙字節(jié)和三字節(jié)指令

操作碼[操作數(shù)1][操作數(shù)2]三.指令描述符號(hào)介紹Rn—當(dāng)前工作寄存器區(qū)中的8個(gè)寄存器R.0~R7(n=0~7)。Ri—當(dāng)前工作寄存器區(qū)中的2個(gè)工作寄存器R0,R1(i=0,1)direct——8位的內(nèi)部數(shù)據(jù)存儲(chǔ)器單元中的地址。#data——包含在指令中的8位常數(shù)。#data16——包含在指令中的16位常數(shù)。

addr16——16位目的地址。

addr11——11位目的地址。

rel——8位帶符號(hào)的偏移字節(jié),簡(jiǎn)稱(chēng)偏移量。

DPTR——數(shù)據(jù)指針,可用作16位地址寄存器。

bit——內(nèi)部RAM或?qū)S眉拇嫫髦械闹苯訉ぶ肺?。在介紹指令之前,先把描述指令的一些符號(hào)的意義作些介紹。A——累加器。

B——專(zhuān)用寄存器,用于乘法和除法指令中。

C——進(jìn)位標(biāo)志或進(jìn)位位,或布爾處理機(jī)中的累加器。@——間址寄存器或基址寄存器的前綴,如@Ri、@DPTR。/——位操作數(shù)的前綴,表示對(duì)該位操作數(shù)取反,如/bit。×——×單元中的內(nèi)容。(×)——由×尋址的單元中的內(nèi)容。

——箭頭左邊的內(nèi)容被箭頭右邊的內(nèi)容所代替。3-2指令尋址方式3-2-1 尋址方式和操作數(shù)類(lèi)型

一、尋址方式

是指指令中確定操作數(shù)的形式。為了區(qū)別指令中操作數(shù)不同的存儲(chǔ)空間,對(duì)不同存儲(chǔ)器中數(shù)據(jù)進(jìn)行操作采用不完全相同的尋址方式二、操作數(shù)類(lèi)型位(b)─位尋址區(qū)中的一位二進(jìn)制數(shù)據(jù)字節(jié)(B)─8位二進(jìn)制數(shù)據(jù)字(W)─16位雙字節(jié)數(shù)據(jù)尋址方式:12736

45立即尋址直接尋址位尋址寄存器尋址相對(duì)尋址寄存器間接尋址變址尋址尋址方式一.立即尋址方式指令中給出實(shí)際操作數(shù)據(jù)(立即數(shù))。指令本身直接含有所需要的8位或16位的操作數(shù)。將此數(shù)稱(chēng)為“立即數(shù)”(使用#標(biāo)明)。如:

MOVA,#30H;將(8位)立即數(shù)送累加器AMOVDPTR,#2000H;16位立即數(shù)送DPTR寄存器【注意】:MOVA,#30HMOVA,30H兩者的區(qū)別。

立即數(shù)尋址的指令長(zhǎng)度為2或3個(gè)字節(jié)。74H30Hnn+1ROM累加器AMOVA,#30H

指令執(zhí)行流程90H20H00HROMDPTRMOVDPTR,#2000H指令的存儲(chǔ)和執(zhí)行返回一、立即尋址目的地#XXH操作數(shù)MOVP1,#55HMOVA,#01H#55H目的地信寄存器尋址直接尋址立即數(shù)尋址寄存器間接尋址變址尋址相對(duì)尋址位尋址二.直接尋址方式

指令中直接給出操作數(shù)地址的尋址方式,能直接尋址的存儲(chǔ)空間為內(nèi)部RAM和特殊功能寄存器(SFR)。

例2:MOVPSW,#20H;PSW?#20H

PSW為直接尋址寄存器的符號(hào)地址。

例1:MOVA,30H;A?(30H)65H

31H

7FH30H

65HA思考題:直接尋址方式指令和立即尋址方式指令的形式有什么不同?目的地寄存器尋址直接尋址立即數(shù)尋址寄存器間接尋址變址尋址相對(duì)尋址位尋址內(nèi)部RAM或SFR區(qū)操作數(shù)XXHMOVP1,20H20H目的地20H注:尋址是尋操作數(shù)的“地址”!直接給出地址

20H——直接尋址使用直接尋址應(yīng)注意的三個(gè)問(wèn)題:

指令助記符中direct是用16進(jìn)制數(shù)表示的操作數(shù)地址。

當(dāng)?shù)刂非『迷赟FR區(qū)域時(shí),指令也可以用寄存器名來(lái)表示。如:

MOVA,80H

可以寫(xiě)成MOVA,P0

后者用SFR中寄存器的名字取代它的物理地址80H。很明顯,后者更容易閱讀和交流,所以我們提倡使用SFR中寄存器名稱(chēng)來(lái)代替直接地址。如:MOVA,SBUF

;串口數(shù)據(jù)緩沖器數(shù)據(jù)送A

MOVIE,#00H

;初始化中斷允許寄存器

MOVTH1,#0FEH

;為定時(shí)器1賦初值

盡管使用SFR的寄存器名稱(chēng)來(lái)取代直接地址,可以帶來(lái)程序的可讀性,但是在匯編時(shí),仍要將寄存器名字轉(zhuǎn)換為直接地址。

當(dāng)直接尋址時(shí)在工作寄存器區(qū)中時(shí),可以使用兩種尋址方式來(lái)訪(fǎng)問(wèn)。如:

MOVA,00H

;將RAM中00H單元數(shù)據(jù)送累加器A

MOVA,R0

;將工作寄存器R0的內(nèi)容送累加器A

這里使用了不同的尋址方式,其指令的結(jié)構(gòu)也不相同。前者是:11100101(E5H)、00000000(00H)

雙字節(jié)。后者的機(jī)器碼是:11101000(E8H)

單字節(jié);

在物理結(jié)構(gòu)上,R0與RAM的00H單元恰好是同一單元,所以不同的指令而執(zhí)行結(jié)果是一樣的。

類(lèi)似的還有累加器A:

INCA

寄存器尋址方式(單字節(jié));

INCACC

直接尋址方式(雙字節(jié));

INCE0H

直接尋址方式(雙字節(jié))。

一.立即尋址方式

在指令系統(tǒng)中:字節(jié)地址與位地址是完全不同的概念。前者用direct表示,而后者用bit表示,但在指令中都是用16進(jìn)制表示的數(shù)。如:

MOVA,20H

;將RAM的20H單元內(nèi)容送A

MOVC,20H

;將位尋址區(qū)中的位地址為20H位內(nèi)容送PSW中的Cy中。片內(nèi)RAM(20H-2FH)中的位尋址區(qū)結(jié)構(gòu)圖7F7E7D7C7B7A797877767574737271706F6E6D6C6B6A696867666564636261605F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A393837262524232221202F2E2D2C2B2A292827262524232221201F1E1D1C1B1A191817161514131211100F0E0D0C0B0A090807060504030201002FH20H字節(jié)地址24H位地址以通用寄存器的內(nèi)容為操作數(shù)的尋址方式。

通用寄存器指A,B,DPTR,R0-R7

例:

MOVA,R0

;AR0

設(shè)指令執(zhí)行前A=20H,R0=40H,

執(zhí)行指令后,A=?,R0=?40H40H01000000A00100000R001000000三.寄存器尋址方式目的地寄存器尋址直接尋址立即數(shù)尋址寄存器間接尋址變址尋址相對(duì)尋址位尋址寄存器目的地操作數(shù)XXHMOVP1,A寄存器R0-R7A

B

DPTR你能說(shuō)出為什么叫寄存器尋址嗎?

以寄存器中內(nèi)容為地址,以該地址中內(nèi)容為操作數(shù)的尋址方式。存放地址的寄存器稱(chēng)為間址寄存器或數(shù)據(jù)指針,包括R0,R1,DPTR,SP等。例: MOVA,@R0 ;A(R0)設(shè)指令執(zhí)行前A=20H,R0=40H,地址為40H存儲(chǔ)器單元內(nèi)容如圖。執(zhí)行指令后,A=?,R0=?,(40H)=?

41H 67H

40H30H30H40H30HR040H四.寄存器間接尋址方式寄存器尋址直接尋址立即數(shù)尋址寄存器間接尋址變址尋址相對(duì)尋址位尋址MOVP1,@R0目的地寄存器操作數(shù)3AH內(nèi)部RAM3AH65H3AHR0R1

DPTR寄存器間接尋址寄存器目的地2號(hào)信在2號(hào)箱子里1號(hào)你能說(shuō)出1號(hào)箱子和2號(hào)箱子分別對(duì)應(yīng)內(nèi)存中哪一部分嗎?一.立即尋址方式使用寄存器間址指令時(shí)應(yīng)注意的三個(gè)問(wèn)題:

間址寄存器Ri只能使用R0、R1寄存器(i=0、1)。

間址方式不僅用于片內(nèi)RAM,同樣也適用于片外RAM。對(duì)于片內(nèi)RAM使用Ri寄存器,尋址范圍為00H~FFH。

對(duì)于片外RAM,可以使用Ri,也可以使用DPTR做間址寄存器,兩者區(qū)別在于后者尋址范圍為0000H~FFFFH。

間址方式的指令不能訪(fǎng)問(wèn)SFR中的單元。如下面的程序是錯(cuò)誤的:

MOVR1,#80HMOVA,@R1

(因?yàn)?0H為SFR的物理地址)五.變址尋址方式指令使用DPTR或PC中的內(nèi)容作為基地址,再與累加器A的內(nèi)容相加,其和作為操作數(shù)地址。如:

MOVCA,@A+PC

;PC內(nèi)容與A的內(nèi)容相加得操作數(shù)地址并將此操作數(shù)送A

MOVCA,@A+DPTR;DPTR內(nèi)容與A的內(nèi)容相加得操作數(shù)地址并將此操作數(shù)送A使用變址指令時(shí),要事先分別為A、DPTR賦值,以便獲得操作數(shù)得地址。變址指令只適用于對(duì)ROM存儲(chǔ)器得訪(fǎng)問(wèn),如查表等。一.立即尋址方式

【舉例】:已知ROM中0302H單元有一個(gè)數(shù)01H,現(xiàn)要把它送到累加器A中,試編程。

MOVDPTR,#0300H

;立即數(shù)送DPTR

MOVA,#02H

;立即數(shù)送累加器A

MOVCA,@A+DPTR

;從ROM的00302單元取數(shù)送A五.變址尋址方式ROM

0102H0300HALU0302H累加器ADPTR0300H+02H0302H變址尋址示意圖:寄存器尋址直接尋址立即數(shù)尋址寄存器間接尋址變址尋址相對(duì)尋址位尋址MOVCA,@A+DPTR目的地基址寄存器0012H變址寄存器34HROM0046H65HADPTRPC0046H對(duì)位地址中的內(nèi)容作位操作的尋址方式。它其實(shí)是一種直接尋址方式。例:MOVC,40H ;Cy(位地址40H)設(shè)指令執(zhí)行前Cy=1,位地址40H存儲(chǔ)器單元如上圖,執(zhí)行指令后,Cy=?0六.位尋址方式28H0110001029H11010111位尋址區(qū)47H-40H位地址號(hào)4FH-48H寄存器尋址直接尋址立即數(shù)尋址寄存器間接尋址變址尋址相對(duì)尋址位尋址20H······27H21H28H21H20H100000000想一想:如果想使27H單元的第3位置1,該怎么辦呢?七、相對(duì)尋址

以當(dāng)前程序計(jì)數(shù)器PC的內(nèi)容為基礎(chǔ),加指令給出的一偏移量形成新的PC值的尋址方式。

例如:SJMP54H

;(80H、54H)

54H2002H程序存儲(chǔ)器ROM80H54H

ALU2056H累加器APC2002H+54H2056H操作碼偏移量2000H2002H(LOOP1)目的地寄存器尋址直接尋址立即數(shù)尋址寄存器間接尋址變址尋址相對(duì)尋址XXH位尋址操作數(shù)SJMP54HPC+54HPC2002H······2002H=2056HPC2056H相對(duì)尋址使用中應(yīng)注意的問(wèn)題:與絕對(duì)尋址相比,相對(duì)尋址具有很好的“浮動(dòng)性”,因此是編程人員普遍使用的一種尋址方式。使用時(shí),要注意3點(diǎn):CPU進(jìn)行地址計(jì)算時(shí),PC取值是執(zhí)行本指令后的地址值。以上面的例子說(shuō)明:指令本身的首地址是2000H,執(zhí)行完后變?yōu)?002H(既下一條指令的首地址)。如果使用三字節(jié)的相對(duì)轉(zhuǎn)移指令,則PC=PC+3。偏移量的計(jì)算:

rel=目標(biāo)地址-源地址-2(2字節(jié)指令)或:rel=目標(biāo)地址-源地址-3(3字節(jié)指令)

結(jié)果用補(bǔ)碼的形式書(shū)寫(xiě)。為了減少計(jì)算偏移量的計(jì)算,匯編程序允許使用“符號(hào)地址”的方式代替偏移量。如:

SJMPloop1

匯編程序在翻譯時(shí),自動(dòng)計(jì)算并將結(jié)果替換符號(hào)地址。如果轉(zhuǎn)移地址的范圍超過(guò)相對(duì)尋址的范圍(如:-127~+128)時(shí),就要采用別的方式法,否則在編譯時(shí),提示出錯(cuò)。尋址比較MOVP1,R0③地址是寄存器R0MOVP1,@R0②地址在寄存器R0里MOVP1,20H④地址是內(nèi)存20HMOVP1,#20H①直接將20H這個(gè)數(shù)送P1口錯(cuò)!錯(cuò)!錯(cuò)!MOVP1,R0對(duì)!尋址比較MOVP1,R0③地址是寄存器R0MOVP1,@R0②地址在寄存器R0里面MOVP1,20H④地址是內(nèi)存20HMOVP1,#20H①直接將20H這個(gè)數(shù)送P1口錯(cuò)!錯(cuò)!錯(cuò)!MOVP1,@R0對(duì)!尋址比較MOVP1,R0③地址是寄存器R0MOVP1,@R0②地址在寄存器R0里面MOVP1,20HMOVP1,#20H①直接將20H這個(gè)數(shù)送P1口錯(cuò)!錯(cuò)!錯(cuò)!MOVP1,20H對(duì)!④地址是內(nèi)存20H尋址比較MOVP1,R0③地址是寄存器R0MOVP1,@R0②地址在寄存器R0里MOVP1,20H④地址是內(nèi)存20HMOVP1,#20H①直接將20H這個(gè)數(shù)送P1口錯(cuò)!錯(cuò)!錯(cuò)!MOVP1,#20H對(duì)!總結(jié):尋址方式

尋址范圍直接尋址只能尋址片內(nèi)RAM(00H~FFH)寄存器尋址只能尋址A,B,DPTR,R0~R7寄存器間接尋址只能尋址內(nèi)部RAM和片外RAM,不可尋址SFR變址尋址只能尋址ROM(MOVC)相對(duì)尋址只能尋址ROM3-3 MCS-51指令分類(lèi)指令按功能可分為如下幾類(lèi):12345數(shù)據(jù)傳送指令算術(shù)運(yùn)算類(lèi)指令邏輯運(yùn)算指令程序轉(zhuǎn)移指令子程序調(diào)用及返回6位操作指令一.立即尋址方式3.3傳送指令的特點(diǎn)數(shù)據(jù)傳送是編程中使用最多、最主要的操作。它的功能是將數(shù)據(jù)在累加器、片內(nèi)的RAM、SFR及片外ROM、RAM之間進(jìn)行傳送。在傳送類(lèi)指令中,必須指定被傳送數(shù)據(jù)的源地址和目標(biāo)地址。在傳送過(guò)程中,源地址的內(nèi)容不被改變。傳送類(lèi)指令除了以累加器A為目標(biāo)的傳送對(duì)PSW的P有影響外,其余的傳送類(lèi)指令對(duì)PWS一概無(wú)影響。操作碼數(shù)據(jù)的目標(biāo)地址數(shù)據(jù)的源地址【舉例】:MOVA,R0;將R0寄存器中的數(shù)據(jù)送累加器A中(注意尋址方式)指令通式:MOV

<dest>,<src>3-3-1數(shù)據(jù)傳送指令12345內(nèi)部傳送指令外部傳送指令交換指令堆棧指令查表指令數(shù)據(jù)傳送指令實(shí)現(xiàn)寄存器、存儲(chǔ)器之間的數(shù)據(jù)傳送一.立即尋址方式一、內(nèi)部傳送指令:實(shí)現(xiàn)片內(nèi)數(shù)據(jù)存儲(chǔ)器中數(shù)據(jù)傳送。

指令格式:

MOV目的操作數(shù),源操作數(shù)

指令通式:MOV<dest>,<src>

尋址方式:立即尋址、直接尋址、寄存器尋址、寄存器

間接尋址MOVA,Rn;A←Rn

MOVA,direct;A←(direct)

MOVA,@Ri;A←(Ri)

MOVA,#data

;A←data指令機(jī)器碼:

E8~EFE5

directE6、E774data

(1)

以A為目的操作數(shù):

一.立即尋址方式例1:順序執(zhí)行下列指令序列,求每一步執(zhí)行結(jié)果。MOVA,#30H MOV40H,A MOVR0,#20H MOV@R0,40H MOV30H,20H;A=30H;(40H)=30H;R0=20H;(20H)=30H;(30H)=30H(1)以A為目的操作數(shù):

一.立即尋址方式(2)

以Rn為目的操作數(shù):MOVRn,A;Rn←A

MOVRn,direct;Rn←(direct)

MOVRn,#data;Rn←data指令機(jī)器碼:

F8~FFA8~AFdirect78~7Fdata例2:以知A=2BH,R1=16H,(40H)=50H,執(zhí)行下面各指令MOVR1,AMOVR2,40H MOVR3,#33H

;R1=2BH;R2=50H;R3=33H一.立即尋址方式

(3)

以直接地址為目的操作數(shù):

MOVdir,A;(dir)←AMOVdir,Rn;(dir)←RnMOVdir1,dir2;(dir1)←(dir2)MOVdir,#data;(dir)←dataMOVdir,@Ri;(dir)←(Ri)指令機(jī)器碼:

F5dir88~8Fdir85dir2dir175dirdata86~87dir例3:以知A=30H,(30)=40H,(40H)=5EH,執(zhí)行下面各指令MOV20H,AMOV30H,40H MOVR0,AMOV40H,@R0

;(20H)A,將A中數(shù)據(jù)取出送入20H單元;(30H)(40H),將40H單元中數(shù)據(jù)取出送入30H;R0A,將A中數(shù)據(jù)取出送入R0;(40H)(R0),將R0間接尋址的單元中數(shù)據(jù)送入40H單元一.立即尋址方式(4)

以間接地址為目的操作數(shù):

MOV@Ri,A;(Ri)←AMOV@Ri,dir;(Ri)←dirMOV@Ri,#data;(Ri)←data

例4:設(shè)(30H)=6FH,R1=40H,

MOV@R1,30H

;30H單元中數(shù)據(jù)取出送入R1

間接尋址的40H單元,

(40H)=6FH

MOVDPTR,#data16

;DPTR←data16(5)

以DPTR為目的操作數(shù):說(shuō)明:

4.只有指令表中的指令才有對(duì)應(yīng)指令代碼,計(jì)算機(jī)才能執(zhí)行。編程時(shí),不能隨意創(chuàng)造發(fā)明指令。1.一條指令中不能同時(shí)出現(xiàn)兩個(gè)工作寄存器:

非法指令: MOVR1,R2

MOVR2,@R02.間址寄存器只能使用R0、R1。

非法指令:MOVA,@R23.SFR區(qū)只能直接尋址,不能用寄存器間接尋址。

非法指令:MOVR0,#80H

MOVA,@R0;間接

MOVA,80H(√)一.立即尋址方式二、

外部傳送指令:實(shí)現(xiàn)片外數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器和累加器A之間的數(shù)據(jù)傳送。

指令格式:MOVX

目的操作數(shù),源操作數(shù)尋址方式:片外數(shù)據(jù)存儲(chǔ)器用寄存器間址方式。1.DPTR作16位數(shù)據(jù)指針,尋址64KB片外RAM空間

MOVXA,@DPTR ;A←(DPTR)

MOVX@DPTR,A ;(DPTR)←A

2.Ri作8位數(shù)據(jù)指針,尋址256B片外RAM空間

MOVX A,@Ri

;A←(P2Ri)

MOVX @Ri,A

;(P2Ri)←A指令機(jī)器碼E2~E3HF2~F3HE0HF0H(1)片外RAM數(shù)據(jù)傳送指令一.立即尋址方式

MOVDPTR,#2000H MOVXA,@DPTR MOVDPTR,#2100H MOVX@DPTR,A

;DPTR=2000H ;A=X ;DPTR=2100H ;(2100H)=X片外數(shù)據(jù)存儲(chǔ)器不能直接尋址。下列為非法指令:

MOVXA,2000H(×)MOVX2100H,2000H(×)例3:將片外數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)從2000H傳送到2100H。思考題:為什么對(duì)DPTR的數(shù)據(jù)傳送使用內(nèi)部傳送指令?習(xí)題:將片外RAM0000H單元的數(shù)據(jù)傳送到片內(nèi)RAM地址為60H的單元。一.立即尋址方式2,外部ROM的字節(jié)傳送指令指令格式:MOVC

目的操作數(shù),源操作數(shù)尋址方式:變址尋址方式。例如:MOVCA,@A+DPTR;A←(A+DPTR)MOVCA,@A+PC;PC←PC+1,A←(A+PC)

該指令也稱(chēng)為“查表”指令。在ROM中建立一個(gè)數(shù)據(jù)表,可以使用DPTR、PC作為數(shù)據(jù)表格的基地址。在第一條指令中:用DPTR作為基地址。使用前,先將數(shù)據(jù)表的首地址送入DPTR中,累加器A作為偏移量。由兩者數(shù)據(jù)相加得到待查的表中數(shù)據(jù)地址并取出。第二條指令是以程序計(jì)數(shù)器PC為基地址。由于PC的內(nèi)容與該指令在ROM中的位置有關(guān),所以一旦該指令在程序中的位置確定,其PC的值也就確定。外部ROM的字節(jié)傳送指令舉例:已知累加器A中存有0~9范圍內(nèi)的數(shù),試用查表指令編寫(xiě)出查找出該數(shù)平方的程序。1,采用DPTR作基址寄存器:設(shè)平方表的首地址為2000h,累加器A中的內(nèi)容恰好是查表的偏移量。首先將表的起始地址2000h送入DPTR中。

MOVDPTR,#2000H

;指針賦值

MOVCA,@A+DPTR

;平方值送AROM01491625364964812000h2009h2008h2007h2006h2005h2004h2003h2002h2001h2,采用PC作基址寄存器:與DPTR不同,使用PC作為基地址時(shí),必須對(duì)累加器A的數(shù)據(jù)進(jìn)行修正,以保證@A+PC恰好找到待查的平方值地址。

ORG1FFBH1FFBH74dataADDA,#data

;data=02h1FFDH83H

MOVCA,@A+PC

;PC=1FFE1FFEH80FEH

SJMP$2000H

00H

DB0

;平房表首址2001H01H

DB12002H04H

DB42003H09H

DB92004H10H

DB162005H19H

DB25:::2009H51H

DB81

ENDdata為MOVC指令首地址與表頭地址之間的單元數(shù)。74hdata83h80hFEh01491625364964812000h2009h2008h2007h2006h2005h2004h2003h2002h2001h1FFFh1FFEh1FFDh1FFCh1FFBh返回例:查表法求Y=X2。設(shè)X(0≤X≤15)在片內(nèi)RAM的20H單元中,要求將查表求Y,存入片內(nèi)RAM的21H單元。解法1:以DPTR為基地址寄存器ORG1000H

SQU: MOVDPTR,#TAB

;確定表首地址(基地址)

MOVA,20H

;取X(偏移量

MOVCA,@A+DPTR

;查表求Y=X2

MOV21H,A

;保存Y

RET

;子程序結(jié)束 … ;其它程序段

ORG2000H

;常數(shù)表格首地址TAB: DB00,01,04,09,…,225

;平方表解法2:以PC為基地址寄存器指令地址

源程序

ORG1000H

;程序起始地址 1000H SQU: MOVA,20H

;取X 1002H ADDA,#03H

;修正偏移量 1004H MOVCA,@A+PC

;查表求Y=X2 1005H MOV21H,A

;存結(jié)果 1007H RET

;子程序結(jié)束 1008H TAB: DB00,01,04

;平方表 100BH DB09,…,225

思考題:當(dāng)0≤X≤255時(shí),如何用查表法編程求Y=X2。例4:設(shè)A=29H,(2AH)=38H,執(zhí)行指令XCHA,2AH后,A=? (2AH)=?三、

交換指令:

實(shí)現(xiàn)片內(nèi)RAM區(qū)的數(shù)據(jù)雙向傳送。1.字節(jié)交換指令

XCHA,Rn

;A?Rn

XCHA,@Ri

;A?(Ri)

XCHA,direct

;A?(direct)習(xí)題:將片內(nèi)RAM60H單元與61H單元的數(shù)據(jù)交換。XCH60H,61H←對(duì)嗎?38H29H指令機(jī)器碼:C8~CFHC6~C7HC5dir 為提供一種方便的累加器和寄存器或RAM之間的數(shù)據(jù)交換。避免了使用一般MOV傳送指令完成交換時(shí)的不便。2.半字節(jié)交換指令

XCHDA,@Ri;A0~3?(Ri)0~3

SWAPA;A4~7?A0~3習(xí)題:交換片內(nèi)RAM40H單元和41H單元的低半字節(jié)。指令機(jī)器碼:D6~D7HC4

例如:已知A=45H,R1=30H,(30H)=67H,

XCHD A,@R1

SWAPA A=

,(30H)=

,

一.立即尋址方式四、堆棧操作指令堆棧操作是一種特殊的數(shù)據(jù)傳送指令。堆棧:一個(gè)用來(lái)保存程序斷點(diǎn)、數(shù)據(jù)的特殊的存儲(chǔ)區(qū)域。在MCS-51單片機(jī)中,棧區(qū)是占用片內(nèi)RAM的存儲(chǔ)空間,具體棧位置由指針SP來(lái)確定(系統(tǒng)上電或復(fù)位時(shí),SP=07h)。

1,進(jìn)棧操作:pushdirect

;sp+1→sp,(direct)→(sp)2,出棧操作:popdirect

;(sp)→(direct),sp-1→spPUSH是進(jìn)棧(或稱(chēng)為壓入操作)指令。在數(shù)據(jù)入棧之前,SP指針自動(dòng)加1,然后將直接尋址單元中的數(shù)據(jù)壓入到SP指針?biāo)傅膯卧狿OP是出棧(或稱(chēng)為彈出操作)指令。執(zhí)行該指令,將SP指針?biāo)甘締卧獢?shù)據(jù)彈出到直接尋址單元中,然后將SP的內(nèi)容減1。一.立即尋址方式四、堆棧操作指令【注意】:①尋址方式為直接尋址,所以pushr0也是錯(cuò)誤的。②進(jìn)棧是堆棧向上“生長(zhǎng)”的過(guò)程,即sp+1;出棧則相反?!跋冗M(jìn)后出,后進(jìn)先出”。③系統(tǒng)上電時(shí),sp=07h。SP的值可以根據(jù)需要進(jìn)行修改,以適應(yīng)具體編程的需要。在確定棧區(qū)位置時(shí)要考慮對(duì)數(shù)據(jù)區(qū)的影響,以避免數(shù)據(jù)區(qū)與棧區(qū)沖突。

×

×

×

×

SP→ ×

×

×

×SP→

×

×例:設(shè)

A=02H,B=56H,執(zhí)行下列指令后,SP=?,A=?,B=?ASBR:MOVSP,#30H;設(shè)棧底

PUSHA PUSHB MOVA,#00H MOVB,#01H … POP B POPA B02H56H←PC←PC

×

×SP→

×

02H

×02H←PC56H←PC00H←PC01H←PC56H←PC02H1.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習(xí)題:找出指令錯(cuò)誤并改正:一.立即尋址方式3-3-2 算術(shù)運(yùn)算指令MCS-51的程序狀態(tài)字寄存器PSW為標(biāo)志寄存器。其格式如下:其中標(biāo)志位(自動(dòng)設(shè)置狀態(tài))為CY、AC、OV和P。用戶(hù)選擇位(編程設(shè)置狀態(tài))有RS0、RS1和F0。該類(lèi)指令共24條。主要是進(jìn)行無(wú)符號(hào)數(shù)的四則運(yùn)算。與數(shù)據(jù)傳送指令不同,多數(shù)算術(shù)運(yùn)算指令會(huì)影響標(biāo)志位的狀態(tài),即CPU執(zhí)行算術(shù)運(yùn)算指令后,根據(jù)數(shù)據(jù)操作情況自動(dòng)設(shè)置標(biāo)志位的狀態(tài)。功能:完成算術(shù)運(yùn)算、邏輯運(yùn)算和循環(huán)移位三大功能。特點(diǎn):大多指令都要由累加器A來(lái)存放一個(gè)源操作數(shù),并把操作結(jié)果放回累加器A中。 1)不帶進(jìn)位加法:指令格式:

ADD

A,源操作數(shù)(影響Cy、OV、AC、P)

ADDA,Rn;A←A+Rn

ADDA,direct;A←A+(direct)ADDA,@Ri;A←A+(Ri)

ADDA,#data;A←A+#data

例1:A=3BH,PSW=0,執(zhí)行指令A(yù)DDA,#3BH求:A=,Cy=,OV=,AC=,P=, PSW=?

一.加、減指令

1.加法指令

00111011

+00111011

0111011076H

0

0

1

101000001=41H

解:OV=Cy7?Cy6=0,無(wú)進(jìn)位Cy=0,產(chǎn)生輔助進(jìn)位AC=1,A中數(shù)據(jù)的個(gè)數(shù)為奇數(shù),P=1。一.立即尋址方式

10011010

11100011

+

0

1

01111101

2)帶進(jìn)位加法:

指令格式:

ADDCA,源操作數(shù)(影響Cy、OV、AC、P)

ADDCA,Rn;A←A+Rn+C

ADDCA,direct;A←A+(direct)+C

ADDCA,@Ri;A←A+(Ri)+C

ADDCA,#data;A←A+#data+C

其中:C來(lái)自PSW狀態(tài)寄存器中的進(jìn)借位C。例2:A=9AH,R2=E3H,PSW=0,執(zhí)行指令

ADDCA,R2

后求:A=,Cy=,OV=,AC=,P=, PSW=?

7DH

1

1

0

010000100=84H帶進(jìn)位加法指令A(yù)DDC用于多字節(jié)運(yùn)算例:設(shè)雙字節(jié)數(shù)X存在片內(nèi)RAM41H、40H單元,Y存在42H、43H單元,編程求Z=X+Y,并存入片內(nèi)RAM單元44H、45H、46H。ADDS:MOVA,40H ADDA,42H MOV44H,A MOVA,41H ADDCA,43H MOV45H,A MOVA,#0 ADDCA,#0 MOV46H,A RET;取被加數(shù)低字節(jié);加上加數(shù)低字節(jié);保存和的低字節(jié);取被加數(shù)高字節(jié);加上加數(shù)高字節(jié);保存和的高字節(jié);求高字節(jié)進(jìn)位;子程序結(jié)束一.立即尋址方式例:A=5AH,R2=5AH,Cy=0,執(zhí)行下列指令

SUBBA,R2求: A=,Cy=,OV=,P=,AC=?2.帶借位減法指令

指令格式:SUBBA,源操作數(shù)(影響Cy、OV、AC、P)

SUBBA,Rn

;A←A-Rn-C

SUBBA,direct

;A←A-(direct)-C

SUBBA,@Ri

;A←A-(Ri)-C

SUBBA,#data

;A←A-#data–C000000

習(xí)題:編程求雙字節(jié)減法。設(shè)X、Y存在片內(nèi)RAM60H起始單元,計(jì)算

Z=X-Y。一.立即尋址方式

3.增量、減量指令指令格式:

INC

單操作數(shù);加1指令

INCA

;A←A+1

INCRn

;Rn←Rn+1

INCdirect

;(direct)←(direct)+1

INC@Ri

;(Ri)←(Ri)+1

INCDPTR

;DPTR←DPTR+1指令格式:

DEC

單操作數(shù)

;減1指令

DECA

;A←A-1

DECRn

;Rn←Rn-1

DECdirect

;(direct)←(direct)-1

DEC@Ri

;(Ri)←(Ri)-1

注意:沒(méi)有指令

DECDPTR

可用指令

DECDPL

代替一.立即尋址方式二、乘除指令指令格式:MULAB ;BA←A×B,Cy←0, ;當(dāng)積高字節(jié)B=0,OV←0;B≠0,則OV←1

例:A=60H(96),B=C0H(192),執(zhí)行指令MULAB

后,

求:A=,B=,Cy=,OV=,P=?

解:

96×192=18432(4800H)00H

48H

0

1

0指令格式:DIVAB;A÷B,A←商,B←余Cy←0,

;當(dāng)除數(shù)B=0,OV←1;B≠0,則OV←0一.立即尋址方式例:A=60H(96),B=C0H(192),執(zhí)行指令MULAB

后,

求:A=,B=,Cy=,OV=,P=?

解:

96×192=18432(4800H)00H

48H

0

1

0例:A=F6H(156),B=0DH(13),執(zhí)行指令DIVAB

后求:A=,B=,Cy=,OV=,P=? 解:

156÷13=12(0CH),余數(shù)=0(00H)。12H

0CH

0

0

0思考題:如何實(shí)現(xiàn)多字節(jié)數(shù)據(jù)的乘除運(yùn)算。十進(jìn)制加法指令:

ADDA,源操作數(shù)

DAA帶進(jìn)位十進(jìn)制加法指令:

ADDCA,源操作數(shù)

DAA

作業(yè):BCD碼加法編程。 設(shè)X、Y為4位壓縮BCD碼,求Z=X+Y。三、BCD調(diào)整指令:

DA A

;對(duì)A中加法結(jié)果進(jìn)行調(diào)整,且必須跟;在ADD或ADDC指令之后。1)“與”操作指令

ANLA,Rn;A←A∧Rn

ANLA

,direct

;A←A∧(direct)

ANLA,@Ri;A←A∧(Ri)

ANLA,#data;A←A∧#data

ANLdirect,A;(direct)←(direct)∧A

ANLdirect,#data;(direct)←(direct)∧#data3-3-3 邏輯運(yùn)算與循環(huán)類(lèi)指令

邏輯運(yùn)算指令共有24條。主要用于對(duì)8位數(shù)進(jìn)行邏輯“與”、“或”、“異或”、取反、清零以及循環(huán)移位。2)“或”操作指令

ORLA,Rn;A←A∨Rn

ORLA,direct

;A←A∨(direct)

ORLA,@Ri;A←A∨(Ri)

ORLA,#data;A←A∨#data

ORLdirect,A;(direct)←(direct)∨A

ORLdirect,#data;(direct)←(direct)∨#data3-3-3 邏輯運(yùn)算與循環(huán)類(lèi)指令5)8位循環(huán)指令

RLA;A循環(huán)左移一位

RRA;A循環(huán)右移一位3)“異或”操作指令

XRLA,Rn;A←ARn

XRLA,direct;A←A(direct)

XRLA,@Ri;A←A(Ri)

XRLA,#data;A←A#data

XRLdirect,A;(direct)←(direct)A

XRLdirect,#data;(direct)←(direct)#data4)求反與清除指令

CPLA;A←A

CLRA;A←0A7←A0A7→A06)9位循環(huán)指令

RLCA;帶Cy循環(huán)左移一位

RRCA;帶Cy循環(huán)右移一位

例2:A=23H,執(zhí)行指令

CPLA

后,A=? 解:

23H取反為DCH。

例1:A=23H,(20H)=40H,執(zhí)行指令

ANLA,20H后

A=? 解:23H∧40H=00H

例3:A=20H,執(zhí)行指令

RLA

后,A=? 解:

A中的各位向左移1位后,A=40H。00HDCH40HA7→A0A7←A0CyCy例4:設(shè)

A=11000101,Cy=0,分別執(zhí)行下列單條指令:

CPLA

求:A=,Cy=

RLA RLCA

10001010

1例5:編程將寄存器R6R5中的雙字節(jié)數(shù)X左移一位。CLR CMOV A,R5RLC AMOV R5,AMOV A,R6RLC AMOV R6,A0CyR6R5Cy;Cy=0,設(shè)R6=55H,R5=AAH;R6=01010101,R5=10101010,Cy=0;R6=01010101,R5=01010100,Cy=1;R6=10101011,R5=01010100,Cy=0思考題:如何將寄存器R2中的數(shù)據(jù)奇數(shù)位取反,偶數(shù)位不變?

轉(zhuǎn)移指令通過(guò)改寫(xiě)PC的當(dāng)前值,從而改變CPU執(zhí)行程序的順序,使程序發(fā)生跳轉(zhuǎn)。按轉(zhuǎn)移條件分類(lèi):1)無(wú)條件轉(zhuǎn)移:

執(zhí)行無(wú)條件轉(zhuǎn)移指令,程序無(wú)條件轉(zhuǎn)移到指定處。2)條件轉(zhuǎn)移:

指令中給出轉(zhuǎn)移條件,執(zhí)行指令時(shí),先測(cè)試條件,若滿(mǎn)足條件,則程序發(fā)生轉(zhuǎn)移,否則仍順序執(zhí)行程序。按轉(zhuǎn)移方式分類(lèi):1)絕對(duì)轉(zhuǎn)移:指令給出轉(zhuǎn)移目的的絕對(duì)地址

nn,執(zhí)行指令后,PC?nn。2)相對(duì)轉(zhuǎn)移:指令給出轉(zhuǎn)移目的與轉(zhuǎn)移指令的相對(duì)偏移量e,執(zhí)行指令后,PC?PC+e。3-3-4轉(zhuǎn)移指令1、無(wú)條件轉(zhuǎn)移指令:

格式:

LJMPaddr16

長(zhǎng)轉(zhuǎn)移指令,尋址范圍65535;

AJMPaddr11

絕對(duì)轉(zhuǎn)移,尋址范圍2K;

SJMPrel

短轉(zhuǎn)移,轉(zhuǎn)移范圍(+127~-128);

JMP@A+DPTR

變址轉(zhuǎn)移,尋址范圍65535。02Haddr15~8addr7~0a10~8

00001a7

~a080Hrel73HLJMP指令(三字節(jié))AJMP指令(雙字節(jié))SJMP指令(雙字節(jié))JMP指令(單字節(jié))(1)長(zhǎng)轉(zhuǎn)移指令:(三字節(jié)雙周期指令)指令執(zhí)行時(shí),將指令碼中的addr16送入PC中,使程序無(wú)條件的轉(zhuǎn)向addr16所指向的新地址執(zhí)行程序?!九e例】:已知某單片機(jī)的監(jiān)控程序地址為A080H,試問(wèn)用什么方法使單片機(jī)開(kāi)機(jī)后自動(dòng)的轉(zhuǎn)向該監(jiān)控程序?【解】:

因?yàn)閱纹瑱C(jī)上電時(shí),PC=0000H,所以在0000H單元存放一條LJMP0A080H

的指令即可。LJMPA0H80HROM0000H0001H0002H0003H(2)絕對(duì)轉(zhuǎn)移指令:雙字節(jié)、雙周期指令。將AJMP指令中的11位轉(zhuǎn)移地址替換掉原來(lái)PC中16位地址中的低11位地址。指令中的11位地址,確定了地址的轉(zhuǎn)移范圍在2K以?xún)?nèi),所以AJMP也稱(chēng)“頁(yè)內(nèi)轉(zhuǎn)移”指令。101

0000110100101

XXXX

X

10110100101A10a9a8操作碼a7~a0AJMP指令PC程序計(jì)數(shù)器MCS-15的ROM系統(tǒng)是以2K為一頁(yè)來(lái)劃分程序存儲(chǔ)器,這樣對(duì)于4K的片內(nèi)ROM存儲(chǔ)器可以分為2頁(yè);片外64K的ROM可以分為32頁(yè)。在執(zhí)行AJMP指令時(shí),PC的高5位決定了ROM中的頁(yè)地址;而AJMP

指令的低11位地址用來(lái)選擇頁(yè)內(nèi)地址。在一般情況下,AJMP指令應(yīng)當(dāng)與目標(biāo)地址在同一頁(yè)內(nèi)。更具體的說(shuō):目標(biāo)地址應(yīng)當(dāng)與AJMP指令取出后的PC值(PC=PC+2)在同一頁(yè)內(nèi)。否則轉(zhuǎn)移將會(huì)出現(xiàn)錯(cuò)誤。ROM的64K存儲(chǔ)空間的頁(yè)面(部分)劃分表頁(yè)面PC高5位頁(yè)內(nèi)地址頁(yè)面PC高5位頁(yè)內(nèi)地址0頁(yè)000000000H~07FFH

8頁(yè)010004000H~47FFH1頁(yè)000010800H~0FFFH

9頁(yè)010014800H~4FFFH2頁(yè)000101000H~17FFH10頁(yè)010105000H~57FFH3頁(yè)000111800H~1FFFH11頁(yè)010115800H~5FFFH4頁(yè)001002000H~27FFH12頁(yè)011006000H~67FFH5頁(yè)001012800H~2FFFH13頁(yè)011016800H~6FFFH6頁(yè)001103000H~37FFH14頁(yè)011107000H~77FFH7頁(yè)001113800H~3FFFH15頁(yè)011117800H~7FFFHROM的64K存儲(chǔ)空間的頁(yè)面示意圖

::::AAA:MOVA,R0MOVR1,A::AJMPAAA0100H07FEH00000111

11111110PC值0000100000000000PC+2值00001001

00000000AJMP指令中的11位地址原本AJMP指令要轉(zhuǎn)到本頁(yè)的0100H

單元但是由于PC的高5位頁(yè)面地址發(fā)生了變化使AJMP指令實(shí)際轉(zhuǎn)到下一頁(yè)0900H單元。最后PC值發(fā)生跨頁(yè)錯(cuò)誤AJMP轉(zhuǎn)一指令是用來(lái)做頁(yè)內(nèi)2K范圍的轉(zhuǎn)移,如果使用不當(dāng),會(huì)發(fā)生錯(cuò)誤的“跨頁(yè)”操作。產(chǎn)生跨頁(yè)的原因是AJMP指令處于每一頁(yè)的最后兩個(gè)單元的結(jié)果,所以避免這種現(xiàn)象的方法就是不要在每一頁(yè)的最后兩個(gè)單元使用AJMP指令。如果目標(biāo)地址與AJMP地址不再同一頁(yè)內(nèi),建議使用LJMP指令替代AJMP。使用AJMP指令時(shí),11位的絕對(duì)地址可以用符號(hào)地址取代正確使用AJMP轉(zhuǎn)移指令(3)短轉(zhuǎn)移SJMP指令格式:SJMPrel

rel

為偏移量(+127~-128)rel(偏移量)的計(jì)算公式:

rel=目標(biāo)地址–源地址–2

(其中:2為SJMP指令的長(zhǎng)度)【例1】:如圖,要轉(zhuǎn)到0116H時(shí):

rel=0116H-0110H-2=04H【例2】:要轉(zhuǎn)到0109H時(shí):

rel=0109H-0110H-2=F7H(-9)實(shí)際編程時(shí),使用符號(hào)地址取代rel以簡(jiǎn)化計(jì)算,在匯編時(shí)由匯編程序來(lái)計(jì)算rel。SJMPrelPCPC+20109H0110H0116H(5)變址轉(zhuǎn)移指令格式:JMP@A+DPTR

單字節(jié)操作碼為73H特點(diǎn):轉(zhuǎn)移地址由累加器A的內(nèi)容與DPTR相加形成,轉(zhuǎn)移范圍64KB。用途:用來(lái)制作一個(gè)多分支的轉(zhuǎn)移結(jié)構(gòu)?!九e例】: MOVDPTR,#TABLE;指針賦表頭地址

JMPA,@A+DPTR

;轉(zhuǎn)移地址由A+DPTR產(chǎn)生

TABLE:

AJMPROUT0

;多分支轉(zhuǎn)移表

AJMPROUT1

AJMPROUT1

AJMPROUT2

: :返回

2.條件轉(zhuǎn)移指令1.判零轉(zhuǎn)移指令

JZrel;若A=00H,PC←PC+2+rel(轉(zhuǎn)移), ;若A≠00H,PC不轉(zhuǎn)移,順序執(zhí)行

JNZrel

;若A≠00H,PCPC←PC+2+rel(轉(zhuǎn)移) ;若A=00H,PC不轉(zhuǎn)移,順序執(zhí)行

條件轉(zhuǎn)移指令形成程序的分支,賦予計(jì)算機(jī)判斷決策能力。

轉(zhuǎn)移條件:1)標(biāo)志位的狀態(tài)2)位地址中的狀態(tài)

2.判Cy轉(zhuǎn)移指令

JCrel

;Cy=1則轉(zhuǎn)移(PC←PC+2+rel),

;Cy=0不轉(zhuǎn)移

JNCrel

;Cy=0則轉(zhuǎn)移(PC←PC+2+rel),;Cy=1不轉(zhuǎn)移3.判位轉(zhuǎn)移指令

JBbit,rel

;(b)=1轉(zhuǎn)移(PC←PC+3+rel),;否則不轉(zhuǎn)移

JNBbit,rel

;(b)=0轉(zhuǎn)移(PC←PC+3+rel),;否則不轉(zhuǎn)移JBCbit,rel

;(b)=1轉(zhuǎn)移(PC←PC+2+rel),;且(bit)←0;;否則不轉(zhuǎn)移4.比較不相等轉(zhuǎn)移指令:

CJNEA,direct,rel;若A≠(direct),則轉(zhuǎn)移

;(PC←PC+3+rel),

;否則程序順序執(zhí)行

CJNEA,#data,rel

;若A≠#data,則轉(zhuǎn)移

;(PC←PC+3+rel),

;否則程序順序執(zhí)行

CJNE@Ri,#data,rel;若(Ri)≠#data,則轉(zhuǎn)移

;(PC←PC+3+rel),

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論