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

下載本文檔

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

文檔簡(jiǎn)介

《微型計(jì)算機(jī)原理及接口技術(shù)》授課專業(yè):自動(dòng)化授課學(xué)時(shí):60學(xué)時(shí)1第三章MCS-51單片機(jī)指令系統(tǒng)3.1指令系統(tǒng)概述13.2數(shù)據(jù)傳送類指令23.3算術(shù)運(yùn)算類指令33.4邏輯運(yùn)算類指令43.5控制轉(zhuǎn)移類指令53.6位操作類指令62§3.1指令系統(tǒng)概述2學(xué)習(xí)內(nèi)容1指令概述尋址方式31、概念指令:是指示單片機(jī)完成特定操作的命令。

指令系統(tǒng):是單片機(jī)能夠執(zhí)行的全部命令的集合。匯編語言指令:用助記符、符號(hào)地址、標(biāo)號(hào)等表示的書寫程序的語言。2、指令的格式一、指令概述[標(biāo)號(hào):]操作碼助記符[目的操作數(shù),][源操作數(shù)][;注釋]如:START:

MOV

A,#01H

;A←#01H

標(biāo)號(hào)

操作碼助記符

操作數(shù)

注釋4注:標(biāo)號(hào)由1~6個(gè)字符數(shù)字串組成,第一個(gè)必須是字母;不一定每句都有標(biāo)號(hào),標(biāo)號(hào)不產(chǎn)生目標(biāo)代碼;匯編語言中已經(jīng)有確切定義的符號(hào)不能作為標(biāo)號(hào);同一標(biāo)號(hào)在一個(gè)程序中只能定義一次;標(biāo)號(hào)后面必須跟冒號(hào)。標(biāo)號(hào):給該條語句起個(gè)名字,以便在其它語句中尋找該條語句,它代表該條語句所在的地址。5注:操作數(shù)可以是數(shù)的本身或其所在地址;十六進(jìn)制數(shù)以A~F打頭的數(shù)前面要加0,以區(qū)別于標(biāo)號(hào)。操作碼助記符:規(guī)定指令進(jìn)行何種操作,是指令中不能空缺的部分,一般采用具有相關(guān)含義的英語單詞或縮寫表示。操作數(shù):說明被操作的數(shù)的源及目的。注釋:為便于閱讀理解程序,對(duì)語句所作的解釋說明,不產(chǎn)生目標(biāo)代碼,用分號(hào)開始表示注釋。63、指令系統(tǒng)中有關(guān)符號(hào)說明符號(hào)含義Rn當(dāng)前R0-R7@RiR0R1(i=0,1)direct8位直接地址(內(nèi)部RAM的低128個(gè)單元的地址)或指SFR#data8/168位常數(shù)(立即數(shù))16位常數(shù)(立即數(shù))Addr11/1611位目的地址,16位目的地址rel轉(zhuǎn)移指令8位偏移量(補(bǔ)碼)-128~+127bit位地址/對(duì)該位內(nèi)容取反@間接尋址符號(hào)(前綴)(x)X存儲(chǔ)單元中的內(nèi)容((x))以X中的內(nèi)容為地址的存儲(chǔ)單元中的內(nèi)容7MCS-51匯編語言有111種指令,42種操作碼助記符用來描述33種操作功能。按功能分為數(shù)據(jù)傳送類:29條算術(shù)運(yùn)算類:24條邏輯運(yùn)算類:24條控制轉(zhuǎn)移類:17條位操作類:17條4、指令分類8按字節(jié)數(shù)分為單字節(jié)指令:49條雙字節(jié)指令:45條三字節(jié)指令:17條按運(yùn)算速度分為單周期指令:64條雙周期指令:45條四周期指令:2條9尋址方式:尋找指令中操作數(shù)的地址,并把操作數(shù)取出來的方法。51單片機(jī)一共七種尋址方式:立即尋址直接尋址寄存器尋址寄存器間接尋址變址尋址相對(duì)尋址位尋址二、MCS-51的尋址方式10它是操作數(shù)直接在指令中給出的尋址方式。這種操作數(shù)稱為立即數(shù),立即數(shù)有8位和16位兩種,立即數(shù)可以是十進(jìn)制,也可以是十六進(jìn)制,還可以二進(jìn)制。立即數(shù)前面帶“#”。1、立即尋址[例3-1]:

MOVA,#20H;A←#20HMOVA,#10000111B;A←#10000111BMOVA,#50;A←#50

MOVDPTR,#1808H ;DPTR←#1808H注:立即數(shù)只能作為源操作數(shù)。11MOVA,#20H;A←#20H即把20H這個(gè)數(shù)據(jù)送入累加器A中。PC分析74H20H操作碼立即數(shù)……PC執(zhí)行PCACC20HMOVA,#20H執(zhí)行示意圖執(zhí)行結(jié)果:(A)=20H12指令中直接給出操作數(shù)所在地址的尋址方式??捎梅?hào)“direct”表示指令中的直接地址,尋址范圍是內(nèi)部RAM的低128字節(jié)和SFR.2.直接尋址[例3-2]:

MOVA,20H;將片內(nèi)RAM20H單元中的內(nèi)容送入累加器A,70H為直接地址。13MOVA,20H;A←(20H)PC分析PC執(zhí)行PCE5H20H操作碼直接地址……ROM……62H……RAM20H……ACC62H執(zhí)行結(jié)果:(A)=62H14在指定的寄存器中存放操作數(shù)的尋址方式。這類寄存器包括工作寄存器R0~R7、A、B、DPTR。3.寄存器尋址[例3-3]:

MOVA,R0;把工作寄存器R0中的內(nèi)容傳送到累加器A中。15把操作數(shù)所在的地址存放在指定的寄存器中,而操作數(shù)本身則存放在該地址所對(duì)應(yīng)的存儲(chǔ)單元中的尋址方式。間接尋址寄存器前用“@”表示前綴。能夠用于寄存器間接尋址的寄存器有R0、R1、DPTR和SP(SP不用間接尋址符“@”)。4.寄存器間接尋址[例3-4]:

MOVA,@R0;A←((R0))16以16位寄存器(PC或DPTR)的內(nèi)容作為基址,以累加器A的內(nèi)容作為偏移量,將兩者進(jìn)行相加得到的和作為操作數(shù)地址。變址尋址只能對(duì)程序存儲(chǔ)器進(jìn)行尋址,分為兩種:以PC的當(dāng)前值為基址以DPTR的內(nèi)容為基址5.變址尋址17[例3-5]:

MOVCA,@A+PC;A←((A)+(PC))上述指令的功能是,PC的當(dāng)前值與累加器A的內(nèi)容相加,形成操作數(shù)的地址。[例3-6]:

MOVCA,@A+DPTR

;A←((A)+(DPTR))上述指令的功能是,DPTR的值與累加器A的內(nèi)容相加,形成操作數(shù)的地址。18ACCSFRROMDPLDPH30H20H48H2035H+[例3-7]:

將程序存儲(chǔ)器ROM中2035H單元的內(nèi)容讀入累加器A中:

MOVDPTR,#2030H;DPTR←#2030HMOVA,#05H;A←#05H

MOVCA,@A+DPTR;A←(2035H)05H48H19主要用于轉(zhuǎn)移指令,它是把指令中給出的相對(duì)地址偏移量rel與PC當(dāng)前值相加,得到程序轉(zhuǎn)移的目標(biāo)地址。6.相對(duì)尋址目標(biāo)地址=PC當(dāng)前值+rel=轉(zhuǎn)移指令所在地址+轉(zhuǎn)移指令字節(jié)數(shù)+relrel是一個(gè)帶符號(hào)的8位二進(jìn)制補(bǔ)碼,其取值范圍為

-128~127,負(fù)數(shù)表示從當(dāng)前地址向上轉(zhuǎn)移,正數(shù)表示從當(dāng)前地址向下轉(zhuǎn)移。20相對(duì)尋址方式示意圖程序存儲(chǔ)器ROM2002HSJMP/80H2009Hrel=07H07HPCPC→2000HPC+1→2001HPC+2→2002H…XXH…[例3-8]:在地址2000H處有一條相對(duì)轉(zhuǎn)移指令:SJMPloop

;機(jī)器碼:2000H80H07H

目標(biāo)地址=(2000+2+07)H=2009H。21指令中直接給出位操作數(shù)的地址。位地址可用符號(hào)“bit”表示。7.位尋址[例3-9]:MOVC,F(xiàn)0;CY←(F0)指令的功能:將位F0的內(nèi)容送到進(jìn)位標(biāo)志CY中。

[例3-10]:MOVC,2EH;CY←(2EH)

指令的功能:將位地址2EH的內(nèi)容送到進(jìn)位標(biāo)志CY中。22注:可供位尋址的區(qū)域:片內(nèi)RAM的20H~2FH為位尋址空間00~7FH;

凡是地址能被8整除的SFR,共11個(gè)。23表3-1尋址方式及尋址空間對(duì)照表尋址方式符號(hào)尋址空間寄存器尋址寄存器名工作寄存器R0~R7、A、B、DPTR直接尋址direct片內(nèi)RAM低128字節(jié)、特殊功能寄存器SFR寄存器間接尋址@R0、@R1、@DPTR片內(nèi)RAM低128字節(jié)〔@R0、@R1〕、片外RAM〔@R0、@R1、@DPTR〕立即尋址#data8或#data16程序存儲(chǔ)器(指令的常數(shù)部分)變址尋址@A+DPTR、@A+PC程序存儲(chǔ)器位尋址bit、/bit片內(nèi)RAM中的20H~2FH的128個(gè)位、特殊功能寄存器中可位尋址的位相對(duì)尋址rel程序存儲(chǔ)器256字節(jié)范圍(PC+rel)241、作業(yè):指出下列指令中源操作數(shù)的尋址方式MOVA,77HADDA,R2MOVA,#55HMOVA,@R1MOVCA,@A+DPTRMOVC,30HMOVXA,@R0MOV50H,AMOVCA,@A+PCSJMP34HADDA,#21直接尋址寄存器尋址立即尋址寄存器間接尋址變址尋址位尋址寄存器間接尋址寄存器尋址變址尋址相對(duì)尋址立即尋址25功能:進(jìn)行數(shù)據(jù)傳送。注意:數(shù)據(jù)傳送類指令一般不影響狀態(tài)標(biāo)志位。分類:片內(nèi)RAM傳送指令

MOV

片外RAM傳送指令

MOVX

ROM傳送指令

MOVC

數(shù)據(jù)交換指令

XCHXCHDSWAP

堆棧操作指令

PUSHPOP

§3.2數(shù)據(jù)傳送類指令26程序存儲(chǔ)器ROMEPROM特殊功能寄存器SFR片內(nèi)RAM128字節(jié)片外數(shù)據(jù)存儲(chǔ)器RAMMOVCMOVXMOVPUSHPOPXCHXCHDSWAP

數(shù)據(jù)傳送指令操作域示意圖27分類:1、以累加器A為目的地址的指令2、以寄存器Rn為目的地址的指令3、以直接地址為目的地址的指令4、以寄存器間接地址為目的地址的指令5、以DPTR為目的地址的16位指令特點(diǎn):傳送是在單片機(jī)內(nèi)部進(jìn)行,不需要通過外部總線交換數(shù)據(jù),速度比較快。指令助記符為:MOV一、片內(nèi)RAM傳送指令28指令格式:

MOVA,Rn

;A←(Rn)

MOVA,direct;A←(直接地址)

MOVA,@Ri

;A←((Ri))

MOVA,#data;A←立即數(shù)指令解釋:把源操作數(shù)送入累計(jì)器A中。1、以累加器A為目的地址的指令29舉例說明:

[例3-11]:

已知(R1)=40H;(30H)=12H;(40H)=34H,求分別執(zhí)行下列指令后結(jié)果。①M(fèi)OVA,R1②MOVA,30H③MOVA,@R1④MOVA,#56H各指令執(zhí)行后結(jié)果:(A)=①40H、②12H、③34H、④56H30指令格式:

MOVRn,A;Rn←(A)

MOVRn,direct;Rn←(直接地址)

MOVRn,#data;Rn←立即數(shù)指令解釋:把源操作數(shù)送入工作寄存器Rn中。2、以寄存器Rn為目的地址的指令31舉例說明:

[例3-12]:

已知(A)=40H;(30H)=12H;(40H)=34H,求分別執(zhí)行下列指令后結(jié)果。①M(fèi)OVR1,A②MOVR1,30H③MOVR1,#40H各指令執(zhí)行后結(jié)果:(R1)=①40H、②12H、③40H32指令格式:

MOVdirect,A;direct←(A)

MOVdirect,Rn

;direct←(Rn)

MOVdirect1,direct2;direct1←(direct2)

MOVdirect,@Ri

;direct←((Ri))MOVdirect,#data;direct←立即數(shù)指令解釋:將源操作數(shù)送入直接地址所指的存儲(chǔ)單元中。3、以直接地址為目的地址的指令33舉例說明:

[例3-13]:

已知(R1)=40H;(30H)=12H;(40H)=34H;(A)=78H,求分別執(zhí)行下列指令后結(jié)果。①M(fèi)OV50H,A②MOV50H,R1③MOV50H,30H④MOV50H,@R1⑤MOV50H,#56H各指令執(zhí)行后結(jié)果:(50H)=①78H、②40H、③12H、④34H、⑤56H34指令格式:

MOV@Ri,A;(Ri)←(A)

MOV@Ri,direct;(Ri)←(direct)

MOV@Ri,#data;(Ri)←立即數(shù)

指令解釋:把源操作數(shù)送入R0、R1指針間接尋址的片內(nèi)RAM單元中。4、以寄存器間接地址為目的地址的指令35舉例說明:

[例3-14]:

已知(R0)=40H;(30H)=12H;(A)=78H,求分別執(zhí)行下列指令后結(jié)果。①M(fèi)OV@R0,A②MOV@R0,30H③MOV@R0,#56H各指令執(zhí)行后結(jié)果:(40H)=①78H、②12H、③56H36指令格式:

MOVDPTR,#data16;DPTR←16位立即數(shù)指令解釋:把一個(gè)16位立即數(shù)送入DPTR寄存器。高8位送入DPH,低8位送入DPL。5、以DPTR為目的地址的16位指令37練習(xí)題2、設(shè)(30H)=40H;(40H)=10H;(P1)=0CAH,試判斷下列程序執(zhí)行后的結(jié)果。MOVR0,#30HMOVA,@R0MOVR1,AMOVB,@R1MOV@R1,P1MOVP2,P1

各指令執(zhí)行后結(jié)果:(A)=,(B)=,(40H)=,(P2)=。38特點(diǎn):此類指令實(shí)際是片外RAM與A之間的傳送指令。片外RAM單元只能采用寄存器間接尋址的方式來訪問,R0、R1、DPTR可作間接尋址的寄存器。指令助記符為:MOVX二、片外RAM傳送指令分類:

1、以DPTR間接尋址的指令

2、以R0和R1間接尋址的指令39指令格式:

MOVXA,@DPTR;A←((DPTR))

MOVX@DPTR,A;(DPTR)←(A)指令解釋:片外RAM單元的地址存于DPTR中,上述兩條指令,第一條指令是讀片外RAM單元中的內(nèi)容到A中;第二條指令是把A中內(nèi)容寫入片外RAM單元中。注意:DPTR是16位的地址指針,可尋址64KB(0000H~FFFFH)的外部RAM。1、以DPTR間接尋址的指令40舉例說明:

[例3-15]:將外部RAM中1000H單元中的內(nèi)容送入外部RAM中2000H單元中。已知(1000H)=12H,(2000H)=34H。

MOV DPTR,#1000H ;DPTR←#1000HMOVXA,@DPTR ;A←((DPTR))MOV DPTR,#2000H;DPTR←#2000HMOVX@DPTR,A;(DPTR)←(A)

41指令格式:

MOVXA,@Ri;A←((Ri))

MOVX@Ri,A;(Ri)←(A)指令解釋:片外RAM單元的地址存于Ri中,上述兩條指令,第一條指令是讀片外RAM單元中的內(nèi)容到A中;第二條指令是把A中內(nèi)容寫入片外RAM單元中。2、以R0和R1間接尋址的指令42注意:Ri(R0或R1)是8位的地址指針,可尋址256B(00H~FFH)的外部RAM。要想尋址64KB的范圍,可使P2口輸出外部RAM的高8位地址(頁(yè)地址,共256頁(yè)00H~FFH),而使Ri提供低8位地址(頁(yè)內(nèi)尋址,256B/頁(yè))。43舉例說明:

[例3-16]:將外部RAM2050H單元的內(nèi)容送入累加器A中。

MOVP2,#20H;P2←#20H,得到頁(yè)地址

MOVR1,#50H;R1←#50H,得到頁(yè)內(nèi)地址

MOVXA,@R1;A←(2050H)

或:

MOVDPTR,#2050H ;DPTR←#2050HMOVXA,@DPTR;A←(2050H)44特點(diǎn):ROM只能讀不能寫,數(shù)據(jù)傳送是單向的。指令助記符為:MOVC指令格式:

MOVCA,@A+PC;PC←(PC)+1,A←((A)+(PC))MOVCA,@A+DPTR;A←((A)+(DPTR))指令解釋:在程序存儲(chǔ)器中查尋表格常數(shù),并將它送入累加器A,也稱它為查表指令。三、片外ROM傳送指令45注意:第一條指令分別以當(dāng)前指令的PC作為基址寄存器,A作為變址寄存器,可尋址范圍是在當(dāng)前指令下256B之內(nèi)。第二條指令DPTR作為基址寄存器,可尋址范圍64KB?;芳拇嫫鲀?nèi)容與變址寄存器內(nèi)容相加形成16位地址。46舉例說明:

[例3-17]:將ROM1020H單元內(nèi)容送內(nèi)部RAM70H單元。

MOVA,#20HMOVDPTR,#1000HMOVCA,@A+DPTRMOV70H,A47四、數(shù)據(jù)交換指令分類:1、全字節(jié)交換指令XCH2、半字節(jié)交換指令XCHD3、高低四位互換指令SWAP48指令格式:

XCH A,direct;(A)←→(直接地址)

XCH A,Rn

;(A)←→(Rn)

XCH A,@Ri

