第三章 8051匯編指令_第1頁
第三章 8051匯編指令_第2頁
第三章 8051匯編指令_第3頁
第三章 8051匯編指令_第4頁
第三章 8051匯編指令_第5頁
已閱讀5頁,還剩84頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1第三章8051單片機匯編指令3.1MCS-51指令系統(tǒng)概述

對8051單片機編程可以使用機器語言、匯編語言及高級語言-C語言。但單片機并不能直接執(zhí)行匯編語言和高級語言,都必須通過匯編器“翻譯”成為二進制機器碼方能執(zhí)行。2指令:就是能完成特定功能的命令。指令系統(tǒng):CPU所能執(zhí)行的各種指令的集合。51單片機基本指令共111條,其中:單字節(jié)指令49條雙字節(jié)指令45條三字節(jié)指令17條3從指令執(zhí)行時間看,單機器周期指令64條雙機器周期指令45條4機器周期指令2條4

匯編指令中常用的一些符號注釋

Rn—選中的工作寄存器是R0-R7中任意一個。Ri—選中的寄存器是R0和R1中任意一個。direct—內(nèi)部數(shù)據(jù)存儲單元的8位地址。包含內(nèi)部存儲單元地址和特殊功能寄存地址。#data—指令中的8位常數(shù)。#data16—指令中的16位常數(shù)。5addr16—16位目的地址。addr11—11位目的地地址。@—間接寄存器尋址或基址寄存器的前綴。DPTR—數(shù)據(jù)地址指針。bit—直接尋址位地址。6A—累加器A。B—寄存器B。C—進位標(biāo)志位CY。(x)—X地址中的內(nèi)容。

((x))—由X地址中的內(nèi)容為地址,其地址單元中的內(nèi)容。7匯編語言對不同數(shù)制的表示方式數(shù)據(jù)的表示方式:十進制立即數(shù):MOVA,#123十六進制:MOVA,#7FH二進制:MOVA,#10011011B直接地址的表示方式:十進制立即數(shù):MOVA,123十六進制:MOVA,7FH二進制:MOVA,10011011B8指令格式:一條匯編語言指令中最多包含4個區(qū)段,如下所示:

[標(biāo)號:]操作碼[操作數(shù)][;注釋]其中,操作數(shù)又分為:原操作數(shù)和目的操作數(shù);兩個操作數(shù)之間用‘,’分開目的操作數(shù)源操作數(shù)例如:

MOVA,#2893.2MCS-51的尋址方式

尋址方式--就是CPU尋找操作數(shù)或操作數(shù)地址的方式。在MCS-51單片機指令系統(tǒng)中,有以下7種尋址方式:

(1)立即數(shù)尋址;

(2)直接尋址;

(3)寄存器尋址;10(4)寄存器間接尋址;

(5)基址寄存器+變址寄存器間接尋址;

(6)相對尋址;

(7)位尋址。11

[1].立即數(shù)尋址

指令中原操作數(shù)直接以數(shù)據(jù)出現(xiàn)。為了與直接尋址方式相區(qū)別,在立即數(shù)前加上“#”符號

例如:

MOV

A,#0EH

MOV

A,#20

MOV

A,#'k'12[2].直接尋址

指令中原操作數(shù)直接以存儲單元的地址出現(xiàn)。

MOVA,direct

例如:

MOV

A,68H13

[3].寄存器尋址

寄存器尋址可以對8個工作寄存器R0-R7進行操作,也可以對寄存器A、B等進行操作。例如:

MOVR1,#10

MOV

A,R1MOVR2,AMOVB,R2MOVR5,B14

[4].寄存器間接尋址訪問RAM存儲器的低128B單元內(nèi)容,通過R0和R1作為間接寄存器。

例如:

MOV

A,@R0

外部數(shù)據(jù)存儲器的空間為64kB,可采用DPTR作為間址寄存器進行訪問,指令如下:

MOVX

A,@DPTR15[5].變址尋址(基地址+變址寄存器間接尋址)

規(guī)定DPTR或PC為變址寄存器,A為地址偏移量。

