ARM的指令集最新培訓(xùn)課件(共71張PPT)_第1頁
ARM的指令集最新培訓(xùn)課件(共71張PPT)_第2頁
ARM的指令集最新培訓(xùn)課件(共71張PPT)_第3頁
ARM的指令集最新培訓(xùn)課件(共71張PPT)_第4頁
ARM的指令集最新培訓(xùn)課件(共71張PPT)_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

回顧第一頁,共七十一頁。第六章ARM根本(gēnběn)指令集與尋址介紹6.1指令集的特征與功能6.2ARM尋址方式6.3ARM指令集編碼格式6.4Thumb指令集第二頁,共七十一頁。6.1指令集的特征(tèzhēng)與功能第三頁,共七十一頁。1指令(zhǐlìng)概念機器指令〔machineinstruction〕指令集〔InstructionSet〕第四頁,共七十一頁。2.機器指令要素(yàosù)每一個機器指令必須包含CPU執(zhí)行所需的全部信息取指令指令地址計算指令譯碼操作數(shù)地址計算數(shù)據(jù)操作操作數(shù)地址計算取操作數(shù)存操作數(shù)指令完成取下一條多操作數(shù)多結(jié)果CPU訪問存儲器或I/OCPU內(nèi)部操作第五頁,共七十一頁。2.機器指令要素(yàosù)操作碼〔opcode〕源操作數(shù)引用結(jié)果操作數(shù)引用下一指令引用做何操作?對誰做此操作?如何尋找被操作數(shù)據(jù)的存放器或存儲器位置?完成后到哪里去取下一個操作?第六頁,共七十一頁。3.機器指令的表示(biǎoshì)方法—指令格式指令格式有多種表示形式:定長,變長,混合長度對于32位RISC處理器,一般采用定長格式的32位二進制碼。第七頁,共七十一頁。4.機器指令的表示(biǎoshì)方法采用符號表示法來描述機器指令 e.g.ADD,SUB,Load,Store。由編譯器完成符號→二進制的轉(zhuǎn)換第八頁,共七十一頁。5.指令(zhǐlìng)類型指令集必須充分,應(yīng)允許用戶表達任何處理任務(wù),可以表示任何高級語言的指令形式。E.g.一行簡單程序:X=X+Y設(shè):X的內(nèi)存位置513;Y的內(nèi)存位置514;1.將內(nèi)存513位置的值放入存放器reg_x;Load2.將內(nèi)存514的值放到另一存放器reg_y;Load3.將reg_y加到reg_x,將結(jié)果放入reg_x;ADD4.將結(jié)果值存入內(nèi)存513位置;Store第九頁,共七十一頁。典型分類指令舉例數(shù)據(jù)傳送Load,Store,Push,Pop算術(shù)Add,Sub,Mul,Div邏輯AND,OR,NOT,ShiftI/ORead,Write系統(tǒng)控制SWI(軟中斷),BKPT控制傳遞Jump,Return,NOP,6.指令類型的根本(gēnběn)分類第十頁,共七十一頁。7.指令集設(shè)計(shèjì)的關(guān)鍵環(huán)節(jié)指令集設(shè)計是計算機設(shè)計最有影響的方面根本設(shè)計出發(fā)點操作指令表數(shù)據(jù)類型指令格式存放器尋址方式應(yīng)提供多少和怎樣的操作?對幾種數(shù)據(jù)類型完成操作?8位字節(jié)?32位字?64位雙字?指令位長度,地址數(shù)目,各字段大小CPU存放器數(shù)目以及其用途指定操作數(shù)產(chǎn)生的方式第十一頁,共七十一頁。8.操作數(shù)類型(lèixíng)地址無符號整數(shù)32位數(shù)值整數(shù)或定點數(shù)浮點數(shù)十進制數(shù)BCD〔BinaryCodedDecimal〕字符ASCII碼邏輯數(shù)據(jù)第十二頁,共七十一頁。9.操作(cāozuò)類型典型分類CPU動作指令舉例數(shù)據(jù)傳送傳送數(shù)據(jù)到另一個位置Load,Store,Push,Pop算術(shù)ALU內(nèi)完成功能設(shè)置條件代碼和標志Add,Sub,Mul,Div邏輯同算術(shù)指令A(yù)ND,OR,NOT,ShiftI/O向I/O模塊發(fā)出命令Read,Write系統(tǒng)控制特權(quán)指令,保留給操作系統(tǒng)使用SWI(軟中斷),BKPT控制傳遞修改PC,以完成程序調(diào)用/返回,管理參數(shù)傳送Jump,Return,NOP,第十三頁,共七十一頁。10.匯編語言(huìbiānyǔyán)-舉例用機器語言編程語句N=I+J+K第十四頁,共七十一頁。6.2ARM尋址方式(fāngshì)