;(A)←→((Ri))指令解釋:將A的內(nèi)容與源操作數(shù)相互交換。1、全字節(jié)交換指令49指令格式:

XCHD A,@Ri;(A)3~0←→((Ri))3~0指令解釋:將累加器A的低4位與Ri的間接尋址單元內(nèi)容的低4位相互交換,高4位不變。2、半字節(jié)交換指令50指令格式:

SWAPA;(A)7~4←→(A)3~0指令解釋:A中的高低4位互換。練習(xí)題:已知(A)=20H,(R1)=30H,(20H)=12H,(40H)=54H,求執(zhí)行下列指令后結(jié)果。

XCH A,R1 XCH A,40H XCH A,@R1XCHD A,@R1SWAPA3、高低四位互換指令;(A)=30H,(R1)=20H;(A)=54H,(40H)=30H;(A)=12H,(20H)=54H;(A)=14H,(20H)=52H;(A)=41H(A)=,(R1)=,(20H)=,(40H)=。41H20H52H30H51堆棧特點(diǎn):先進(jìn)后出或后進(jìn)先出。堆棧用途:用于保護(hù)和恢復(fù)CPU的工作現(xiàn)場(chǎng),也可實(shí)現(xiàn)內(nèi)部RAM單元之間的數(shù)據(jù)傳送和交換。堆棧指針:SP始終指向棧頂位置,初始化時(shí)對(duì)SP設(shè)定在內(nèi)部RAM的30H~7FH范圍內(nèi)。堆棧操作:入棧和出棧。五、堆棧操作類指令52指令格式:

PUSHdirect;SP←(SP)+1,(SP)←(direct)指令解釋:先將堆棧指針SP的內(nèi)容加1(指針上移一個(gè)單元),然后將直接尋址單元的內(nèi)容送到SP指針?biāo)傅亩褩卧校m敚?、進(jìn)棧指令53指令格式:

POPdirect;direct←((SP)),SP←(SP)-1指令解釋:先將堆棧指針SP所指的單元(棧頂)內(nèi)容彈出,并送入direct單元中,然后SP的內(nèi)容減1(指針下移一個(gè)單元)。注意:PUSH和POP要成對(duì)出現(xiàn)。2、出棧指令54功能:進(jìn)行數(shù)據(jù)算術(shù)運(yùn)算。注意:一般會(huì)影響狀態(tài)標(biāo)志位。分類:加法指令:3類減法指令:2類乘法指令除法指令

§3.3算術(shù)運(yùn)算類指令55指令格式:

ADDA,Rn ;A←(A)+(Rn)ADDA,direct;A←(A)+(直接地址)ADDA,@Ri ;A←(A)+((Ri))ADDA,#data;A←(A)+立即數(shù)指令解釋:將源操作數(shù)和累加器A中的操作數(shù)相加,其結(jié)果存放在A中。一、加法指令——不帶進(jìn)位56影響標(biāo)志位:CY、AC和P:若位D3向D4進(jìn)位,則AC=1,反之為0;若位D7進(jìn)位,則CY=1,反之為0;位D6、D7進(jìn)位情況會(huì)影響OV標(biāo)志,OV=C6⊕C7;A中1的個(gè)數(shù)影響P。57舉例說明:

[例3-20]:兩個(gè)無符號(hào)數(shù)放在A和R2中,設(shè)(A)=0C2H(194),(R0)=0BBH(187),執(zhí)行指令:

ADDA,R0

11000010+10111011111

01111101A中偶數(shù)個(gè)111001POVCYAC0異或PSW結(jié)果:(A)=7DH(125),CY=1,AC=0,OV=1,P=0.58指令格式:

ADDC A,Rn;A←(A)+(Rn)+(CY)ADDC A,direct;A←(A)+(直接地址)+(CY)ADDC A,@Ri;A←(A)+((Ri))+(CY)ADDC A,#data;A←(A)+立即數(shù)+(CY)指令解釋:將累加器A的內(nèi)容、指令中的源操作數(shù)和CY三者相加,并把結(jié)果存放到A中。一、加法指令——帶進(jìn)位59注意:ADDC指令對(duì)PSW標(biāo)志位的影響與ADD指令相同,這組指令常用于多字節(jié)加法運(yùn)算。舉例說明:

[例3-21]:兩個(gè)無符號(hào)數(shù)放在A和20H中,設(shè)(A)=85H,(20H)=0FFH,CY=1。執(zhí)行指令:

ADDCA,20H

結(jié)果:(A)=85H,CY=1,AC=1,OV=0,P=1.

60指令格式:

INC A;A←(A)+1INC Rn

;Rn←(Rn)+1INC direct;direct←(direct)+1INC @Ri

;(Ri)←((Ri))+1INC DPTR;DPTR←(DPTR)+1

指令解釋:將指定單元中的內(nèi)容加1后,結(jié)果仍保存在原單元。注意:除了標(biāo)志位P外,INC不影響其他標(biāo)志位。一、加法指令——加1指令61指令格式:

SUBB A,#data;A←(A)-立即數(shù)-(CY)SUBB A,direct;A←(A)-(直接地址)–(CY)SUBB A,@Ri ;A←(A)-((Ri))–(CY)SUBB A,Rn ;A←(A)-(Rn)–(CY)指令解釋:從累加器A減去源操作數(shù)及標(biāo)志位CY,其結(jié)果再送累加器A中。二、減法指令——帶借位62注意:系統(tǒng)沒有提供不帶借位的減法指令,若要進(jìn)行不帶借位的減法運(yùn)算,只需先將CY位清0即可。SUBB指令對(duì)PSW的標(biāo)志位產(chǎn)生影響同于加法指令。63舉例說明:

[例3-22]:設(shè)(A)=6CH,(R2)=40H,CY=0。執(zhí)行指令:SUBBA,R2

分析執(zhí)行結(jié)果及對(duì)標(biāo)志位的影響。

結(jié)果:(A)=2CH,CY=0,AC=0,OV=0,P=1

01101100-01000000000101100A中奇數(shù)個(gè)110010POVCYAC0異或PSW64指令格式:

DECA;A←(A)-1DECdirect;直接地址←(直接地址)-1DEC@Ri ;(Ri)←((Ri))-1DECRn;Rn←(Rn)-1指令解釋:將指定單元中的內(nèi)容減1后,結(jié)果仍保存在原單元。注意:除了標(biāo)志位P外,DEC不影響其他標(biāo)志位。且沒有對(duì)DPTR的減1操作指令。二、減法指令——減1指令65指令格式:

MULAB;B、A←(A)×(B)指令解釋:將累加器A和寄存器B中兩個(gè)8位無符號(hào)整數(shù)相乘,并把乘積的高8位存于寄存器B中,低8位存于累加器A中。

注意:乘法運(yùn)算指令時(shí)會(huì)對(duì)標(biāo)志位產(chǎn)生影響:CY位總是被清0,即CY=0;OV標(biāo)志則反映乘積的位數(shù),若乘積大于255,則OV=1,否則OV=0。影響P,不影響AC。

三、乘法指令66舉例說明:

[例3-23]:設(shè)(A)=64H,(B)=3CH,執(zhí)行指令:

MUL AB

結(jié)果為:(A)×(B)=1770H,(A)=70H,(B)=17H,CY=0,OV=1,P=1。67指令格式:

DIVAB;A商,B余←(A)/(B)指令解釋:將累加器A和寄存器B中的兩個(gè)8位無符號(hào)整數(shù)相除,所得商存于A中,余數(shù)存于B中。注意:除法運(yùn)算指令時(shí)會(huì)對(duì)標(biāo)志位產(chǎn)生影響:CY位總是被清0,即CY=0;OV標(biāo)志位的狀態(tài)反映寄存器B中的除數(shù)情況,若除數(shù)(B)為0,則OV=1,表示本次運(yùn)算無意義,否則,OV=0。影響P,不影響AC。

四、除法指令68舉例說明:

[例3-24]:設(shè)(A)=0F0H(240),(B)=20H(32)。執(zhí)行指令:

DIV AB

結(jié)果為:(A)=07H(商7),

(B)=10H(余數(shù)16),標(biāo)志位:OV=0,CY=0,P=1。69功能:進(jìn)行數(shù)據(jù)邏輯運(yùn)算。注意:一般不影響狀態(tài)標(biāo)志位。分類:邏輯與指令邏輯或指令邏輯異或指令累加器A的邏輯操作指令:3類§3.4邏輯運(yùn)算類指令70指令格式:

ANLA,#data;A←(A)∧立即數(shù)ANLA,Rn;A←(A)∧(Rn)ANLA,direct;A←(A)∧(直接地址)ANLA,@Ri;A←(A)∧((Ri))ANLdirect,#data;(direct)←(direct)∧立即數(shù)ANLdirect,A;(direct)←(direct)∧(A)一、邏輯與指令指令解釋:將目的操作數(shù)和源操作數(shù)的內(nèi)容逐位進(jìn)行邏輯“與”操作,結(jié)果送入目的地址中。。71指令格式:

ORLA,#data;A←(A)∨立即數(shù)ORLA,Rn;A←(A)∨(Rn)ORLA,direct;A←(A)∨(直接地址)ORLA,@Ri;A←(A)∨((Ri))

ORLdirect,#data;(direct)←(direct)∨立即數(shù)

ORLdirect,A;(direct)←(direct)∨(A)二、邏輯或指令指令解釋:將目的操作數(shù)和源操作數(shù)的內(nèi)容逐位進(jìn)行邏輯“或”操作,結(jié)果送入目的地址中。。72指令格式:

XRLA,#data;A←(A)⊕立即數(shù)

XRLA,Rn;A←(A)⊕(Rn)

XRLA,direct;A←(A)⊕(直接地址)

XRLA,@Ri;A←(A)⊕((Ri))

XRLdirect,#data;(direct)←(direct)⊕立即數(shù)

XRLdirect,A;(direct)←(direct)⊕(A)三、邏輯異與指令指令解釋:將目的操作數(shù)和源操作數(shù)的內(nèi)容逐位進(jìn)行邏輯“異或”操作,結(jié)果送入目的地址中。。73舉例說明

[例3-25]:設(shè)(A)=57H,(30H)=0FH,(R0)=3CH。分別執(zhí)行指令:

①ANLA,#11110000B②ORLA,30H③XRLA,R0

結(jié)果為:①(A)=50H②(A)=5FH③(A)=6BH

74注意ANL常用于位清0操作,即將需要清0的位與“0”相與,其余位與“1”相與不變。ORL常用于位置1操作,即將需要置1的位與“1”相或,其余位與“0”相或不變。XRL常用于位取反操作,即將需要取反的位與“1”相異或,其余位與“0”相異或不變。75練習(xí)題

3、分析下列程序段的執(zhí)行結(jié)果,并說明程序功能。

MOVA,#77HXRLA,#0FFHANLA,#0FH MOVP1,#64HANLP1,#0F0HORLA,P1

;(A)=77H;(A)=77H⊕0FFH=88H;(A)=88H∧0FH=08H;(P1)=64H;(P1)=64H∧0F0H=60H;(A)=08H∨60H=68H

結(jié)果為:(A)=68H;(P1)=60H76四、累加器A的邏輯操作指令分類:累加器A清0累加器A取反累加器A移位累加器A循環(huán)左移累加器A循環(huán)右移累加器A帶進(jìn)位循環(huán)左移累加器A帶進(jìn)位循環(huán)右移77指令格式

CLR A;A←0指令解釋將累加器A的內(nèi)容清“0”

。舉例說明

[例3-26]:設(shè)(A)=55H。執(zhí)行指令:

CLR A

結(jié)果為:(A)=00H1、累加器A清078指令格式

CPL A;A←/(A)指令解釋將累加器A的內(nèi)容逐位邏輯求反,結(jié)果仍存放在A中。舉例說明

[例3-27]:設(shè)(A)=55H。執(zhí)行指令:

CPL A

結(jié)果為:(A)=0AAH。

2、累加器A取反79指令格式