變址尋址方式只能訪問程序存儲器。

MOVCA,@A+DPTRMOVCA,@A+PC16例如:

MOVDPTR,#2000HMOVA,#03H

MOVC

A,@A+DPTR

17[6].位尋址指令中操作數(shù)是8位二進制數(shù)中的某一位。對片內(nèi)RAM的位尋址區(qū)(20H~2FH)和可位尋址的專用寄存器進行位操作。例如:CLRCCPLCSETBP1.2作業(yè):寫出51單片機可位尋址的專用寄存器有哪些?18[7].相對尋址

以PC的內(nèi)容為基址,加上給出的偏移量作為轉(zhuǎn)移地址,從而實現(xiàn)程序的轉(zhuǎn)移。這種尋址方式主要用于轉(zhuǎn)移指令。

例如:

S:MOVA,#20.....AJMPS軟件使用介紹單片機編程軟件:KEIL19電路仿真軟件:PROTEUS電路仿真軟件PCB設(shè)計軟件實例20KEIL使用1、新建工程:工程菜單->新建工程2、新建程序文件:1)文件菜單->新建文件;2)保持文件,輸入文件名,后綴為***.a(匯編程序)或***.c(C語言程序)3、添加程序文件到工程中4、在程序文件中編寫程序5、編譯程序:工程菜單->

Rebuildalltargetfiles(重新編譯所有的源文件并且編譯應(yīng)用程序)21PROTEUS使用

1、打開軟件:打開ISIS軟件222、新建原理圖:文件菜單->新建設(shè)計3、添加軟件并繪制原理圖4、加載程序文件***.HEX文件:雙擊原理圖上的單片機,在彈出對話框中添加程序文件5、電路仿真:點擊播放鍵開始仿真233.3MCS-51指令系統(tǒng)按指令功能分,指令系統(tǒng)可以分為5大類:1、數(shù)據(jù)傳輸指令:28條2、算術(shù)運算指令:24條3、邏輯運算及移位指令:25條4、控制轉(zhuǎn)移指令:17條5、位操作指令:17共111條指令。24數(shù)據(jù)傳輸指令碼:MOV;MOVC;MOVXPUSH;POPXCH;XCHD算術(shù)運算指令碼:

ADD;ADDC;INC;DA;SUBB;DECMUL;DIV邏輯運算指令碼:

CLR;CPL;RL;RLC;RR;RRC;SWAPANL;ORL;XRL;25控制轉(zhuǎn)移類指令碼:

AJMP;SJMP;LJMP;JMPJZ;JNZ;CJNE;DJNZACALL;LCALL;RET;RETINOP位操作指令碼:

MOV;CLR;CPL;SETBANL;ORLJC;JNC;JB;JNB;JBC26

[1].

以累加器A為目的操作數(shù)類指令(4條)

MOV

A,direct

;(data)→(A)

MOV

A,#data

;#data→(A)

MOV

A,Rn

;(Rn)→(A)

MOV

A,@Ri

;((Ri))→(A)3.3.1數(shù)據(jù)傳送指令

該類不影響標(biāo)志C,AC和OV,但可能會對奇偶標(biāo)志P有影響。27[2].

以寄存器Rn為目的操作數(shù)的指令(3條)

MOV

Rn,direct

;(data)→(Rn)

MOV

Rn,#data

;#data→(Rn)

MOV

Rn,A

;(A)→(Rn)注意:MOVRn,Rn錯誤指令數(shù)據(jù)傳送指令28

[3].

以直接地址為目的操作數(shù)的指令(5條)

MOV

direct,direct

;(data)→(data)

MOV

direct,#data

;#data→(data)

MOV

direct,A

;(A)→(data)

MOV

direct,Rn

;(Rn)→(data)

MOV

direct,@Ri

;((Ri))→(data)數(shù)據(jù)傳送指令29[4].

以間接地址為目的操作數(shù)的指令(3條)

MOV

@Ri,direct

;(data)→((Ri))

MOV

@Ri,#data

;#data→((Ri))

MOV

@Ri,A