第十五頁,共七十一頁。6.2.1尋址方式(fāngshì)第十六頁,共七十一頁。1.尋址方式(fāngshì)的考慮為什么要采用多種尋址方式?根本尋址方式:立即尋址直接尋址間接尋址存放器尋址存放器間接尋址偏移尋址堆棧尋址第十七頁,共七十一頁。2.RISC體系(tǐxì)采用的指令集結(jié)構(gòu)ISA有兩種ISA:Register-memoryRegister-RegisterRISC采用Register-Regiter〔Load-Store〕第十八頁,共七十一頁。6.2.2ARM處理器的尋址方式(fāngshì)第十九頁,共七十一頁。1.立即(lìjí)尋址操作數(shù)直接通過指令給出,數(shù)據(jù)包含在32位指令編碼中。32位有效立即數(shù)通過循環(huán)右移偶數(shù)位而間接得到舉例ADDR0,R0,#1ANDR8,R7,#0xFFMOVR1,#0x00012800第二十頁,共七十一頁。2.存放(cúnfàng)器尋址利用存放器中的數(shù)值作為操作數(shù),指令中的地址碼給出的是存放器名第二操作數(shù)位存放器型時,可以選擇對第二操作數(shù)進行移位舉例ADDR0,R1,R2ADDR3,R2,R1,LSR#2ADDR3,R2,R1,LSRR4LSL,LSR,ASL,ASR,ROR,RRX第二十一頁,共七十一頁。3.存放(cúnfàng)器間接尋址ARM的數(shù)據(jù)傳送指令都是基于存放器間接尋址,通過Load/Store完成對數(shù)據(jù)的操作。舉例LDRR0,[R1]STRR0,[R1]R0←mem32[R1]R0→mem32[R1]第二十二頁,共七十一頁。4.基址(jīzhǐ)加偏址尋址〔變址尋址〕將基址存放器的內(nèi)容與指令中給出的偏移量相加,形成存儲器的有效地址,用于訪問基址附近的存儲器單元。偏移量不超過4KB〔指令編碼中Offset為12位〕前變址,后變址,自動變址三種模式存放器間接尋址實際是偏移量為0的基址加偏址尋址舉例LDRR0,[R1,#4]LDRR0,[R1,#4]!LDRR0,[R1],#4LDRR0,[R1,R2]LDRR0,[R1,R2,LSL,#2]LDRBR0,[R1]LDRHR1,[R0,#20]前變址:R0←Mem32[R1+4];自動變址:R0←Mem32[R1+4];R1←R1+4后變址:R0←Mem32[R1];R1←R1+4;字節(jié)傳送:R0←Mem8[R1]半字傳送:R1←Mem16[R0+20]第二十三頁,共七十一頁。5.堆棧(duīzhàn)尋址Stack是用于保存數(shù)據(jù)的一塊連續(xù)內(nèi)存,按照FIFO或FILO順序存取指向堆棧的地址存放器成為堆棧指針〔SP〕對堆棧的訪問通過堆棧指針R13指向堆棧區(qū)域來實現(xiàn)舉例STMFDSP!{R1-R7,LR}LDMFDSP!{R1-R7,LR}第二十四頁,共七十一頁。6.塊拷貝尋址是多存放器傳送指令LDM/STM的尋址方式(fāngshì),可以把內(nèi)存中的數(shù)據(jù)塊加載到多個存放器中去。LDM/STM根據(jù)其后綴名,其尋址方式有所不同LDM/STM的后綴選擇舉例STMIAR9!,(R0,R1,R5)STMIBR9!,(R0,R1,R5)STMDAR9!,(R0,R1,R5)STMDBR9!,(R0,R1,R5)第二十五頁,共七十一頁。7.相對(xiāngduì)尋址可以認為是基址為PC的變址尋址,偏移量給出了目的地址于現(xiàn)行指令之間的相對位置。舉例BLSUBR 。。。。。。SUBRMOVPC,R14子程序入口地址返回轉(zhuǎn)移到SUBR第二十六頁,共七十一頁。小結(jié)第二十七頁,共七十一頁。6.3ARM指令集編碼(biānmǎ)與格式第二十八頁,共七十一頁。1.ARM指令(zhǐlìng)分類分類指令指令列舉數(shù)據(jù)處理ADD、ADC、SUB、RSB、SBC;MOV、MVN;AND、ORR、EOR、BIC;CMP、CMN;TST、TEQ;MUL、MLA、UMULL、UMLAL、SMULL、SMLAL數(shù)據(jù)傳送LDR、STR(單寄存器存取);LDM、STM(多寄存器存?。?;SWP(信號量)狀態(tài)寄存器訪問

