第3章 MCS-51單片機(jī)的匯編程序設(shè)計(jì)(20130314)_第1頁(yè)
第3章 MCS-51單片機(jī)的匯編程序設(shè)計(jì)(20130314)_第2頁(yè)
第3章 MCS-51單片機(jī)的匯編程序設(shè)計(jì)(20130314)_第3頁(yè)
第3章 MCS-51單片機(jī)的匯編程序設(shè)計(jì)(20130314)_第4頁(yè)
第3章 MCS-51單片機(jī)的匯編程序設(shè)計(jì)(20130314)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第3 3章章 MCS-51MCS-51單片機(jī)的指令系統(tǒng)單片機(jī)的指令系統(tǒng) 魏立峰魏立峰 沈陽(yáng)化工大學(xué)沈陽(yáng)化工大學(xué)3.4 匯編語(yǔ)言程序的基本形式 單片機(jī)編程語(yǔ)言單片機(jī)編程語(yǔ)言:匯編語(yǔ)言匯編語(yǔ)言+ +高級(jí)語(yǔ)言高級(jí)語(yǔ)言。匯編語(yǔ)言匯編語(yǔ)言 用英文字符來(lái)代替機(jī)器語(yǔ)言,這些英文字符被稱(chēng)為助記符匯編語(yǔ)言;助記符匯編語(yǔ)言; 匯編語(yǔ)言源程序:匯編語(yǔ)言源程序:用匯編語(yǔ)言編寫(xiě)的程序。 “匯編匯編”:匯編語(yǔ)言源程序需轉(zhuǎn)換(翻譯)成為二進(jìn)制代碼表示的機(jī) 器語(yǔ)言程序,才能識(shí)別和執(zhí)行。 完成“翻譯”的程序稱(chēng)為匯編程序。經(jīng)匯編程序“匯編”得到的以“0”、 “1”代碼形式表示的機(jī)器語(yǔ)言程序稱(chēng)為目標(biāo)程序。優(yōu)點(diǎn):優(yōu)點(diǎn):用匯編語(yǔ)言編

2、寫(xiě)程序效率高,占用存儲(chǔ)空間小,運(yùn)行速度快, 能編寫(xiě)出最優(yōu)化的程序,缺點(diǎn):缺點(diǎn):可讀性差,是面向“硬件”的語(yǔ)言,通用性差。3.4 匯編語(yǔ)言程序的基本形式 單片機(jī)編程語(yǔ)言單片機(jī)編程語(yǔ)言:匯編語(yǔ)言匯編語(yǔ)言+ +高級(jí)語(yǔ)言高級(jí)語(yǔ)言。高級(jí)語(yǔ)言高級(jí)語(yǔ)言 C51已成為單片機(jī)的實(shí)用高級(jí)編程語(yǔ)言。 在對(duì)程序的空間和時(shí)間要求較高的場(chǎng)合,可使用C語(yǔ)言和匯編語(yǔ)言 混合編程。 在很多需要直接控制硬件且對(duì)實(shí)時(shí)性要求較高的場(chǎng)合,則更是非用 匯編語(yǔ)言不可。 掌握匯編語(yǔ)言并能進(jìn)行程序設(shè)計(jì),是學(xué)習(xí)和掌握單片機(jī)程序設(shè)計(jì)的 基本功之一。優(yōu)點(diǎn):優(yōu)點(diǎn):通用性強(qiáng),直觀、易懂、易學(xué),可讀性好。通用性強(qiáng),直觀、易懂、易學(xué),可讀性好。缺點(diǎn):缺點(diǎn):