;(A)→((Ri))注意:MOV@Ri,Rn錯誤指令數(shù)據(jù)傳送指令30[5].

查表指令(2條)

這組指令的功能是對存放于程序存儲器中的數(shù)據(jù)表格進行查找傳送,使用變址尋址方式:

MOVC

A,@A+DPTR

;((A)+(DPTR))→A

MOVC

A,@A+PC

;(PC)+1→PC,((A)+(PC))→A數(shù)據(jù)傳送指令31[6].

累加器A與外部RAM傳送指令(4條)

MOVX

@DPTR,A

;(A)→((DPTR))

MOVX

A,@DPTR

;((DPTR))→(A)

MOVX

A,@Ri

;((Ri))→(A)

MOVX

@Ri,A

;(A)→((Ri))數(shù)據(jù)傳送指令32習(xí)題1、下面指令完成什么內(nèi)容,各指令屬于什么尋找方式

MOV45H,#20HMOV46H,#30HMOVA,45H

MOV

A,#

45H

MOVR0,A

MOV46H,@R0

MOVR0,#46H

MOVXA,@R0數(shù)據(jù)傳送指令33

[7].

堆棧操作類指令(2條)

“先進后出”

PUSH

direct

;(SP)+1→(SP),(direct

)→(SP)

POP

direct

;(SP)→(direct

),(SP)-1→(SP)數(shù)據(jù)傳送指令34例如:進入中斷服務(wù)子程序時,把程序狀態(tài)寄存器PSW、累加器A、數(shù)據(jù)指針DPTR進棧保護。設(shè)當(dāng)前SP為60H。則程序段執(zhí)行完,各寄存器存放的數(shù)據(jù)地址=?SP=?

PUSHPSWPUSHACCPUSHDPLPUSHDPH61H=PSW62H=ACC63H=DPL64H=DPHSP=64H數(shù)據(jù)傳送指令35

POPACC

POPDPLPOPDPHPOPPSW

DPH=(64H)DPL=(63H)ACC=(62H)PSW=(61H)SP=60H注:堆棧指令對A累加器操作時,只能寫成“ACC”數(shù)據(jù)傳送指令36習(xí)題2、下列程序執(zhí)行完后,判斷各寄存器的值和SP的值。

MOVSP,#40HMOVA,#20HMOVR0,#4AHPUSHACCPUSHR0ADDA,R0POPACCPOPR0數(shù)據(jù)傳送指令37

[8].

交換指令(3條)

XCH

A,Rn

;(A)←→(Rn)

XCH

A,@Ri

;(A)←→((Ri))

XCH

A,direct