MRS、MSR分支指令B、BL;BX、BLX;異常產(chǎn)生SWI(軟中斷產(chǎn)生);BKPT(斷點指令);協(xié)處理器CDP;LDC、STC;MCR、MRC;第二十九頁,共七十一頁。2.ARM指令(zhǐlìng)編碼ARM指令編碼格式ARM條件編碼格式第三十頁,共七十一頁。3.根本指令(zhǐlìng)格式<opcode>{<cond>}{S}<Rd>,<Rn>{,<operand2>}指令助記符可選條件碼;指令執(zhí)行條件可選后綴,可根據(jù)指令結(jié)果更新CPSR條件碼Rd:目標存放器;Rn:第一操作數(shù)存放器第2操作數(shù)第三十一頁,共七十一頁。3.根本指令(zhǐlìng)格式舉例LDRR0,[R1]BEQDATAEVENADDSR2,R1,#1SUBNESR2,R1,#0x20讀取R1地址上的內(nèi)容,執(zhí)行條件AL〔總是〕條件執(zhí)行分支指令,執(zhí)行條件EQ,即相等那么跳轉(zhuǎn)加法指令:R2←R1+1;影響CPSR的標志位條件執(zhí)行減法:R2←R1-0x20;執(zhí)行條件NE,影響CPSR的標志位NZCV……IFTM4M3M2M1M0第三十二頁,共七十一頁。4.數(shù)據(jù)處理指令(zhǐlìng)數(shù)據(jù)處理1.算術(shù)運算指令A(yù)DD、SUB、ADC、SBC、RSB、RSC;2.邏輯運算指令A(yù)ND、ORR、EOR、BIC;3.比較指令CMP、CMN;4.測試指令TST、TEQ;5.乘法指令MUL、MLA、UMULL、UMLAL、SMULL、SMLAL6.數(shù)據(jù)傳送指令MOV、MVN;第三十三頁,共七十一頁。4.1乘法(chéngfǎ)指令完成2個存放器的數(shù)據(jù)相乘。按照結(jié)果位寬可分成兩類:64位結(jié)果;僅保存最低有效32位。2種類型都有“乘-累加〞變形,即將成績連續(xù)相加成總和,且適用于無符號和有符號數(shù)乘法指令舉例MUL、乘(32位結(jié)果)Rd←(Rm*Rs)[31:0]MLA、乘-累加(32位結(jié)果)Rd←(Rm*Rs+Rn)[31:0]UMULL、無符號數(shù)長乘RdHi:RdLo←Rn*RsUMLAL、無符號數(shù)長乘-累加RdHi:RdLo+=Rn*RsSMULL、符號數(shù)長乘RdHi:RdLo←Rn*RsSMLAL符號數(shù)長乘-累加RdHi:RdLo+=Rn*Rs第三十四頁,共七十一頁。4.2Load/Store指令(zhǐlìng)ARM處理器是Load/Store型的。將數(shù)據(jù)從存儲器中調(diào)入存放器中進行處理;處理完成后經(jīng)過存放器將結(jié)果存回到存儲器中I/O功能是通過存儲器映射的可循之外圍存放器和終端輸入的組合來實現(xiàn)。在存儲器映射系統(tǒng)中,外設(shè)中的存放器被映射為存儲器的地址,對這些存放器的操作方法與對存儲器的操作相同處理器對外設(shè)的操作也是適用Load/Store指令通過類似存儲器操作來完成。第三十五頁,共七十一頁。4.2.1單存放(cúnfàng)器存取指令LDR/STR傳送的數(shù)據(jù)可以是8位字節(jié)、16位半字或32位字可以適用7種尋址方式;可以適用自動變址尋址方式〔硬件支持〕指令格式前變址: LDR|STR{<cond>}{B}Rd,[Rn,<offset>]{!}后變址 LDR|STR{<cond>}{B}{T}Rd,[Rn],<offset>相對PC變址 LDR|STR{<cond>}{B}Rd,LABELB表示傳送無符號字節(jié)還是字。缺省B=0為傳送字T標志位只能在非用戶模式即特權(quán)模式下使用。作用是選擇用戶角度的存儲器變換系統(tǒng)LDR/STR舉例第三十六頁,共七十一頁。4.2.2多存放(cúnfàng)器存取指令LDM/STM可用一條指令將16個可見存放器的任意子集存儲到內(nèi)存或者相反。尋址模式受到限制LDM/STM的兩種用途可允許OS加載或存儲用戶模式存放器來保護和恢復(fù)用戶處理狀態(tài)〔保存作業(yè)現(xiàn)場〕;可作為異常處理返回的一局部,完成從SPSR中恢復(fù)CPSR。多存放器存取指令形式指令舉例第三十七頁,共七十一頁。4.3狀態(tài)存放(cúnfàng)器與GPRs之間的傳送MSR/MRSPSW到GPRs的傳送指令MRS;GPRs到PSW的傳送指令MSR;修改PSW一般是通過“讀-修改-寫〞3個步驟來完成。不能通過該指令直接修改CPSR中的T位直接將程序狀態(tài)切換到Thumb狀態(tài),而是必須通過BX指令完成狀態(tài)切換。第三十八頁,共七十一頁。4.4異常中斷產(chǎn)生(chǎnshēng)指令SWI指令用于產(chǎn)生SWI異常中斷,可以實現(xiàn)在用戶模式下對OS中特權(quán)模式的程序調(diào)用。SWI代表“軟件中斷〞,用戶可通過其調(diào)用系統(tǒng)例程,又被稱為監(jiān)控調(diào)用。它將處理器至于SVC監(jiān)控模式,從0x08開始執(zhí)行指令。指令格式與舉例BKPT用于產(chǎn)生軟件斷點,供調(diào)試程序使用。用于軟件調(diào)試,使處理器停止執(zhí)行正常指令而進入相應(yīng)的調(diào)試程序。第三十九頁,共七十一頁。6.4Thumb指令(zhǐlìng)第四十頁,共七十一頁。1.Thumb指令編碼(biānmǎ)格式第四十一頁,共七十一頁。2.Thumb指令集特點(tèdiǎn)16位指令編碼壓縮指令,在ARM的Pipeline中先動態(tài)解壓,再作為標準32位ARM指令執(zhí)行CPSR[5]位T決定指令流類型:T=1那么Thumb;Thumb指令集沒有協(xié)處理器、信號量、乘加、64位乘、狀態(tài)存放器等指令;指令均為無條件執(zhí)行,只有B指令除外;采用2地址格式的數(shù)據(jù)處理指令;NZCV……IFTM4M3M2M1M0第四十二頁,共七十一頁。Thumb指令(zhǐlìng)使用:Thumb指令功能受限,除非有嚴格的指令空間的要求,一般很少使用。第四十三頁,共七十一頁。小結(jié)第四十四頁,共七十一頁。10.匯編語言(huìbiānyǔyán)-舉例用機器語言編程語句N=I+J+K假設(shè):I,J,K變量初始化為2,3,4;N,I,J,K4個變量的存儲位置從0x201處開始;程序從位置0x101處開始,由4條指令組成:將位置201的內(nèi)容裝入AC;將位置202的內(nèi)容加到AC;將位置203的內(nèi)容加到AC;將AC的內(nèi)容存入位置204;