3、程序占用程序占用空間空間和和時(shí)間時(shí)間相對(duì)較多。相對(duì)較多。3.4.1 匯編語(yǔ)言程序的偽指令 基本語(yǔ)句基本語(yǔ)句:指令語(yǔ)句指令語(yǔ)句+ +偽指令語(yǔ)句偽指令語(yǔ)句。偽指令偽指令 在匯編語(yǔ)言源程序中應(yīng)有在匯編語(yǔ)言源程序中應(yīng)有向匯編程序發(fā)出的指示信息向匯編程序發(fā)出的指示信息,告訴它如,告訴它如 何完成匯編工作,這是通過(guò)何完成匯編工作,這是通過(guò)偽指令偽指令來(lái)實(shí)現(xiàn)來(lái)實(shí)現(xiàn)。 偽指令不屬于指令系統(tǒng)中的匯編語(yǔ)言指令,它偽指令不屬于指令系統(tǒng)中的匯編語(yǔ)言指令,它是程序員發(fā)給匯編是程序員發(fā)給匯編 程序的命令程序的命令,也稱(chēng)為,也稱(chēng)為匯編程序控制命令。匯編程序控制命令。 只有在匯編前的源程序中才有偽指令。只有在匯編前的源程序中

4、才有偽指令。 “偽偽”體現(xiàn)在體現(xiàn)在匯編后,偽指匯編后,偽指 令令沒(méi)有相應(yīng)的機(jī)器代碼產(chǎn)生。沒(méi)有相應(yīng)的機(jī)器代碼產(chǎn)生。 偽指令具有控制匯編程序的輸入偽指令具有控制匯編程序的輸入/輸出、定義數(shù)據(jù)和符號(hào)、條件匯輸出、定義數(shù)據(jù)和符號(hào)、條件匯 編、分配存儲(chǔ)空間等功能編、分配存儲(chǔ)空間等功能1. ORG(ORiGin)匯編起始地址命令 格式: ORG addr16 或 標(biāo)號(hào)地址。 作用:說(shuō)明下面緊接的程序段或數(shù)據(jù)段存放的起始地址。例如: ORG 1000H;規(guī)定標(biāo)號(hào)START代表地址為1000H開(kāi)始。START:MOV A,#00H 若省略O(shè)RG偽指令,則該程序段從ROM中0000H單元 開(kāi)始存放。 在一個(gè)源程

5、序中,可以多次使用ORG偽指令,但地址值 由小到大依序排列,不允許空間重疊。3.4.1 匯編語(yǔ)言程序的偽指令2. END匯編結(jié)束3. EQU(EQUate)標(biāo)號(hào)賦值命令3.4.1 匯編語(yǔ)言程序的偽指令 格式: END 作用:結(jié)束匯編。 匯編程序遇到END偽指令后即結(jié)束匯編。 處于END之后的程序,匯編程序軟件將不處理。 格式:符號(hào)名 EQU 表達(dá)式 作用:將表達(dá)式的值或特定的某個(gè)匯編符號(hào)定義為一個(gè)指定的符號(hào)名。【例】 SG EQU R0 ;SG與R0等值 LEN EQU10H;DE與10H等值 MOV A, SG ;(A)(R0) MOV R7, #LEN ;(R7)10H4. DB (Def

6、ine Byte)定義數(shù)據(jù)字節(jié)3.4.1 匯編語(yǔ)言程序的偽指令 格式: 標(biāo)號(hào): DB 字節(jié)數(shù)據(jù)表 作用:從標(biāo)號(hào)指定的地址單元開(kāi)始,在ROM中存放8位 的數(shù)據(jù)字節(jié)。 將字節(jié)數(shù)據(jù)根據(jù)從左到右的順序依次存放在指定的存儲(chǔ) 單元中,一個(gè)數(shù)據(jù)占一個(gè)存儲(chǔ)單元。 字節(jié)數(shù)據(jù)表可以是字符、十進(jìn)制、十六進(jìn)制、二進(jìn)制等。 該偽指令常用于存放數(shù)據(jù)表格。4. DB (Define Byte)定義數(shù)據(jù)字節(jié)3.4.1 匯編語(yǔ)言程序的偽指令 例如: ORG 1000H SEG1: DB 53H,24 , “2” SEG2: DB DAY END 則 (1000H)=53H (1001H)=18H; 十進(jìn)制數(shù)24 (1002H)