;(A)←→(direct

[9].

半字節(jié)交換指令(1條)

XCHD

A,@Ri

;(A3-0)←→((Ri)3-0)注:目的操作數(shù)都是A數(shù)據(jù)傳送指令38例題1:

MOVR6,#45HMOV30H,#20HXCHA,R6XCHA,30H例題2:

MOV30H,#20HMOVR0,#30HXCHDA,@R0數(shù)據(jù)傳送指令393.3.2MCS-51算術(shù)運算指令[1].

加法指令(4條)

ADD

A,#data

;(A)+#data→(A)

ADD

A,direct

;(A)+(data)→(A)

ADD

A,Rn

;(A)+(Rn)→(A)

ADD

A,@Ri

;(A)+((Ri))→(A)注:目的操作數(shù)都是A40

[2].

帶進位加法指令(4條)

ADDC

A,direct

;(A)+(data)+(C)→(A)

ADDC

A,#data

;(A)+#data+(C)→(A)

ADDC

A,Rn

;(A)+Rn+(C)→(A)

ADDC

A,@Ri

;(A)+((Ri))+(C)→(A)算術(shù)運算指令41[3].

帶借位減法指令(4條)SUBB

A,direct

;(A)-(data)-(C)→(A)SUBB

A,#data

;(A)-#data-(C)→(A)SUBB

A,Rn

;(A)-(Rn)-(C)→(A)

SUBB

A,@Ri

;(A)-((Ri))-(C)→(A)

算術(shù)運算指令42

[4].

乘法指令(1條)MUL

AB

;(A)×(B)→(A)和(B)

結(jié)果低8位存在累加器A,而高8位存在寄存器B中。如果OV=1,說明乘積大于FFH,否則OV=0,但進位標(biāo)志位CY總是等于0。

注:AB連寫,中間不加","

號算術(shù)運算指令43[5].

除法指令(1條)

DIV

AB

;(A)÷(B)→(A)和(B)得到的商存在累加器A,而余數(shù)存在寄存器B中。當(dāng)除數(shù)B為0時,OV=1,表示除法無意義。注:AB連寫,中間不加","

號算術(shù)運算指令44

[6].

加1指令(5條)

加1指令不會對任何標(biāo)志有影響,如果原寄存器的內(nèi)容為FFH,執(zhí)行加1后,結(jié)果就會是00H。

INC

direct

;(direct

)+1→(direct

INC

@Ri

;((Ri))+1→((Ri))

INC

Rn

;(Rn)+1→(Rn)

INCA

;(A)+1→(A)

INC

DPTR

;(DPTR)+1→(DPTR)

算術(shù)運算指令45

[7].

減1指令(4條)

若原寄存器的內(nèi)容為00H,減1后即為FFH,運算結(jié)果不影響任何標(biāo)志位。

DEC

A

;(A)-1→(A)

DECdirect

;(data)-1→(data)

DEC

@Ri

;((Ri))-1→((Ri))

DEC

Rn

;(Rn)-1→(Rn)注:DPTR不能進行DEC算術(shù)運算指令46[8].

十進制調(diào)整指令(1條)

DA

A

注:操作數(shù)只能時A

這條指令通常跟在加法指令之后,進行BCD碼調(diào)整,使累加器A中的內(nèi)容調(diào)整為二位壓縮型

BCD碼的數(shù)。算術(shù)運算指令47執(zhí)行該指令時,判斷:

1、如果A中的低4位>9或輔助進位標(biāo)志AC=1,則低4位加6操作;2、如果A中的高4位>9或進位標(biāo)志C=1,則高4位加60H操作;算術(shù)運算指令48例如:有兩個BCD數(shù)36與45相加,結(jié)果應(yīng)為BCD碼81,程序如下:MOVA,#36HADDA,#45HDAA算術(shù)運算指令49[9].

累加器半字節(jié)交換指令(1條)

這條指令是將累加器中的內(nèi)容高低半字節(jié)互換。

SWAP

A

;(A3-0)←→(A7-4)算術(shù)運算指令50練習(xí):1、判斷下面指令的對錯。MOVA,#10HMOVR0,R5MOVA,@R4MOVA,@A+DPTRMOVCA,@A+R0MOV@R0,AMOVXA,@DPTRXCHR0,AXCHA,#20HADDR0,AMULA,BDIVBADAR4算術(shù)運算指令512、執(zhí)行下面程序段后,各寄存器的值是多少,SP=?初始值為:ACC=58H,R2=36H,DPTR=9E7FH,SP=30HADDA,R2PUSHACCPUSHDPLPUSHDPHADDA,R2POPACCPOPDPL算術(shù)運算指令523、編程,完成一下功能。

(30H)=10;(31H)=15;(32H)=(30H)+(31H);(33H)=(31H)-(30H);(34H),(35H)=(30H)*(31H);(36H)=(30H)/(31H)的商;

(37H)=(30H)/(31H)的余;算術(shù)運算指令533.3.3邏輯運算及移位指令

指令有與、或、異或、求反、左右移位、清0等邏輯操作。[1].

循環(huán)移位指令(4條)

RL

A

;累加器A中的內(nèi)容循環(huán)左移一位

RR

A

;累加器A中的內(nèi)容循環(huán)右移一位

RLC

A

;累加器A中的內(nèi)容連同進位位CY循環(huán)左移一位

RRC

A

;累加器A中的內(nèi)容連同進位位CY循環(huán)右移一位54[2].

求反指令(1條)

這條指令將累加器中的內(nèi)容按位取反。

CPL

A

;[3].

清零指令(1條)

這條指令將累加器中的內(nèi)容清0。

CLR

A

;0→(A)邏輯運算及移位指令55[4].

邏輯與操作指令(6條)

ANL

A,direct

ANL

A,#data

ANL

A,Rn

ANL

A,@Ri

ANLdirect,#data

ANLdirect,A

邏輯運算及移位指令56

[5].

邏輯或操作指令(6條)

ORL

A,direct

ORL

A,@Ri

ORL

A,#data

ORL

A,Rn

ORL

direct,#data

ORL

direct,A

邏輯運算及移位指令57[6].

邏輯異或操作指令(6條)

XRL

A,direct

XRL

A,@Ri

XRL

A,#data

XRL

A,Rn

XRL

direct,#data

XRL

direct,A

邏輯運算及移位指令58習(xí)題:執(zhí)行下列指令,分析運行結(jié)果。SETBCMOVA,#0FEHRLARLCACPLAANLA,#0F0HCLRAMOVR0,#50HORLA,R0RRARRARRCA邏輯運算及移位指令59編程程序,完成下列控制功能。原理圖如下圖所示。要求:D1亮->D2亮->。。。D8亮->D1亮邏輯運算及移位指令603.3.4控制轉(zhuǎn)移指令

這些指令的執(zhí)行一般都不會對標(biāo)志位有影響。[1].

無條件轉(zhuǎn)移指令(4條)

這組指令執(zhí)行完后,程序就會無條件轉(zhuǎn)移到指令所指向的地址上去。

LJMP

addr16

;addr16→(PC)

AJMP

addr11

;(PC)+2→(PC),addr11→(PC10-0)

SJMP

rel

;(PC)+2+rel→(PC)

JMP

@A+DPTR

;(A)+(DPTR)→(PC)61[2].

條件轉(zhuǎn)移指令(8條)1)累加器判零轉(zhuǎn)移指令

JZ

rel

;A=0,(PC)+2+rel→(PC)

JNZ

rel

;A≠0,(PC)+2+rel→(PC)2)比較轉(zhuǎn)移指令