3、累加器A移位RLA:循環(huán)左移是將累加器A的內(nèi)容依次向左循環(huán)移動(dòng)1位。RRA:循環(huán)右移是將累加器A的內(nèi)容依次向右循環(huán)移動(dòng)1位。RLCA:帶進(jìn)位循環(huán)左移是將累加器A的內(nèi)容和進(jìn)位標(biāo)志CY依次向左循環(huán)移動(dòng)1位。RRCA:帶進(jìn)位循環(huán)右移是將累加器A的內(nèi)容和進(jìn)位標(biāo)志CY依次向右循環(huán)移動(dòng)1位。80注意除RLC和RRC影響CY和P外,其他不影響標(biāo)志。舉例說明

[例3-28]:設(shè)(A)=11H,CY=1,執(zhí)行指令:

RL A RLC ARRARRCA結(jié)果:(A)=22H,CY=1(A)=45H,CY=0(A)=A2H,CY=0(A)=51H,CY=081功能:控制程序流向。注意:不影響狀態(tài)標(biāo)志位。分類:無條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令子程序操作指令空操作指令§3.5控制轉(zhuǎn)移類指令82一、無條件轉(zhuǎn)移指令功能:使程序無條件轉(zhuǎn)移到指定的地址去執(zhí)行。

分類:長(zhǎng)轉(zhuǎn)移指令絕對(duì)轉(zhuǎn)移指令相對(duì)轉(zhuǎn)移指令間接轉(zhuǎn)移指令83指令格式

LJMPaddr16;PC←(PC)+3,PC←addr16指令解釋

先使程序計(jì)數(shù)器PC值加3(完成取指并指向下一條指令的地址),然后將指令提供的16位地址(addr16)送入PC,然后程序無條件地轉(zhuǎn)向目標(biāo)地址(addr16)處執(zhí)行。注意

addr16可實(shí)現(xiàn)在ROM中的64KB范圍內(nèi)轉(zhuǎn)移。1、長(zhǎng)轉(zhuǎn)移指令84指令格式

AJMPaddr11;PC←(PC)+2,PC10~0←addr11指令解釋

先使程序計(jì)數(shù)器PC值加2(完成取指并指指向下一條指令的地址),然后將指令提供的addr11作為轉(zhuǎn)移目的地址的低11位,和PC當(dāng)前值的高5位形成16位的目的地址,程序隨即轉(zhuǎn)移到該地址處執(zhí)行。注意

addr11可實(shí)現(xiàn)在ROM中的2KB范圍內(nèi)轉(zhuǎn)移。2、絕對(duì)轉(zhuǎn)移指令85指令格式

SJMPrel

;PC←(PC)+2+rel指令解釋 指令的功能是先使程序計(jì)數(shù)器PC值加2(完成取指并指向下一條指令的地址)然后把PC當(dāng)前值與地址偏移量rel相加作為目標(biāo)轉(zhuǎn)移地址。即:

目標(biāo)地址=(PC)+2+rel=(PC)當(dāng)前值+rel3、相對(duì)轉(zhuǎn)移指令86注意

rel是一個(gè)帶符號(hào)的8位二進(jìn)制數(shù)的補(bǔ)碼,范圍為-128~127,所以SJMP指令的轉(zhuǎn)移范圍以PC當(dāng)前值為起點(diǎn),向下跳128個(gè)字節(jié),或向上跳127個(gè)字節(jié),共256個(gè)字節(jié)范圍內(nèi)轉(zhuǎn)移。踏步指令,又稱為動(dòng)態(tài)停機(jī)指令,執(zhí)行結(jié)果是轉(zhuǎn)向本指令自己,程序在原處無限循環(huán)。一般寫成:

HERE:SJMPHERE或SJMP$87指令格式

JMP@A+DPTR;PC←(PC)+1,PC←(A)+(DPTR)指令解釋將累加器A中數(shù)與DPTR的16位數(shù)相加,和作為目標(biāo)地址送入PC,實(shí)現(xiàn)無條件轉(zhuǎn)移。注意該指令采用變址尋址方式,DPTR作為基址寄存器,由用戶預(yù)先設(shè)定,A的內(nèi)容作為偏移量,根據(jù)A值的不同,就可轉(zhuǎn)移到不同的地址,又稱為散轉(zhuǎn)。

4、間接轉(zhuǎn)移指令88舉例說明[例3-29]:程序段1:

ORG0000HLJMPMAIN………………MAIN:………………程序段2:START:……………………………….SJMPSTART89二、條件轉(zhuǎn)移指令功能:條件轉(zhuǎn)移指令要求對(duì)某一特定條件進(jìn)行判斷:

當(dāng)滿足條件時(shí),程序就轉(zhuǎn)移到目標(biāo)地址去執(zhí)行;當(dāng)不滿足條件時(shí),則順序執(zhí)行下一條指令。用于實(shí)現(xiàn)分支結(jié)構(gòu)的程序。分類:累加器A的判0轉(zhuǎn)移指令比較不等轉(zhuǎn)移指令減1不為0轉(zhuǎn)移指令90指令格式

JZ rel

JNZrel指令解釋若累加器A的內(nèi)容為0,則程序轉(zhuǎn)向指定的目標(biāo)地址,否則程序順序執(zhí)行。若累加器A的內(nèi)容不為0,則程序轉(zhuǎn)向指定的目標(biāo)地址,否則程序順序執(zhí)行。1、累加器A的判0轉(zhuǎn)移指令91舉例說明[例3-30]:將片內(nèi)RAM的40H單元開始的數(shù)據(jù)塊傳送到片外RAM的1000H開始的單元中,當(dāng)遇到的數(shù)據(jù)為0,則停止傳送(假定不超過存儲(chǔ)空間就會(huì)遇到0)。

MOVR0,#40HMOVDPTR,#1000HLOOP:MOVA,@R0JZHEREMOVX@DPTR,AINCR0INCDPTRSJMPLOOPHERE:SJMPHERE92指令格式CJNEA,direct,rel;(A)≠(direct)則轉(zhuǎn)移CJNEA,#data,rel;(A)≠立即數(shù)則轉(zhuǎn)移

CJNERn,#data,rel;(Rn)≠立即數(shù)則轉(zhuǎn)移CJNE@Ri,#data,rel;((Ri))≠立即數(shù)則轉(zhuǎn)移指令解釋將前兩個(gè)操作數(shù)進(jìn)行比較:若不相等,程序轉(zhuǎn)移到指定的目標(biāo)地址,若相等,程序順序執(zhí)行。2、比較不等轉(zhuǎn)移指令比較是采用相減運(yùn)算的方法。結(jié)果會(huì)影響CY標(biāo)志,但不影響任何一個(gè)操作數(shù)的內(nèi)容。93指令格式