7、=32H;32H為“2”的ASCII碼 (1003H)=44H;44H為“D”的ASCII碼 (1004H)=41H;41H為“A”的ASCII碼 (1005H)=59H;59H為“Y”的ASCII碼如果操作數(shù)為數(shù)值,其取值范圍應(yīng)為00HFFH;若為字符串,其長(zhǎng)度應(yīng)限制在80個(gè)字符內(nèi)。5. DW (Define Word )定義數(shù)據(jù)字3.4.1 匯編語(yǔ)言程序的偽指令 格式: 標(biāo)號(hào): DW 字?jǐn)?shù)據(jù)表 作用:從標(biāo)號(hào)指定的地址單元開(kāi)始,在ROM中存放 16位的數(shù)據(jù)字。 16位的二進(jìn)制數(shù),高8位存放在低地址單元,低8位存 放在高地址單元。例如: ORG2000HDW1246H,7BH;匯編后(2000

8、H)=12H;第1個(gè)字(2001H)=46H(2002H)=00H;第2個(gè)字(2003H)=7BH6. BIT 位定義命令7. DATA數(shù)據(jù)地址賦值3.4.1 匯編語(yǔ)言程序的偽指令 格式:符號(hào)名 BIT 位地址表達(dá)式 作用:將位地址賦給指定的符號(hào)名?!纠?LEDBITP1.7FLAGBIT02H 匯編后,位地址P1.7、02H分別賦給變量LED和FLAG。 格式:符號(hào)名 DATA 表達(dá)式 作用:將表達(dá)式的值或特定的某個(gè)匯編符號(hào)定義為一個(gè) 指定的符號(hào)名?!纠?MAINDATA2000H 匯編后MAIN的值為2000H。匯編 手工匯編:通過(guò)查指令的機(jī)器代碼表,逐個(gè)把助記符 指令“翻譯”成機(jī)器代

9、碼,再進(jìn)行調(diào)試和運(yùn)行。 機(jī)器匯編:用PC機(jī)上的軟件(匯編程序)來(lái)代替手工匯編。 用編輯軟件進(jìn)行源程序編輯,然后生成一個(gè)ASCII碼文件, 擴(kuò)展名為 “.ASM”。在微機(jī)上運(yùn)行匯編程序,譯成機(jī)器碼。 機(jī)器碼通過(guò)串口(或并口)傳送到用戶樣機(jī)或在線仿真器, 進(jìn)行程序的調(diào)試和運(yùn)行。 有時(shí),在分析某些產(chǎn)品的程序的機(jī)器代碼時(shí),需將機(jī)器代 碼翻譯成匯編語(yǔ)言源程序,稱(chēng)為“反匯編”。3.4.2 匯編語(yǔ)言程序的編輯與匯編源程序由主程序、子程序、中斷服務(wù)子程序組成主框架編制案例;程序變量定義區(qū)1 SDABITP1.3;定義SDA位變量 2 IOEQUP0;定義I/O等值P0口3 ByteConDATA30H ;定義

10、字節(jié)變量ByteCon;程序主體部分4 ORG0000H ;程序段從0000H單元開(kāi)始存放 5 LJMPMAIN;跳到主程MAIN6 ORG0003H ;從0003H開(kāi)始存放程序段LJMPINTERUPT0 ;跳到外部中斷0處理子程序8 ORG0030H ;從0030H開(kāi)始存放程序段9MAIN: ;主程序標(biāo)號(hào)說(shuō)明10 MOVSP,#60H ;設(shè)置堆棧指針3.4.3 匯編語(yǔ)言源程序的格式 11 LCALL INITIATE ;調(diào)用初始化子程12 FCY: ;控制程序循環(huán)標(biāo)號(hào)LCALLSUB ;調(diào)用功能子程序13 LJMPFCY ;跳到FCY構(gòu)成循環(huán)14 ORGxxxx ;以下功能程序的存放地址1