CJNE

A,direct,rel

;A≠(direct

),(PC)+3+rel→(PC);A>(direct)則CY=0;A<(direct)則CY=1

控制轉(zhuǎn)移指令62CJNE

A,#data,rel

;A≠#data,(PC)+3+rel→(PC)CJNE

Rn,#data,rel

;Rn≠#data,(PC)+3+rel→(PC)

CJNE

@Ri,#data,rel

;@Ri≠#data,(PC)+3+rel→(PC)控制轉(zhuǎn)移指令633)減1不為0轉(zhuǎn)移指令DJNZ

Rn,rel

;(Rn)-1→(Rn),(Rn)≠0,(PC)+2+rel→(PC)DJNZ

direct,rel

;(direct)-1→(direct),(direct)≠0,(PC)+2+rel→(PC)控制轉(zhuǎn)移指令64習(xí)題:分析下面程序的功能。DELAY:MOVR7,#250D1:MOVR6,#248DJNZR6,$DJNZR7,D1

65習(xí)題:編寫程序,要求將數(shù)據(jù)區(qū)30H~50H中的內(nèi)容清零。MAIN:movr2,#21h;地址數(shù)movr0,#30h;首地址xh:mov@r0,#0incr0djnzr2,xh

END66

[3].

子程序調(diào)用及返回指令(4條)ACALL

addr11

;短調(diào)用指令,可在2kB空間調(diào)用子程序。執(zhí)行過程:

1)(PC)+2→(PC)

2)PUSHPC7-03)PUSHPC15-84)addr11→(PC10-0)控制轉(zhuǎn)移指令67LCALL

addr16

;長調(diào)用指令,可在64kB空間調(diào)用子程序。執(zhí)行過程:

1)(PC)+3→(PC)

2)PUSHPC7-03)PUSHPC15-84)addr16→(PC)控制轉(zhuǎn)移指令68

RET

;子程序返回指令。執(zhí)行過程:

1)popPC15-82)popPC7-0