第四十五頁,共七十一頁。8.匯編語言(huìbiānyǔyán)-舉例地址內(nèi)容10100100010000000011020001001000000010103000100100000001110400110010000001002010000000000000010202000000000000001120300000000000001002040000000000000000地址內(nèi)容10122011021202103120310432042010002202000320300042040000地址指令101LDA201102ADD202103ADD203104STA204201DAT2202DAT3203DAT4204DAT0標號操作操作數(shù)FORMULLDAIADDJADDKSTANIDATA2JDATA3KDATA4NDATA0二進制→16進制符號程序匯編程序第四十六頁,共七十一頁。1.尋址方式(fāngshì)的考慮指令格式中的地址字段通常是非常有限的,希望能夠大范圍的訪問主存或虛擬存儲器。為了實現(xiàn)此目標,采用了各類尋址技術(shù)。各類尋址技術(shù)都涉及到如下兩方面的權(quán)衡:地址范圍和尋址靈活性;存儲器引用數(shù)與地址計算的復(fù)雜性;第四十七頁,共七十一頁。2.幾種根本(gēnběn)的尋址方式立即尋址Opcode操作數(shù)指令第四十八頁,共七十一頁。2.幾種(jǐzhǒnɡ)根本的尋址方式直接尋址OpcodeA指令操作數(shù)存儲器第四十九頁,共七十一頁。2.幾種(jǐzhǒnɡ)根本的尋址方式間接尋址OpcodeA指令操作數(shù)存儲器第五十頁,共七十一頁。2.幾種根本(gēnběn)的尋址方式存放器尋址R指令操作數(shù)存放器組第五十一頁,共七十一頁。2.幾種根本(gēnběn)的尋址方式存放器間接尋址R指令存放器組操作數(shù)存儲器第五十二頁,共七十一頁。2.幾種(jǐzhǒnɡ)根本的尋址方式偏移尋址R指令存放器組操作數(shù)存儲器A第五十三頁,共七十一頁。2.幾種(jǐzhǒnɡ)根本的尋址方式堆棧尋址指令棧頂隱含第五十四頁,共七十一頁。6.LDM/STM指令(zhǐlìng)后綴選擇IA〔IncrementAfter〕操作完成后地址遞增IB〔IncrementBefore〕地址遞增后完成操作DA〔DecrementAfter〕操作完成后地址遞減DB〔DecrementBefore〕地址遞減后完成操作EA〔EmptyIncrement〕空遞增堆棧FD〔FullDecrement〕滿遞減堆棧ED〔EmptyDecrement〕空遞減堆棧FA〔FullIncrement〕滿遞增堆棧用于數(shù)據(jù)的存儲和讀取用于堆棧的操作第五十五頁,共七十一頁。1.ARM指令集編碼(biānmǎ)第五十六頁,共七十一頁。ARM指令集條件(tiáojiàn)碼編碼第五十七頁,共七十一頁。3.2乘法指令(zhǐlìng)舉例形成兩個矢量的標積:MovR11,#20MovR10,#0LOOPLDRR0,[R8],#4LDRR1,[R9],#4MLAR10,R0,R1,R10SUBSR11,R11,#1BNELOOP格式:UMLAL{<cond>}{S}RdHi,RdLo,Rm,RsE.g.UMLALR4,R3,R2,R1R4:R3←R2*R1初始化循環(huán)計數(shù)初始化總和讀取第一分量讀取第二分量乘積累加循環(huán)計數(shù)減一第五十八頁,共七十一頁。4.1單存放(cúnfàng)器存取指令舉例LDRR8,[R10]LDRNER1,[R5,#960]!STRR2,[R9,#consta-struc]LDRR1,localdataLDRR0,[R1],R2,LSL#2LDRBR0,[R2,#3]LDRR1,[R0,-R2,LSL#2]STRR0,[R7],#-8R8←[R10]〔有條件地〕R1←[R5+960],然后R5←[R5+960]常量表達式,-4095~4095加載一個字,該字位于標號Localdata所在位置先將R1指向的內(nèi)存單元的數(shù)據(jù)讀入,再將R1←[R1+R2x4]將[R2+3]中的字節(jié)數(shù)據(jù)讀入R0,R0高24位置0將[R0-R2x4]處的數(shù)據(jù)讀到R1中,R0,R2中的值不變將R0的數(shù)據(jù)寫入到[R7]位置,再R7←[R7-8]第五十九頁,共七十一頁。4.1單存放器存取指令(zhǐlìng)舉例編程中,經(jīng)常使用相對PC的形式將R0中的一個字存到外設(shè)中:LDRR1,UARTADDSTRR0,[R1]。。。。。。UARTADD&1000000也經(jīng)常使用相對PC的形式將外設(shè)中數(shù)據(jù)讀到R0中:LDRR1,UARTADDLDRR0,[R1]。。。。。。UARTADD&1000000第六十頁,共七十一頁。4.2多存放器存取指令(zhǐlìng)指令(zhǐlìng)形式LDM/STM{<cond>}<addmode>Rn{!}<registers>數(shù)據(jù)存取堆棧操作IA(IncrementAfter)EA(EmptyAggrandizement)空遞增堆棧IB(IncrementBefore)FA(FullAggrandizement)滿遞增堆棧DA(DecrementAfter)ED(EmptyDecrement)滿遞減堆棧DB(DecrementBefore)FD(FullDecrement)滿遞減堆棧編號低的存放器在存儲數(shù)據(jù)或者加載數(shù)據(jù)時對應(yīng)于存儲器的低地址第六十一頁,共七十一頁。4.2多存放器存取指令(zhǐlìng)舉例LDMIAR1,{R0,R2,R5}SRMDBR1!,{R3-R6,R11,R12}STMEDSP!,{R0-R7,LR}R0←[R1]R2←[R1+4]R5←[R1+8][R1-4]←R3[R1-8]←R4[R1-12]←R5[R1-16]←R6[R1-20]←R11[R1-24]←R12R1←R1-24現(xiàn)場保存:將R0~R7,LR入棧[R13]←R0[R13-4]←R1。。。R13←R13-36第六十二頁,共七十一頁。4.3.1PSW到GPRs的傳送(chuánsònɡ)指令MRS三種情況下會使用:修改PSW內(nèi)容。MRS用于將PSW內(nèi)容讀到通用存放器中;異常中斷允許嵌套時,需要在進入中斷之后、嵌套中斷發(fā)生之前保存當前處理器模式對應(yīng)的SPSR。這時要先讀出SPSR值,再用其它指令將其保存;當發(fā)生進程切換時,也需要保存當前存放器值。格式MRS{<cond>}Rd,CPSR|SPSR舉例MRSR0,CPSRMRSR2,SPSR第六十三頁,共七十一頁。4.3.2GPRs到PSW的傳送(chuánsònɡ)指令MSR當要保存或修改當前的CPSR/SPSR時,必須將這些內(nèi)容先傳送到GPRs中進行處理,然后就要采用MSR指令寫回到PSW中。通過MSR指令,可以將立即數(shù)或GPRs的內(nèi)容加載到CPSR或SPSR中的指定區(qū)域第六十四頁,共七十一頁。4.3.2MSR格式(géshi)MSR{<cond>}CPSR_f|SPSR_f,#<32位立即數(shù)>MSR{<cond>}CPSR_f|SPSR_f,Rm_f或者<field>域表示域屏蔽控制,可為以下情況之一:C---控制域PSR[7:0]X----擴展域,PSR[15:8]S----狀態(tài)域,PSR[23:16]F---標志位域,PSR[31:24]NZCV……IFTM4M3M2M1M0條件碼標志位

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論