版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
ARM嵌入式系統(tǒng)
第5章 ARM匯編程序(huìbiānchénɡxù)設(shè)計(jì)
第一頁,共六十七頁。5.1匯編語言(huìbiānyǔyán)源程序助記符偽指令宏指令第二頁,共六十七頁。匯編指令和機(jī)器指令是“一一對應(yīng)〞的匯編語言程序需由匯編程序?qū)⑵鋮R編為機(jī)器語言程序,才能被計(jì)算機(jī)執(zhí)行。匯編語言大體上包括了匯編指令、系統(tǒng)調(diào)用(diàoyòng)和中斷、偽指令和宏指令,匯編語言是強(qiáng)烈依賴硬件和匯編環(huán)境的。學(xué)習(xí)和使用匯編語言程序設(shè)計(jì)的原因第三頁,共六十七頁。指令語句(instructions) 完成一定操作功能(gōngnéng),能夠翻譯成機(jī)器代碼的語句。偽指令語句(directives,指示性語句) 為匯編程序在翻譯匯編語言源程序時提供有關(guān)信息,并不翻譯成機(jī)器代碼。宏指令語句(marcos) 可看成是由假設(shè)干條指令語句形成的語句,一條宏指令語句的功能相當(dāng)于假設(shè)干條指令語句的功能。第四頁,共六十七頁。ARM程序設(shè)計(jì)(chénɡxùshèjì)根底偽指令宏與宏指令A(yù)RM匯編語言標(biāo)準(zhǔn)〔語句、表達(dá)式和運(yùn)算符〕ARM匯編語言的程序格式第五頁,共六十七頁。5.2偽指令段定義(dìngyì)標(biāo)號符號定義偽指令數(shù)據(jù)定義偽指令匯編控制偽指令其他偽操作第六頁,共六十七頁。匯編語言程序(chéngxù)例如AREA Block, CODE, READONLY num EQU 10 ENTRY
start
LDR R0, =src LDR R1, =dst MOV R2, #numblockcopy LDR R3, [R0], #4 STR R3, [R1], #4 SUBS R2, R2, #1 BNE blockcopy B . AREA BlockData, DATA, READWRITEsrc DCD 0,1,2,3,4,5,6,7,8,9dst SPACE 10*4 END第七頁,共六十七頁。符號(fúhào)定義偽指令定義全局變量: GBLA、GBLL和GBLS定義局部變量: LCLA、LCLL和LCLS變量賦值: SETA、SETL、SETS通用存放器列表定義名稱:RLIST第八頁,共六十七頁。GBLA、GBLL和GBLSGBLA、GBLL和GBLS 語法格式: GBLA〔GBLL或GBLS〕 全局變量名 GBLAobjectsize;全局的數(shù)字變量objectsize,為0ObjectsizeSETA0xff ;將該變量賦值為0xff SPACEobjectsize;引用該變量 GBLLstatusB ;全局的邏輯變量statusB,為{False}statusBSETL{TRUE} ;將該變量賦值為真
全局:作用(zuòyòng)范圍為包含該變量的源程序第九頁,共六十七頁。LCLA、LCLL和LCLSLCLA、LCLL和LCLS 語法格式: LCLA〔LCLL或LCLS〕 局部變量名 MACRO ;聲明(shēngmíng)一個宏$labelmessage$a;宏的原型LCLSerr;聲明一個局部變量err,為空串errSETS“errorno:〞;向該變量賦值$label;代碼INFO0,err:CC::STR:$a;使用該串變量MEND ;宏定義結(jié)束
局部:作用范圍為包含該局部變量的宏代碼的一個實(shí)例第十頁,共六十七頁。SETA、SETL、SETSSETA、SETL和SETS 語法格式: 變量名 SETA〔SETL或SETS〕 表達(dá)式 在向變量(biànliàng)賦值前,必須先聲明該變量(biànliàng)
第十一頁,共六十七頁。RLISTRLIST 語法(yǔfǎ)格式: 名稱 RLIST {存放器列表}
ContextRLIST{r0-r6,r8,r10-r12,r15} ;將存放器列表名稱定義為Context,可在ARM指令LDM/STM中通過該名稱訪問存放器列表。排列順序無關(guān)第十二頁,共六十七頁。數(shù)據(jù)(shùjù)定義偽指令
DCB DCW〔DCWU〕DCD〔DCDU〕DCFD〔DCFDU〕DCFS〔DCFSU〕SPACEMAPFIELD第十三頁,共六十七頁。DCB 語法(yǔfǎ)格式: {標(biāo)號} DCB 表達(dá)式
表達(dá)式取值范圍:-128~127;0~255的數(shù)字或字符串。 DCB:“=〞
Nullstring DCB “Nullstring〞,0 ;構(gòu)造一個以0結(jié)尾的字符串第十四頁,共六十七頁。DCW〔或DCWU〕 語法格式: {標(biāo)號} DCW〔或DCWU〕 表達(dá)式
DCW:半字對齊 DCWU:不嚴(yán)格半字對齊。 表達(dá)式取值范圍:-32768~32767;0~65535 data1 DCW -128,num1+8 ;num1必須是已經(jīng)(yǐjing)定義過的第十五頁,共六十七頁。DCD〔或DCDU〕 語法格式: {標(biāo)號} DCD〔或DCDU〕 表達(dá)式 DCD:“&〞 DCD:字對齊 DCDU:不嚴(yán)格(yángé)字對齊。 data1 DCD 1,5,20 ;其值為1,5,20 data2 DCD memaddr+4 ;分配一個字單元,其值為程序中標(biāo)號memaddr加4個字節(jié)第十六頁,共六十七頁。DCFD〔或DCFDU〕 語法格式: {標(biāo)號} DCFD〔或DCFDU〕 表達(dá)式 每個雙精度的浮點(diǎn)數(shù)占據(jù)兩個(liǎnɡɡè)字單元。 DCFD:字對齊 DCFDU:不嚴(yán)格字對齊 DCFD 1E308,-4E-100 DCFDU 100000,-.1,3.1E26
第十七頁,共六十七頁。DCFS〔或DCFSU〕 語法格式: {標(biāo)號}DCFS〔或DCFSU〕表達(dá)式 每個單精度的浮點(diǎn)數(shù)占據(jù)一個(yīɡè)字單元。 DCFS:字對齊 DCFSU:不嚴(yán)格字對齊 DCFS 1E3,-4E-9 DCFSU 1.0,-.1,3.1E6
第十八頁,共六十七頁。SPACE 語法格式: {標(biāo)號} SPACE 表達(dá)式 分配一片連續(xù)的存儲區(qū)域(qūyù)并初始化為0。其中,表達(dá)式為要分配的字節(jié)數(shù)。 SPACE:“%〞 DatastrucSPACE280 ;分配連續(xù)280字節(jié)的存儲單元并初始化為0第十九頁,共六十七頁。LTORG 語法格式:
{標(biāo)號} LTORG 說明(shuōmíng)某個存儲區(qū)域是用來暫存數(shù)據(jù)的數(shù)據(jù)緩沖區(qū)——文字池或數(shù)據(jù)緩沖池。大的代碼段也可以使用多個數(shù)據(jù)緩沖池。當(dāng)程序中使用LDR之類的指令訪問數(shù)據(jù)緩沖池時,為防止越界產(chǎn)生,通常把數(shù)據(jù)緩沖池放在代碼段的后面,或者放在無條件跳轉(zhuǎn)指令或子程序返回指令之后,使得處理器不會錯誤的將數(shù)據(jù)緩沖池中的數(shù)據(jù)當(dāng)做指令來執(zhí)行。
AREAExample,CODE,READONLYStartBLFunc1…Func1LDRR1,=0x800
MOVPC,LR
LRORGDataSPACE40
END第二十頁,共六十七頁。MAP 語法格式: MAP表達(dá)式{,基址存放器} 用于定義(dìngyì)一個結(jié)構(gòu)化的內(nèi)存表的首地址。 MAP:“^〞 通常與FIELD偽指令配合使用來定義結(jié)構(gòu)化的內(nèi)存表。 MAP fun ;定義結(jié)構(gòu)化內(nèi)存表,fun就是內(nèi)存表的首地址MAP 0x80,R9 ;定義結(jié)構(gòu)化內(nèi)存表首地址的值為0x80+R9第二十一頁,共六十七頁。FILED 語法格式: {標(biāo)號}FIELD表達(dá)式 定義一個結(jié)構(gòu)化內(nèi)存表中的數(shù)據(jù)域。FILED也可用“#〞代替。 MAP 0 ;定義結(jié)構(gòu)化內(nèi)存表首地址為0 consta FIELD 4 ;consta的長度為4字節(jié)(zìjié),相對位置為0x0 constb FIELD 4 ;constb的長度為4字節(jié),相對位置為0x4 x FIELD 8 ;x的長度為8字節(jié),相對位置為0x8 y FIELD 8 ;y的長度為8字節(jié),相對位置為0x10 string FIELD 256 ;y的長度為256字節(jié),相對位置為0x18
MOV R9,#4096 LDR R5,[R9,constb] ;將內(nèi)存表中數(shù)據(jù)域constb讀取到R5中第二十二頁,共六十七頁。匯編(huìbiān)控制偽指令
匯編控制〔AssemblyControl〕偽指令用于控制匯編程序的執(zhí)行流程,常用的匯編控制偽操作包括以下幾條:IF、ELSE、ENDIFWHILE、WEND第二十三頁,共六十七頁。IF、ELSE、ENDIF語法格式: IF 邏輯表達(dá)式 指令(zhǐlìng)序列1 ELSE 指令序列2 ENDIF例如: IFVersion=“1.0〞 ;指令 ;偽指令 ELSE ;指令 ;偽指令 ENDIF第二十四頁,共六十七頁。WHILE、WEND
語法格式: WHILE 邏輯表達(dá)式 指令(zhǐlìng)序列 WEND例如: count SETA 1 WHILE count<=4 count SETA count+1 ;code WEND第二十五頁,共六十七頁。其他常用(chánɡyònɡ)的偽操作
AREACODE16、CODE32ENTRYENDEQUIMPORTGET〔或INCLUDE〕第二十六頁,共六十七頁。AREA語法格式: AREA 段名屬性(shǔxìng)1,屬性(shǔxìng)2,…… 定義一個代碼段或數(shù)據(jù)段。 常用的屬性如下: CODE:用于定義代碼段,默認(rèn)為READONLY。 DATA:用于定義數(shù)據(jù)段,默認(rèn)為READWRITE。 READONLY:指定本段為只讀,代碼段默認(rèn)為READONLY。 READWRITE:指定本段為可讀可寫,數(shù)據(jù)段的默認(rèn)屬性為READWRITE。例如: AREA Example,CODE,READONLY ;code第二十七頁,共六十七頁。CODE16、CODE32語法格式: CODE16〔或CODE32〕 CODE16:其后的指令序列為16位的Thumb指令。 CODE32:其后的指令序列為32位的ARM指令。
例如: AREA ChangeState,CODE,READONLY CODE32 ;指示下面(xiàmian)的指令為ARM指令 LDR r0,=start+1 BX r0 ;切換到Thumb狀態(tài),并跳轉(zhuǎn)到start處執(zhí)行 CODE16 ;指示下面的指令為Thumb指令startMOVr1,#10 第二十八頁,共六十七頁。ENTRY語法格式: ENTRY ENTRY偽操作(cāozuò)用于指定匯編程序的入口點(diǎn)。在一個源文件里最多只能有一個ENTRY〔可以沒有〕。在一個完整的匯編程序中至少要有一個ENTRY〔當(dāng)有多個ENTRY時,程序的真正入口點(diǎn)由鏈接器指定〕。例如: AREAexample,CODE,READONLY ENTRY ;應(yīng)用程序的入口點(diǎn)
第二十九頁,共六十七頁。END
語法格式: END END偽指令用于通知編譯器已經(jīng)到了源程序的結(jié)尾(jiéwěi)。例如: AREAexample,CODE,READONLY …… END
第三十頁,共六十七頁。EQU語法格式: 名稱 EQU 表達(dá)式{,類型} EQU:“*〞例如(lìrú): abcdEQU2;定義abcd符號的值為2 abcdEQUlabel1+16;定義abcd符號的值〔label1+16)第三十一頁,共六十七頁。IMPORT
語法格式(géshi):IMPORT 標(biāo)號{[WEAK]}用于通知編譯器要使用的標(biāo)號在其他的源文件中定義,但要在當(dāng)前源文件中引用。例如:AREAInit,CODE,READONLYIMPORT Main;通知編譯器當(dāng)前文件要引用標(biāo)號Main,但Main在其他源文件中定義……END第三十二頁,共六十七頁。GET〔或INCLUDE〕語法格式(géshi): GET 文件名 用于將一個源文件包含到當(dāng)前的源文件中,并將被包含的源文件在當(dāng)前位置進(jìn)行匯編處理??梢允褂肐NCLUDE代替GET。使用方法與C語言中的“include〞相似。例如: AREAexample,CODE,READONLY GETfile1.s ;包含源文件file1.s GETC:\project\file2.s ;包含源文件file2.s GETC:\Programfiles\file3.s ;包含源文件file3.s第三十三頁,共六十七頁。5.3宏和宏指令(zhǐlìng)
宏:在匯編程序中可以用偽指令MACRO、MEND為一個程序段定義一個名稱,在往后的程序中就可以通過這個名稱來使用它所代表的程序段。在源程序被匯編時,該名稱將被替換為它所代表的程序段。
宏指令:在ARM中,還有一種匯編器內(nèi)置的無參數(shù)和標(biāo)號宏,我們把其稱為宏指令。在匯編的時候,這些宏指令也是被替換成一條或兩條真正的ARM或Thumb指令。
ADR、ADRL、LDR第三十四頁,共六十七頁。MACRO、MEND
語法格式: MACRO $標(biāo)號宏名$參數(shù)1,$參數(shù)2,……;宏名為宏的名稱(míngchēng),為宏在程序中引用名。;$參數(shù)1,$參數(shù)2,……為宏中可以使用的參數(shù)。 指令序列;宏定義體 MEND規(guī)定:$標(biāo)號為主標(biāo)號,宏內(nèi)的所有其他的標(biāo)號必須由主標(biāo)號組成。宏中的所有標(biāo)號必須在前面冠以符號$。宏中的參數(shù)在匯編時被相應(yīng)的值替換。例如:在ARM中完成測試-跳轉(zhuǎn)操作需要兩條指令,定義一條宏指令完成測試-跳轉(zhuǎn)操作 MACRO $label TestAndBranch $dest,$reg,$cc $label.A1 CMP $reg, #0 B$cc $dest MEND第三十五頁,共六十七頁。MACRO、MEND
;在程序(chéngxù)中調(diào)用該宏
testTestAndBranchNonZero,r0,NE … …
NonZero;程序被匯編后,宏展開的結(jié)果
testCMPr0,#0 BNENonZero … …
NonZero第三十六頁,共六十七頁。MEXIT語法格式(géshi):
MEXIT MEXIT用于從宏定義中跳轉(zhuǎn)出去。
第三十七頁,共六十七頁。宏指令(zhǐlìng)ADRADRLLDRNOP第三十八頁,共六十七頁。ADR-小范圍(fànwéi)的地址讀取偽指令語法格式 ADR{cond}register,expr cond:可選的指令執(zhí)行條件 register:目標(biāo)存放器 expr:基于PC或存放器的地址表達(dá)式,取值范圍:地址非字對齊,-255~255地址字對齊,-1020~1020 將基于PC或存放器的地址值讀取到存放器中。 ADR偽指令被替換成一條適宜的指令〔ADD指令或SUB指令〕。如果不能用一條來實(shí)現(xiàn)ADR偽指令的功能,編譯器將報(bào)告錯誤。第三十九頁,共六十七頁。ADR-小范圍(fànwéi)的地址讀取偽指令例如: start MOVr0,#10;PC值為當(dāng)前指令地址值加8字節(jié) ADRr4,start ;本ADR偽指令將被編譯器替換成 ;SUBr4,pc,#0xc第四十頁,共六十七頁。ADRL-中等范圍(fànwéi)的地址讀取偽指令語法格式 ADRL{cond}register,expr cond:可選的指令執(zhí)行條件 register:目標(biāo)存放器 expr:基于PC或存放器的地址表達(dá)式,取值范圍:地址非字對齊,-64KB~64KB地址字對齊,-256KB~256KB 將基于PC或存放器的地址值讀取到存放器中。 ADRL偽指令被替換成兩條適宜的指令。如果不能用兩條來實(shí)現(xiàn)ADRL偽指令的功能,編譯器將報(bào)告錯誤。第四十一頁,共六十七頁。ADRL-中等范圍(fànwéi)的地址讀取偽指令例如: start MOVr0,#10;PC值為當(dāng)前指令地址值加8字節(jié) ADRLr4,start+60000 ;本ADRL偽指令將被編譯器替換成下面兩條指令 ;ADDr4,pc,#0xe800 ;ADDr4,r4,#0x254 ;60000=0xEA60第四十二頁,共六十七頁。LDR-大范圍(fànwéi)的地址讀取偽指令語法格式 LDR{cond}register,=[expr|label-expr] cond:可選的指令執(zhí)行條件 register:目標(biāo)存放器 expr:32位常數(shù)當(dāng)expr沒有超過MOV或MVN指令中的地址取值范圍時,編譯器用適宜的MOV或MVN指令代替該LDR偽指令反之,編譯器將該常數(shù)放在數(shù)據(jù)緩沖池中,同時用一條基于PC的LDR指令讀取該常數(shù)。LDR偽指令處的PC值到數(shù)據(jù)緩沖池中目標(biāo)數(shù)據(jù)所在地址的偏移量要小于4KB。 將32位常數(shù)或者地址值讀取到存放器中。第四十三頁,共六十七頁。LDR-大范圍(fànwéi)的地址讀取偽指令例如1:將0xff0讀取到R1中 LDR R1,=0xFF0 ;匯編后將得到MOVR1,#0xFF0例如2:將0xfff讀取到R1中 LDR R1,=0xFFF ;LDRR1,[PC,OFFSET_TO_LPOOL] ;… ;LPOOLDCD0xFFF例如3:將外部地址ADDR1讀取到R1中 LDR R1,=ADDR1 ;LDRR1,[PC,OFFSET_TO_LPOOL] ;… ;LPOOLDCDADDR1 第四十四頁,共六十七頁。NOP-空操作(cāozuò)偽指令語法格式 NOP第四十五頁,共六十七頁。5.4匯編語言(huìbiānyǔyán)的語句格式
ARM〔Thumb〕匯編語言的語句格式為: {標(biāo)號} {指令或偽指令} {;注釋} 標(biāo)號:從一行的行頭開始,不能包含空格 指令或偽指令:指令的前面必須有空格或符號 注釋:以“;〞開頭 每一條指令的助記符可以全部用大寫、或全部用小寫,但不允許在一條指令中大、小寫混用。 語句之間可以插入空行。 如果一條語句太長,可將該長語句分為假設(shè)干行來書寫,在行的末尾用“\〞表示下一行與本行為同一條語句。第四十六頁,共六十七頁。ARM匯編語言(huìbiānyǔyán)中的符號
命名規(guī)那么: 符號由大小寫字母、數(shù)字以及下劃線組成符號是區(qū)分大小寫的符號中的所有字符都是有意義的符號在其作用范圍內(nèi)必須唯一,即在其作用范圍內(nèi)不可有同名的符號程序中的符號不能與系統(tǒng)內(nèi)部變量或者系統(tǒng)預(yù)定義的符號同名程序中的符號通常不要與指令助記符或者偽操作同名。當(dāng)同名時,用雙豎線將符號括起來第四十七頁,共六十七頁。數(shù)字(shùzì)常量
數(shù)字常量是32位的整數(shù) 無符號數(shù):0~232-1 有符號數(shù)時:-231~231-1。
EQU:定義數(shù)字常量第四十八頁,共六十七頁。變量(biànliàng)
變量有數(shù)字變量、邏輯變量和字符串變量數(shù)字變量的大小不應(yīng)超出數(shù)字變量所能表示的范圍邏輯變量只有兩種取值情況:真{true}或假{false}字符串變量的長度不應(yīng)超出字符串變量所能表示的范圍GBLA、GBLL、GBLS:聲明全局變量LCLA、LCLL、LCLS:聲明局部變量SETA、SETL和SETS:賦值第四十九頁,共六十七頁。標(biāo)號(biāohào)
表示程序中的指令或著數(shù)據(jù)地址的符號。目標(biāo)地址標(biāo)號:基于PC的標(biāo)號 位于目標(biāo)指令前或者程序中數(shù)據(jù)定義偽操作前的標(biāo)號。匯編時將被處理成PC值加上或減去一個數(shù)字常量。常用于表示跳轉(zhuǎn)指令的目標(biāo)地址,或者代碼段中的少量數(shù)據(jù)。 數(shù)據(jù)或數(shù)據(jù)區(qū)首地址標(biāo)號:基于存放器的標(biāo)號 寫在數(shù)據(jù)或數(shù)據(jù)區(qū)定義偽指令前面的標(biāo)號。這種標(biāo)號常在存放器間接尋址方式中作為地址存放器的首地址,在偏移量的配合下對數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行讀/寫操作。 絕對地址: 32位數(shù)字量
第五十頁,共六十七頁。LDRR0,=0x3FF5000target1LDRR1,0xFFSTRR1,[R0]LDRR0,=0x3FF5008LDRR1,0x01STRR1,[R0]Btarget1第五十一頁,共六十七頁。ARM匯編語言(huìbiānyǔyán)中的表達(dá)式
表達(dá)式由符號、數(shù)值、單目或多目操作符以及括號組成。在一個表達(dá)式內(nèi)各種元素的優(yōu)先級:括號內(nèi)的表達(dá)式優(yōu)先級最高各種操作符有一定的優(yōu)先級相鄰的單目操作符的執(zhí)行順序?yàn)橛捎业阶?,單目操作符?yōu)先級高于其他操作符優(yōu)先級相同的雙目操作符執(zhí)行順序?yàn)橛勺蟮接业谖迨?,共六十七頁。?shù)字(shùzì)邏輯字符串表達(dá)式常量變量運(yùn)算符括號第五十三頁,共六十七頁。數(shù)字(shùzì)表達(dá)式
整數(shù)數(shù)字量例如:a SETA 34906Addr DCD 0xA10E DCD 2_11001010c3 SETA 8_74007 DCQ 0x123456789abcdef第五十四頁,共六十七頁。數(shù)字(shùzì)表達(dá)式
浮點(diǎn)數(shù)字量 單精度浮點(diǎn)數(shù)表示范圍:3.4e+38~1.18e-38 雙精度浮點(diǎn)數(shù)表示范圍:1.8e+308~2.23e-308例如: DCFD 1E308,-4E100 DCFS 1.0 DCFD 3.725e15 DCFS 0x7FC00000 DCFD &FFF0000000000000第五十五頁,共六十七頁。數(shù)字(shùzì)表達(dá)式操作符NOT按位取反 :NOT:A+、-、×、/及MOD算術(shù)操作符 A+B,A-B,A×B,A/B,A:MOD:BROL、ROR、SHL及SHR移位〔循環(huán)移位〕操作 A:ROL:B,A:ROR:B,A:SHL:B,A:SHR:BAND、OR、EOR按位邏輯操作符 A:AND:B,A:OR:B,A:EOR:B第五十六頁,共六十七頁。邏輯(luójí)表達(dá)式關(guān)系操作符A=B A>BA<BA>=BA<=BX/=BA<>B第五十七頁,共六十七頁。邏輯(luójí)表達(dá)式邏輯操作符:LNOT:A A:LAND:BA:LOR:BA:LEOR:B第五十八頁,共六十七頁。字符串表達(dá)式
字符串 雙引號“〞;$$->$;““->“ 例如(lìrú): abcSETS“thisstringcontainsonly““doublequ
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版木制家具生產(chǎn)加工木工合作合同范本4篇
- 2025版委托檢測合同書-光纖網(wǎng)絡(luò)性能檢測技術(shù)3篇
- 二零二五版水產(chǎn)品電商平臺大數(shù)據(jù)分析服務(wù)合同2篇
- 2025年度母子公司新能源儲能技術(shù)研發(fā)合作合同3篇
- 《吳組緗天下太平》課件
- 單板加工自動化與智能化技術(shù)考核試卷
- 2025版互聯(lián)網(wǎng)醫(yī)療投資項(xiàng)目融資借款合同3篇
- 《物價上漲時政》課件
- 2025年度木工工具租賃與施工服務(wù)承包合同4篇
- 2025年兒童玩具連鎖店加盟合同
- 農(nóng)民工工資表格
- 【寒假預(yù)習(xí)】專題04 閱讀理解 20篇 集訓(xùn)-2025年人教版(PEP)六年級英語下冊寒假提前學(xué)(含答案)
- 2024年智能監(jiān)獄安防監(jiān)控工程合同3篇
- 2024年度窯爐施工協(xié)議詳例細(xì)則版B版
- 幼兒園籃球課培訓(xùn)
- 【企業(yè)盈利能力探析的國內(nèi)外文獻(xiàn)綜述2400字】
- 統(tǒng)編版(2024新版)七年級《道德與法治》上冊第一單元《少年有夢》單元測試卷(含答案)
- 100道20以內(nèi)的口算題共20份
- 高三完形填空專項(xiàng)訓(xùn)練單選(部分答案)
- 護(hù)理查房高鉀血癥
- 項(xiàng)目監(jiān)理策劃方案匯報(bào)
評論
0/150
提交評論