RETI

;中斷返回指令,除具有RET功能外,還有清除內(nèi)部中斷狀態(tài)標(biāo)志??刂妻D(zhuǎn)移指令69例題:編寫子程序,要求完成A+B-C=DJS:MOVA,R0ADDA,R1SUBBA,R2;D

RETMAIN:MOVR0,#20H;AMOVR1,#15H;BMOVR2,#10H;C

ACALLJSMOVR3,A……….AJMPMAIN子程序主程序70[4].

空操作指令(1條)

NOP

這條指令除了使PC加1,消耗一個機器周期外,沒有執(zhí)行任何操作。可用于短時間的延時??刂妻D(zhuǎn)移指令713.3.5位操作指令

[1].

位傳送指令(2條)

MOV

C,bit

;bit→CY,某位數(shù)據(jù)送CY

MOV

bit,C

;CY→bit,CY數(shù)據(jù)送某位72

[2].

位置位、復(fù)位指令(4條)這些指令對CY及可尋址位進行置位或復(fù)位操作。

CLR

C

;0→CY,清CY

CLR

bit

;0→bit,清某一位

SETB

C

;1→CY,置位CY

SETB

bit

;1→bit,置位某一位位操作指令73[3].

位運算指令(6條)位運算都是邏輯運算,有與、或、非三種指令。

ANL

C,bit

;(CY)∧(bit)→CY

ANL

C,/bit

;(CY)∧()→CY

ORL

C,bit

;(CY)∨(bit)→CY

ORL

C,/bit

;(CY)∧()→CY

CPL

C

;()→CY

CPL

bit

;()→bir位操作指令74[4].

位控制轉(zhuǎn)移指令(5)

JC

rel

;(CY)=1轉(zhuǎn)移,(PC)+2+rel→PC,否則程序往下執(zhí)行,(PC)+2→PC

JNC

rel

;(CY)=0轉(zhuǎn)移,(PC)+2+rel→PC,否則程序往下執(zhí)行,(PC)+2→PC。位操作指令75

JB

bit,rel

;位狀態(tài)=1轉(zhuǎn)移。JNB

bit,rel

;位狀態(tài)=0轉(zhuǎn)移。JBC

bit,rel

;位狀態(tài)=1轉(zhuǎn)移,并使該位

清“0”。76例題:編寫程序,要求查找一組數(shù)據(jù),小于10的數(shù)有幾個。數(shù)據(jù)如下:TAB:DB12,13,4,15,16,25,6,2MAIN:movr2,#0;<10的個數(shù)movr3,#8;數(shù)組的個數(shù)

movR4,#0;數(shù)據(jù)表的地址

movdptr,#tablp1:MOVA,R4movca,@a+dptr

subba,#10jnclp2incr2;<10的個數(shù)++

clrclp2:incr4;數(shù)據(jù)地址++

djnzr3,lp1

ajmpmainTAB:DB12,13,4,15,16,25,6,277MAIN:movr2,#0;<10的個數(shù)movr3,#8;數(shù)組的個數(shù)

movR4,#0movdptr,#tablp1:movA,R4movca,@a+dptr

cjnea,#10,lp2sjmplp3lp2:jnclp3

incr2

;<10的個數(shù)++

clrclp3:incr4

;數(shù)據(jù)地址++djnzr3,lp1

ajmpmainTAB:DB12,13,4,15,16,25,6,2781、按要求寫出下列指令(1)將R0中的數(shù)據(jù)傳送到30H。

(2)將R0中的數(shù)據(jù)傳送到R7。(3)將R0的數(shù)據(jù)傳送到B。

(4)將40H中的數(shù)據(jù)傳送到50H。(5)將40H中的數(shù)據(jù)傳送到R2。

(6)將立即數(shù)40H傳送到R5。

(7)將立即數(shù)40H傳送到50H。習(xí)題79(8)將立即數(shù)40H傳送到以R1中內(nèi)容為地址的存儲單元中。(9)將R6中的數(shù)據(jù)傳送到以R0中內(nèi)容為地址的存儲單元中。802、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論