DJNZRn,rel

;Rn←(Rn)-1;(Rn)≠0則轉(zhuǎn)移,PC←(PC)+2+rel;(Rn)=0則順序執(zhí)行,PC←(PC)+2②

DJNZdirect,rel

;direct←(direct)-1;(direct)≠0則轉(zhuǎn)移,PC←(PC)+2+rel;(direct)=

0則轉(zhuǎn)移,PC←(PC)+2+rel3、減1不為0轉(zhuǎn)移可以控制循環(huán)次數(shù)。94指令解釋將Rn/direct的內(nèi)容減1后進(jìn)行判斷,若不為0,程序轉(zhuǎn)移到目標(biāo)地址處執(zhí)行,若為0,則程序順序執(zhí)行。舉例說明

[例3-31]:計(jì)算子程序延時(shí)時(shí)間DELAY:MOVR0,#5;1機(jī)器周期DY1:NOP;1機(jī)器周期

DJNZR0,DY1;2機(jī)器周期

RET;2機(jī)器周期

延時(shí)時(shí)間=1+(1+2)*5+2=18(機(jī)器周期)95三、調(diào)用子程序及返回指令定義:

子程序是指能完成某一任務(wù)的相對(duì)獨(dú)立的程序段。適用:同一個(gè)程序的不同地方要求執(zhí)行同樣的操作可將該操作編成一個(gè)子程序。分類:長(zhǎng)調(diào)用指令絕對(duì)調(diào)用指令返回指令96特點(diǎn):在主程序需要時(shí),安排一條子程序調(diào)用指令,使程序無條件地轉(zhuǎn)移到子程序處執(zhí)行,執(zhí)行完后由返回指令回到原斷點(diǎn)處繼續(xù)執(zhí)行主程序。子程序中可包括對(duì)另外子程序的調(diào)用,稱為子程序嵌套,但次數(shù)是有限制的。97子程序和主程序間的關(guān)系圖98指令格式

LCALLaddr16;PC←(PC)+3;SP←

(SP)+1,(SP)←(PC)L

;SP←(SP)+1,(SP)←(PC)H;PC←addr16指令功能先將PC+3(完成取指操作并指向下一條指令的地址),再把該地址(又稱斷點(diǎn)地址)壓入堆棧保護(hù)起來,然后把a(bǔ)ddr16送入PC,并轉(zhuǎn)入該地址執(zhí)行子程序。1、長(zhǎng)調(diào)用指令99指令格式

ACALLaddr11;PC←(PC)+2;SP←

(SP)+1,(SP)←(PC)L

;SP←(SP)+1,(SP)←(PC)H;PC10~0←addr11指令功能先將PC+2(完成取指操作并指向下一條指令的地址),再把該地址壓入堆棧保護(hù)起來,然后把a(bǔ)ddr11送入PC,和PC當(dāng)前值的高5位合并成16位的子程序入口地址,并轉(zhuǎn)入該地址執(zhí)行子程序。2、絕對(duì)調(diào)用指令100子程序返回指令指令格式

RET;PCH←((SP)),SP←(SP)-1;PCL←((SP)),SP←(SP)-1指令解釋將保存在堆棧中的斷點(diǎn)地址彈出送給PC,使CPU結(jié)束子程序返回到斷點(diǎn)地址處繼續(xù)往下執(zhí)行主程序。注意:RET指令不可缺,且放在子程序的出口處。3、返回指令101中斷返回指令指令格式

RETI;PCH←((SP)),SP←(SP)-1;PCL←((SP)),SP←(SP)-1指令解釋將保存在堆棧中的斷點(diǎn)地址彈出送給PC,使CPU結(jié)束中斷服務(wù)程序返回到斷點(diǎn)地址處繼續(xù)執(zhí)行主程序。注意:RETI指令不可缺,且放在中斷服務(wù)程序的出口處。102指令格式

NOP;PC←(PC)+1指令解釋這是一條1字節(jié)的指令。該指令執(zhí)行時(shí)CPU不進(jìn)行任何操作,但需要消耗一個(gè)機(jī)器周期的時(shí)間,通常用于短暫的延時(shí)。

四、空操作指令103舉例說明

[例3-32]:調(diào)用延時(shí)子程序。

START:MOVP1,ALCALLDELAYINCASJMPSTART…….DELAY:MOVR0,#5DY1:NOPDJNZR0,DY1RET104功能位變量的傳送、修改、邏輯操作等。注意以CY為位累加器,以可位尋址的BIT為操作數(shù)。分類:位傳送指令位置位清0指令位邏輯運(yùn)算指令位條件轉(zhuǎn)移指令§3.6位操作類指令105指令格式

MOV C,bit;CY←(bit)

MOV bit,C;bit←CY指令解釋實(shí)現(xiàn)某個(gè)可位尋址的位(bit)與位累加器C之間的相互傳送。注意兩個(gè)bit之間不能直接傳送,必須通過位累加器C。一、位傳送指令106舉例說明

[例3-33]:設(shè)(CY)=0,(20H).1=1,執(zhí)行指令:

MOVC,20H.1

等同與:MOVC,01H

結(jié)果為:CY=1。

注意:這里的01H是位地址,20H是內(nèi)部RAM的字節(jié)地址。

107指令格式

CLR C;CY←0CLR bit;bit←0SETBC;CY←1SETB bit;bit←1指令解釋前兩條指令是把位累加器C和bit位的內(nèi)容清0。后兩條指令是把位累加器C和bit位的內(nèi)容置1。二、位置位清0指令108舉例說明

[例3-34]:要設(shè)定工作寄存器2區(qū)為當(dāng)前工作區(qū),可用以下指令實(shí)現(xiàn):

SETBRS1CLRRS0

結(jié)果為:RS1=1,RS0=0。等同與:

ANLPSW,#0F7HORLPSW,#10H109指令格式