11、5 INITIATE: ;初始化子程序標(biāo)號(hào)16 RET ;子程序返回17 SUB: ;功能子程序標(biāo)號(hào)18 RET ;子程序返回19 INTERUPT0: ;外部中斷0功能程序20 RETI ;中斷返回21 TABLE: ;表的標(biāo)號(hào)22 DB 00H,01H ;表的數(shù)據(jù) END ;源程序結(jié)束,停止匯編。 3.4.3 匯編語(yǔ)言源程序的格式 3.5 匯編語(yǔ)言程序的基本結(jié)構(gòu) 匯編語(yǔ)言源程序設(shè)計(jì)通常采用結(jié)構(gòu)化設(shè)計(jì)方法,任何復(fù)雜的程序都可分解為:u順序結(jié)構(gòu)部分u分支結(jié)構(gòu)部分u循環(huán)結(jié)構(gòu)部分u子程序部分u程序書(shū)寫(xiě)格式:4個(gè)對(duì)齊 1標(biāo)號(hào),2助記符,3第一個(gè)操作數(shù),4注釋【功能】求變量X的平方。(單字節(jié)查單字節(jié)查

12、表子程序)【入口參數(shù)】X值存放在片內(nèi)RAM的30H單元【出口參數(shù)】X2值存放在片內(nèi)RAM的31H單元 程序框圖如圖3.10所示。 ORG 0100HSQU: MOV DPTR,# TABLE MOV A,30H MOVC A,A+DPTR MOV 31H,A RET ORG 2000HTABLE: DB 00,01,04,09,16,25 DB 36,49,64,81,100,121 END 3.5.1 順序程序設(shè)計(jì) 3.5.2 分支程序設(shè)計(jì) 分支:根據(jù)某種標(biāo)志改變程序執(zhí)行的順序。一般分為單分支、多分支。(a) 單分支(b)多分支多分支圖圖3.11 分支程序流程圖分支程序流程圖3.5.2 分支

13、程序設(shè)計(jì) 【功能】求單字節(jié)有符號(hào)數(shù)的二進(jìn)制補(bǔ)碼【入口參數(shù)】二進(jìn)制數(shù)放在A中【出口參數(shù)】其補(bǔ)碼放回到A中CMPT: JNB Acc.7,RETURN ;(A)0,不需轉(zhuǎn)換 MOV C,Acc.7;符號(hào)位保存 CPL A;(A)求反,加1 ADD A,#1 MOV Acc.7,C;符號(hào)位存在A的最高位RETURN: RET 1單分支選擇結(jié)構(gòu) :僅有兩個(gè)出口,兩者選一。一般根據(jù)運(yùn)算結(jié)果的狀態(tài)標(biāo)志,用條件判跳指令來(lái)選擇并轉(zhuǎn)移。3.5.2 分支程序設(shè)計(jì) 2.散轉(zhuǎn)多分支程序【功能】某菜單有10項(xiàng)。根據(jù)輸入數(shù)碼轉(zhuǎn)去執(zhí)行相應(yīng)的子程序。即輸 入“1”,執(zhí)行子程序1;輸入“2”,執(zhí)行子程序2;依次類(lèi)推?!救肟趨?shù)

14、】 (R3)=存輸入鍵盤(pán)碼09【出口參數(shù)】轉(zhuǎn)移到相應(yīng)的子程序入口 ORG 0030HKEY_JMP:MOV DPTR, #TAB1;子程序入口首地址送DPTR MOV A, R3;把鍵盤(pán)輸入緩沖區(qū)內(nèi)容送累加器(A) MOV B, #03H MUL AB ;由于長(zhǎng)跳轉(zhuǎn)指令LJMP占用3B, ;各子程序入口地址相距3B 3.5.2 分支程序設(shè)計(jì) 2.散轉(zhuǎn)多分支程序JMP A+DPTR ;根據(jù)輸入碼,執(zhí)行相應(yīng)的子程序TAB1:LJMP NO0LJMP NO1 LJMP NO2 LJMP NO3LJMP NO4LJMP NO5LJMP NO6LJMP NO7LJMP NO8LJMP NO9 END任意

15、任意0-n的散轉(zhuǎn)的散轉(zhuǎn)MOV R6, A ;乘積的低8位暫存R6MOV A,B;乘積的高8位送AADD A ,DPH ;乘積的高8位加到 DPH中MOV DPH, A MOV A, R6JMP A+DPTR3.5.3 循環(huán)程序設(shè)計(jì) 循環(huán)程序一般包含以下4部分。 (1) 設(shè)置循環(huán)初值:設(shè)置循環(huán)過(guò)程工作寄存器單元的初值。 (2) 循環(huán)體:循環(huán)程序功能部分。 (3) 循環(huán)記錄:記錄循環(huán)過(guò)程,為循環(huán)判斷準(zhǔn)備。 (4) 循環(huán)控制:判斷循環(huán)完成情況,滿足條件作相應(yīng)的 處理。不滿足繼續(xù)執(zhí)行。 n程序中含有可以反復(fù)執(zhí)行的程序段n循環(huán)程序分為先循環(huán)后判斷和先判斷后循環(huán)兩種循環(huán)體方式3.5.3 循環(huán)程序設(shè)計(jì) 圖3

16、.12 循環(huán)程序流程圖圖3.12 循環(huán)程序流程圖【功能】 n個(gè)單字節(jié)數(shù)相加,和為雙字節(jié),存放在(R3、R4)中。【入口參數(shù)】單字節(jié)數(shù)Xi放在從40H開(kāi)始的RAM單元中,n放在R2中?!境隹趨?shù)】和存放在(R3、R4)中。(R2為控制變量,R0為變址單元 )【分析】計(jì)算公式為 。公式要改寫(xiě)為用程序?qū)崿F(xiàn)的數(shù)值解法:y (R3、R4) Xi (R0)nR2 3.5.3 循環(huán)程序設(shè)計(jì) 1niiyx SUM: MOV R3, #00H MOV R4, #00H MOV R2, #n MOV R0, #40H LOOP: MOV A, R4;取部分和低位 ADD A, R0;與Xi相加 MOV R4, A

17、 INC R0;地址加1 CLR A ADDC A, R3;低位字節(jié)向高位字節(jié)進(jìn)位 MOV R3, A DJNZ R2, LOOP ;未加完繼續(xù)重復(fù) RET3.5.3 循環(huán)程序設(shè)計(jì) 【功能】設(shè)計(jì)一個(gè)延時(shí)10ms的程序?!救肟趨?shù)】 (R0)=毫秒數(shù),(R1)=1ms延時(shí)預(yù)定值?!境隹趨?shù)】定時(shí)到,退出程序。【分析】延時(shí)主要與所用機(jī)器周期和延時(shí)程序中的循環(huán)次數(shù)有關(guān)。已知AT89C51單片機(jī)使用的晶振為12MHz,則可知1個(gè)機(jī)器周期為1s。ORG0100H 指令機(jī)器周期數(shù)DELAY: MOV R0 , #10 ;毫秒數(shù)R0 1DL2:MOV R1 , #250 ;1ms延時(shí)值R1 1DL1:NOP

18、 1NOP; (1+1+2)1250=1000 s 1DJNZ R1 , DL1 ;1ms延時(shí)循環(huán) 2DJNZ R0 , DL2 ;10ms延時(shí)循環(huán) 2RET ;精確延時(shí)時(shí)間計(jì)算式為: 2 ; (1+2) 1+(1+2)110+(1+1+2)125010=10.033ms3.5.3 循環(huán)程序設(shè)計(jì) 內(nèi)循環(huán)外循環(huán)3.5.4 子程序設(shè)計(jì) (1)子程序的入口地址,前必須有標(biāo)號(hào)。(2)主程序調(diào)用子程序,是通過(guò)調(diào)用指令來(lái)實(shí)現(xiàn)。(3)子程序結(jié)構(gòu)中必須用到堆棧,用來(lái)進(jìn)行斷點(diǎn)和現(xiàn)場(chǎng)的保護(hù)。(4)子程序返回主程序時(shí),最后一條指令必須是RET或RETI指令。(5)主程序和子程序約定好交換數(shù)據(jù)的地址單元或存儲(chǔ) 器,其