ANLC,bit;CY←CY∧(bit)ANLC,/bit;CY←CY∧(/bit)ORLC,bit;CY←CY∨(bit)ORLC,/bit;CY←CY∨(/bit)CPLC;CY←/CYCPLbit;bit←/bit三、位邏輯運(yùn)算指令前兩條指令的功能是將bit位的值(或bit取反后的值)與累加器C的值進(jìn)行邏輯與操作,結(jié)果送位累加器C。中間兩條指令的功能是將bit位的值(或bit取反后的值)與累加器C的值進(jìn)行邏輯或操作,結(jié)果送位累加器C。后兩條指令的功能是把位累加器C和bit位的內(nèi)容取反。110舉例說明

[例3-35]:用編程的方法實(shí)現(xiàn)下圖所示電路的功能:

P3.0=(P1.3)∧(P1.4)∨(/P1.2)

程序如下:

MOVC,P1.3ANLC,P1.4ORLC,/P1.2MOVP3.0,C≥1P1.2P1.4P1.3P3.0.&11111、以CY狀態(tài)為條件的轉(zhuǎn)移指令指令格式

JC rel;若(CY)=1則轉(zhuǎn)移,PC←(PC)+2+relJNCrel;若(CY)=0則轉(zhuǎn)移,PC←(PC)+2+rel指令解釋

兩條指令是對(duì)CY進(jìn)行判斷。第一條是若(CY)=1,則轉(zhuǎn)移到目標(biāo)地址去執(zhí)行;若(CY)=0,則程序順序執(zhí)行。第二條是若(CY)=0,則轉(zhuǎn)移到目標(biāo)地址去執(zhí)行;若(CY)=1,則程序順序執(zhí)行。四、位條件轉(zhuǎn)移指令112舉例說明

[例3-36]:比較片內(nèi)RAM的50H和51H單元中兩個(gè)8位無符號(hào)數(shù)的大小,把大數(shù)存入60H單元。若兩數(shù)相等,則把標(biāo)志位F0置1。

MOVA,50HCJNEA,51H,LOOPSETBF0SJMPHERELOOP:JCLOOP1MOV60H,ASJMPHERELOOP1:MOV60H,51HHERE:SJMPHERE1132、以位變量狀態(tài)為條件的轉(zhuǎn)移指令格式

JBbit,rel

;若(bit)=1則轉(zhuǎn)移,PC←(PC)+3+rel

JNBbit,rel

;若(bit)=0則轉(zhuǎn)移,PC←(PC)+3+rel

JBCbit,rel

;若(bit)=1則轉(zhuǎn)移,同時(shí)bit←0,PC←PC+3+rel

第一條指令的功能是若bit位內(nèi)容為1,轉(zhuǎn)移到目標(biāo)地址,若為0,程序順序執(zhí)行。第二條指令的功能是若bit位內(nèi)容為0,轉(zhuǎn)移到目標(biāo)地址,若為1,程序順序執(zhí)行。第三條指令的功能是若bit位內(nèi)容為1,則將bit位內(nèi)容清0,并轉(zhuǎn)移到目標(biāo)地址,若為0,程序順序執(zhí)行。。1141、指令格式、分類;2、尋址方式:七種立即尋址直接尋址寄存器尋址寄存器間接尋址變址尋址相對(duì)尋址位尋址指令系統(tǒng)總結(jié)1153、數(shù)據(jù)傳送類指令:

片內(nèi)RAM傳送指令MOV

片外RAM傳送指令MOVX

片外ROM傳送指令MOVC

數(shù)據(jù)交換指令XCHXCHDSWAP

堆棧操作指令PUSHPOP1164、算術(shù)運(yùn)算類:加法指令:ADD、ADDC、INC減法指令:SUBB、DEC乘法指令:MUL除法指令:DIV1175、邏輯運(yùn)算類:累加器A的邏輯操作指令:

CLR、CPL、RR、RRC、RL、RLC邏輯與指令:ANL邏輯或指令:ORL邏輯異或指令:XRL1186、控制轉(zhuǎn)移類:無條件轉(zhuǎn)移指令:LJMP、AJMP、SJMP、JMP條件轉(zhuǎn)移指令:JZ/JNZ、CJNE、DJNZ調(diào)用子程序及返回指令:

LCALL、ACALL、RET、RETI空操作指令:NOP1197、位操作類指令:位傳送指令:MOV位置位清0指令:CLR、SETB位邏輯運(yùn)算指令:ANL、ORL、CPL位條件轉(zhuǎn)移指令:JC/JNC、JB/JNB/JBC120習(xí)題課一、填空題:1、若用傳送指令訪MCS-51的程序存儲(chǔ)器,它的操作碼助記符應(yīng)為

。2、訪問MCS-51片內(nèi)RAM應(yīng)該使用的傳送指令助記符是

。3、累加器(A)=80H,執(zhí)行完指令A(yù)DDA,#83H后,進(jìn)位為CY=

。4、執(zhí)行ANLA,#0FH指令后,累加器的高4位=

。5、累加器(A)=00H,e=20H,PC當(dāng)前值=1000H,執(zhí)行完指令JZe后,PC=

。6、累加器(A)=7EH,(20H)=04H,MCS-51執(zhí)行完ADDA,20H指令后,PSW.0=

。7、MOVPSW,#10H是將MCS-51的工作寄存器置為第

組。1218、ORLA,#0F0H是將A的高4位置1,而低4位

。9、INC指令對(duì)CY位

影響。10、MOVC,20H源操作數(shù)是

尋址方式。11、MOVCA,@A+DPTR源操作數(shù)的尋址方式為

。12、在位操作中,能起到與字節(jié)操作中累加器作用的是

。13、欲使P1口的低4位輸出0而高4位保持不變,應(yīng)執(zhí)行一條

指令。14、在R7初值為00H的情況下,DJNZR7,$指令將循環(huán)執(zhí)行

次。15、如果(A)=56H,(R0)=07AH,執(zhí)行XCHA,R0;結(jié)果(A)=

,(R0)=

。

122二、判斷下列指令中哪些是合法指令?哪些是非法指令?1、MOVXDPTR,A2、SWAPR03、XCHDA,30H4、ANL#30H,A5、RLC30H6、CLRDPTR7、CLRPSW.68、CPL40H9、ORLC,40H10

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論