19、為主、子程序共有部分。(6)子程序可以嵌套,即子程序又可以調(diào)用另外的子程序。 n按功能分為中斷子程序和功能子程序。3.5.4 子程序設(shè)計(jì)運(yùn)算類(lèi)子程序-1 【功能】多字節(jié)無(wú)符號(hào)數(shù)的加法?!救肟趨?shù)】 DATA1=被加數(shù)的低位地址。 DATA2=加數(shù)的低位地址。N字節(jié)相加?!境隹趨?shù)】 DATA2=和數(shù)低位地址。MADD: MOV R0,#DATA1;置被加數(shù)指針 MOV R1, #DATA2;置加數(shù)指針 MOV R7,#N;置字節(jié)數(shù) CLR C;清進(jìn)位位LOOP: MOV A,R0 ADDC A,R1 ;求和 MOV R1,A ;存結(jié)果 INC R0 ;修改指針 INC R1 DJNZ R7,L

20、OOP;循環(huán)判斷 RET 3.5.4 子程序設(shè)計(jì)運(yùn)算類(lèi)子程序-2 【功能】多字節(jié)無(wú)符號(hào)數(shù)的減法。【入口參數(shù)】 DATA1=被減數(shù)的低位地址。 DATA2=減數(shù)的低位地址。N字節(jié)相減?!境隹趨?shù)】 DATA2=差數(shù)低位地址。MADD: MOV R0,#DATA1;置被差數(shù)指針 MOV R1, #DATA2;置差數(shù)指針 MOV R7,#N;置字節(jié)數(shù) CLR C;清借位位LOOP: MOV A,R0 SUBB A,R1 ;求差 MOV R1,A ;存結(jié)果 INC R0 ;修改指針 INC R1 DJNZ R7,LOOP;循環(huán)判斷 RET 3.5.4 子程序設(shè)計(jì)碼型轉(zhuǎn)換子程序-1 【功能】將1位十六進(jìn)

21、制數(shù)轉(zhuǎn)換成相應(yīng)的ASCII碼?!救肟趨?shù)】 (R0)=1位十六進(jìn)制數(shù)?!境隹趨?shù)】 (R2)=轉(zhuǎn)換后的ASCII碼?!痉治觥哭D(zhuǎn)換方法為:小于10,加上30H,否則加上37H。HASC:MOV A,R0;取4位二進(jìn)制數(shù)ANLA,#0FH;屏蔽掉高4位PUSH ACC;4位二進(jìn)制數(shù)入棧CLR C ;清進(jìn)(借)位標(biāo)志位SUBB A,#0AHPOP ACC;彈出原4位二進(jìn)制數(shù)JC LOOP;借位位為1,跳轉(zhuǎn)至LOOPADD A,#07H;借位位為0,該數(shù)在AF之間,加37HLOOP: ADDA,#30H;該數(shù)在09之間,加30H MOV R2,A;ASCII碼存于R2 RET3.5.4 子程序設(shè)計(jì)碼型

22、轉(zhuǎn)換子程序-2 【功能】將一個(gè)字節(jié)二進(jìn)制數(shù)轉(zhuǎn)換成 3 位非壓縮型BCD碼。 【入口參數(shù)】二進(jìn)制數(shù)在內(nèi)部RAM 40H單元。【出口參數(shù)】轉(zhuǎn)換結(jié)果放入內(nèi)部 RAM 52H, 51H, 50H單元中?!痉治觥哭D(zhuǎn)換方法為:依次100、10整除。HEXBCD: MOV A, 40H MOV B, 100 DIV AB;商(A)百位數(shù),余數(shù)(B) MOV 52H, A MOV A, B MOV B,10 DIV AB ;商(A)十位數(shù),余數(shù)(B)個(gè)位數(shù) MOV 51H, A MOV 50H, B RET 3.5.4 子程序設(shè)計(jì)查表子程序-1 【功能】單字節(jié)查雙字節(jié)查表子程序。 【入口參數(shù)】 1)8位A/D電壓采集數(shù)字量,VR3; 2)溫度值放在ROM表中。【出口參數(shù)】溫度值R2R3 ?!痉治觥刻攸c(diǎn):自變量為自然數(shù)0,1,2 應(yīng)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論