




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、3 -1 組合語言的程式開發(fā)流程 微電腦硬體的動(dòng)作,通常是由軟體來控制,而這軟體即所謂的機(jī)器語言(Machine Language),然而我們所寫的組合語言(Assembly)並不是機(jī)器語言,要透過組譯器(Assembler)的翻譯,把組合語言翻譯成機(jī)器語言才可為電腦所執(zhí)行,以控制電腦硬體的動(dòng)作。 以組合語言的程式設(shè)計(jì)而言從頭至尾的流程包括:一、程式設(shè)計(jì)(PROGRAMMING) 以程式設(shè)計(jì)的步驟,用我們的頭腦配合紙及筆來完成,詳細(xì)情形在3 - 3中說明。二、編輯(EDIT) 以編輯器來建立組合語言的原始程式,並以某一個(gè)檔名儲(chǔ)存於磁碟中而副檔名要用 .ASM。每一個(gè)檔案皆以文書檔方式存於磁碟中
2、,而一般採用的編輯器有EDIT(附在DOS),PE2,PE3,DW3,CWI,KS3,HE5.等,視個(gè)人的使用方便而選用。三、組譯(ASSEMBLE) 透過組譯器的幫助,把原始程式的內(nèi)容轉(zhuǎn)換成機(jī)器碼格式的目的檔(OBJECT FIFE)副檔名是 .OBJ,但這個(gè)目的檔無法在DOS下執(zhí)行。四、連結(jié)(LINK) 透過連結(jié)器(LINKER)的幫助,將一個(gè)或多個(gè)目的檔,連結(jié)成一個(gè)可執(zhí)行檔,副檔名是 .EXE,這個(gè)檔案可在DOS下執(zhí)行。五、除錯(cuò)(DEBUG) 一般人設(shè)計(jì)程式很難一次完成,除錯(cuò)這件事是非常普遍且重要的,前面完成組合語言程式設(shè)計(jì)的每一個(gè)流程皆可能出現(xiàn)錯(cuò)誤,如此我們應(yīng)當(dāng)根據(jù)錯(cuò)誤內(nèi)容進(jìn)行修改,直
3、到每一個(gè)流程都正確為止。3 - 2 實(shí)際的操作過程實(shí)例:設(shè)計(jì)一個(gè)組合語言程式,執(zhí)行的時(shí)候可以在螢?zāi)伙@示出一串字?!贝蠹液?我是劉德華!”二、存檔: 把程式以編輯器來輸入至電腦中存檔,副檔名是 .ASM,主檔名可自行決定。假設(shè)此程式的檔名為A3.ASM,同時(shí)是儲(chǔ)存在C磁碟機(jī)的根目錄之下。三、組譯與連結(jié):1 以TASM組譯:C:>TASM A3以上若正確,則產(chǎn)生A3.0BJ檔,若有一些語法上的錯(cuò)誤,TASM將告知是在第幾行及何種錯(cuò)誤。連結(jié):C:>TLINK A3以上若連結(jié)正確,則產(chǎn)生A3.EXE檔。2 以MASM組譯:C:>MASM A3以上若正確,則產(chǎn)生A3.0BJ檔,若有一些
4、語法上的錯(cuò)誤,MASM將告知是在第幾行及何種錯(cuò)誤。連結(jié):C:>LINK A3以上若連結(jié)正確,則產(chǎn)生A3.EXE檔,至於選用TASM或MASM由使用者自行決定。四、執(zhí)行:C:>A3執(zhí)行A3.EXE,執(zhí)行結(jié)果將在下一橫列顯示”大家好!我是劉德華!”'。3-2.1 程式的基本架構(gòu)與指令的語法l 指合的語法 整個(gè)程式,分成資料區(qū)、程式區(qū)及堆疊區(qū),其中程式區(qū)是整個(gè)程式的重心,而程式區(qū)是由一行一行的敘述所構(gòu)成,而每一橫行可包括四大部份,其中標(biāo)記(LABEL)、運(yùn)算碼 (OPCODE)、運(yùn)算元 (OPERAND)及註解(COMMAND)等四個(gè)欄位,每個(gè)欄位間至少空一格。一、標(biāo)記(LABE
5、L)標(biāo)記通常在第一格出現(xiàn),以英文字母開頭較多見(其實(shí)中文字也可以),標(biāo)記依使用的情形,分成程式標(biāo)記、資料標(biāo)記及常數(shù)名稱。1大小寫不拘。2標(biāo)記代表一個(gè)16位元的偏移位址。3標(biāo)記後必須加上冒號":"。4標(biāo)記名稱長度不可超過31個(gè)字,(視組譯程式不同而有不同)。5不可使用保留字。6標(biāo)記可有可無。I程式標(biāo)記程式標(biāo)記用以標(biāo)示某一行敘述的程式位址,通常後面加上冒號(:),如以右之實(shí)例中的BEGIN即為程式標(biāo)記。II資料標(biāo)記資料標(biāo)記出現(xiàn)在資料區(qū),用以設(shè)定相關(guān)資料的內(nèi)容及其內(nèi)容的所在位址。如以右之實(shí)例中的MESSAGE1即為資料標(biāo)記。III常數(shù)名稱用某一常數(shù)名稱來代表一個(gè)固定不變的數(shù)值,因
6、為某一數(shù)值可能有其意思,不如以一英文的相關(guān)名稱來出現(xiàn)在程式中,增加程式的閱讀性實(shí)例如下的CR與LF。二、運(yùn)算碼(OPCODE) 在組合語言中,運(yùn)算碼又分兩種,一種是指令,另一種是假指令。1運(yùn)算碼即為指令(mnemonic)名稱或組譯程式之虛擬指令。2大小寫不拘。I指令(INSTRUCTION)用來控制電腦做什麼動(dòng)作的文字,例如以右實(shí)例中的MOV指令與JMP指令。II假指令 (虛擬指令)是在組譯過程中,告訴組譯器做什麼的文字,例如以右實(shí)例中的.MODEL,.DATA,DB,.CODE三、運(yùn)算元(OPERAND)運(yùn)算元就是運(yùn)算碼運(yùn)算時(shí)所需要的資料所在,可能是一個(gè)、二個(gè)或者不用運(yùn)算元,運(yùn)算元可能是暫
7、存器、立即值記憶體或運(yùn)算式。1運(yùn)算元與運(yùn)算元之間必須以逗號","隔開。2視定址法之不同而有差異,有兩個(gè)運(yùn)算元或一個(gè)運(yùn)算元成沒有運(yùn)算元3指令與運(yùn)算元之間,至少必須空一格。例如:以右實(shí)例的DL,AL,I,AH,02H,21H等。四、註解(COMMENT)許多電腦的語言其可讀性都不高,尤其是別人設(shè)計(jì)的程式或自己設(shè)計(jì)的程式過了一段時(shí)日,可能都不太好看懂。那最好的方法,即直接在程式裡加以相關(guān)的文字說明,在程式裡的什麼地方寫註解並沒有特殊的限制,只要在前面加上分號 (;)即可,例如以右實(shí)例,分號(;)後面的都是一些文字說明。1註解前面要加分號";",組譯程式不處理分
8、號之後的文字或指令。2註解可有可無,主要是增加程式的可讀性。3 - 2.2 範(fàn)例程式的說明 現(xiàn)在把A3.ASM做一個(gè)說明,該程式執(zhí)行的結(jié)果是在螢?zāi)簧巷@示一串字"大家好!我是劉德華!,現(xiàn)在依次說明該程式的內(nèi)容。行號1 .MODEL SMALL ;參閱附錄D虛擬指令l 本行是一個(gè)假指令,告知組譯器本程式是使用小型記憶模式。行號2 .DATAl 本行是一個(gè)假指令,告知組譯本行DATA以下是資料的設(shè)定。行號3 MESSAGEI DB"大家好!我是劉德華!”,0DH,0AH,'$'l MESSAGE1是資料標(biāo)記,代表字串"大家好!我是劉德華!"資料
9、段的位址。l DB(Define Byte)資料內(nèi)容的資料單位長短不一,必須以DB,DW,DD等來指定,例如:DB是Define Byte的縮寫代表資料單位是l byteDW是Define Word的縮寫代表資料單位是2 byteDD是Define Dword的縮寫代表資料單位是4 bytesl 0DH,0AH是ASCII中的控制字元,0DH是控制游標(biāo)到該橫行的第一格,0AH是控制游標(biāo)到下一橫行,0DH,0AH同時(shí)出現(xiàn)即出現(xiàn)換行的動(dòng)作。l 所要顯示的字串以$(錢號)為結(jié)束控制符號,$(錢號)本身不會(huì)被顯示。行號4 .CODEl 本行是一個(gè)假指令,告知組譯器本行.CODE以下是程式區(qū)。行號5 B
10、EGIN: MOV AX,DATAl BEGIN:是一種程式標(biāo)記的名稱之後加上冒號(:)。行號6 MOV DS,AXl 以上兩行是成對出現(xiàn),DATA是指資料段(.DATA)的起始位址,執(zhí)行這兩行之後DS暫存器即儲(chǔ)存資料段(.DATA)的起始位址。行號7 MOV DX, OFFSET MESSAGE1行號8 MOV AH, 09H行號9 INT 21Hl 以上三行共同做一件事,即把MESSAGE1所定義的字串資料顯示於螢?zāi)恢钡接鲆?為止。l INT 2I H是DOS的功能呼叫,當(dāng)AH = 09H時(shí)所作的事情是字串輸出於螢?zāi)唬敵鲎执钠鹗嘉蛔邮窃贒S:DX,所以要把MESSAGE1的偏移量(OF
11、FSET)送給DX暫存器,寫成指令的方式如下:MOV DX,OFFSET MESSAGE1行號10 MOV AH,4CH行號11 INT 21Hl 以上兩行是成對出現(xiàn),做為程式結(jié)束返回DOS的控制。行號12 .STACKl 本行是定義堆疊的大小,若要使用堆疊的大小寫2048 Byte,則可使用.STACK 2048來設(shè)定。行號13 ENDl END是用來告訴組譯器程式到此結(jié)束,END之後的所有文字都不曾影響程式的執(zhí)行,而我們可以在END之後做一些文字說明,也就是說END是程式的最後一行。3-3 何謂定址模式 定址模式的英文原名是(AddressingMode)又可稱為定址法,也是所謂電腦CPU
12、找尋資料所在的方法。不論學(xué)電腦的硬體或軟體,有兩句話可以好好體會(huì)那就是資料在哪裡?、資料要去哪裡?就如你每天從家裡出發(fā)到學(xué)校,這家裡就是類似資料在哪裡,而學(xué)校就類似資料要去哪裡??墒菍W(xué)校那麼大要到哪一棟的哪一樓的哪一間教室,是不是要想清楚、要看清楚?尤其我們電腦的資料是在電腦的裡裡外外遊走傳遞,如此資料從哪裡來?要去哪裡?這件事情就非常重要了。根據(jù)電腦的結(jié)構(gòu),資料可能來自三個(gè)地方:1.立即值(隨指令碼一起進(jìn)入CPU) 2.某一個(gè)暫存器 3.存在於記憶體內(nèi)3-3.2定址法的種類 80X86指令的定址法共分三類七大定址法,所謂的三類即立即定址法、暫存器定址法、與記憶體定址法,其中記憶體定址法又分為
13、五種,所以總共是七大定址法。一、立即定址法(Immediate Addressing Mode)二、暫存器定址法(Register Addressing Mode)三、記憶體直接定址法(Direct memory Addressing Mode)或直接定址法(Direct Addressing Mode)四、記憶體間接定址法(Indirect memory Addressing Mode)或間接定址法(Indirect Addressing Mode)五、基底定址法(Based Addressing Mode).六、索引定址法(Indexed Addressing Mode)七、基底索引定址法
14、(Based Indexed Addressing Mode) 以下我們對各種定址法分別加以說明:l 暫存器定址法(Register Addressing Mode):運(yùn)算元是暫存器,就是暫存器定址法。 例如: MOV DS,AX 此指令以暫存器定址法取得,AX暫存器的資料,之後以暫存器定址法寫入到DS暫存器中。 例如: MOV MEM1,AX 第一個(gè)運(yùn)算元MEM1 不是暫存器定址法,第二個(gè)運(yùn)算元AX是使用暫存器定址法。 例 3 3 MOV AX,BX說明:上述指令執(zhí)行完後,AX、BX內(nèi)容相同。在80X86的暫存器群中,區(qū)段暫存器的使用有其限制,即區(qū)段暫存器不能互相傳送資料,例如:將CS暫存器
15、的內(nèi)容存入DS暫存器中,則必須寫成如下格式。MOV AX,CSMOV DS,AX。 例 3 4 INC AX 說明:運(yùn)算元為AX暫存器。執(zhí)行後,AX暫存器的內(nèi)容加1。 例 3 5 PUSH BX說明:運(yùn)算元為BX暫存器。執(zhí)行後,BX暫存器的內(nèi)容存入堆疊中 。l 立即定址法(Immediate Addressing Mode):運(yùn)算元是一個(gè)數(shù)字(立即值),就是所謂的立即定址法。 例 3 - 1, 3 2 l 記憶體直接定址法(Direct memory Addressing Mode):是記憶體定址法的一種,直接定址法就是運(yùn)算元直接指出資料所在記憶體的位址的方法,例如:執(zhí)行之後AX5678;PI
16、是所謂的資料標(biāo)名,組譯時(shí)會(huì)算出其PI的實(shí)際位址。 例 3 6 MOV AL,VALUE說明:上述指令之運(yùn)算元VALUE為一資料變數(shù),VALUE必須在資料區(qū)段中定義。假設(shè)我們在資料區(qū)段中定義"VALUE DB 100H",且記憶體100H中的資料如右圖所示,則上述指令執(zhí)行完後,AL=01H。 例 3 7 AL,102H說明:如果記憶體內(nèi)容如例3-6所示,則執(zhí)行後,AL=03H。 例 3 8 MOV BX,400HMOV BX2,56H說明:執(zhí)行後,資料56H將存入記憶體位址DS:402H中。 例 3 9 MOV BX,400HMOV AL, BX2說明:執(zhí)行後,AL=56H。
17、 l 間接定址法 (Indirect Addressing Mode)將暫存器的值當(dāng)做是記憶體的位址,而暫存器可以看成是個(gè)資料的指標(biāo),到此位址去取得運(yùn)算元的方法,而暫存器能是BX、BP、SI或DI,暫存器名必須用中括號 括起來。如右圖所示以上是把BX內(nèi)含視為一位址,再依此位址所指之內(nèi)容搬至AX暫存器內(nèi)。l 基底定址法 (Based Addressing Mode) BX及BP暫存器有一項(xiàng)特殊用途即是做為基底暫存器使,那基底定址法就是以基底暫存器所指的位址為基底,再加上一個(gè)固定的距離來得到資料所在的位址,例如:MOV AX,BX+3 或 MOV AX,BX+3 或 MOV AX,BX3以上三行是
18、寫法不同,但是結(jié)果相同,即把BX+3這個(gè)位址的內(nèi)容送給AL暫存器,舉一個(gè)例子:(資料如右圖)執(zhí)行前:已知 AX1234H,BX0001H執(zhí)行指令:MOV AX,BX2執(zhí)行後:AXAB56Hl 索引定址法(Indexed Addressing Mode)索引定址法與基底定址法類似,但索引定址法是以固定的位址為基底再加上索引暫存器SI或Dl的值以得出資料所在的位址,因?yàn)槭怯肧I與Dl這兩個(gè)索引暫存器,所以叫索引定址法,尤其處理一維陣列的元素,索引定址法最方便。例如:執(zhí)行前,已知:AX=3388H,SI=0002HMEM1 DW 1234H,5678H執(zhí)行指令:MOV AX, MEM1SI執(zhí)行結(jié)果:
19、AX = 5678H註:SI或DI暫存器都可透過加減指令來改變其內(nèi)容。 例3-10 MOV SI,2MOV AX,STRINGSI說明:執(zhí)行之後,AL=03H,AH=04H,即 AX=0403H。 例3-11 MOV SI,0MOV AX,STRINGSI說明:同例3-9之記憶體狀態(tài),執(zhí)行之後,AL=01H,AH=02H,即AX=0201H。l 基底索引定址法(Based Indexed Addressing Mode)基底索引定址法與索引定址法類似,但是基底索引定址法有兩個(gè)變數(shù),一個(gè)基底暫存器,另一個(gè)是索引暫存器,如此在處理二維陣列的元素,基底索引定址法最方便。例如:執(zhí)行前,已知AX=338
20、8H,SI=0001H,SI=0002H,MEM1 DW 1234H,5678H執(zhí)行指令:MOV AL, MEM1BX SI執(zhí)行結(jié)果:AX = 56H註1:基底暫存器與索引暫存器都可透過加減指令來改變其內(nèi)容。註2:以上這些記憶體定址法的表示法都很有彈性,例如以下四種寫法結(jié)果都是相同的:MOV AX,BX+DI+3 MOV AX,BX+3DI MOV AX,BX+DI3 MOV AX,BXDI3註3:在記憶體間接定址法中包含三種定址法,即基底定址法、索引定址法與基底索引定址法,必須注意的是,其運(yùn)算元只能使用BX,BP,SI,DI這四個(gè)暫存器,不可使用其它暫存器。例如指令"MOV AX,
21、CX"即是一個(gè)錯(cuò)誤的例子。註4:以上這些記憶體定址法都有點(diǎn)類似,所以把它們之間的差異整理成一個(gè)表如右: 例3-12,例3-13 MOV BX,1000HMOV SI, 2MOV Al.,BXSIMOV AH,BXSI2說明:上述程式執(zhí)行之後,AL= 03H,(AH = 05H)其中記憶體的偏移位址為BX暫存器內(nèi)容加上SI暫存器內(nèi)容,即1000H+2 = 1002H (1000H+2+2 = 1004H)。 3-4 定址法實(shí)例說明實(shí)例:固定輸入5個(gè)字元以內(nèi),之後該字元反置輸出。 附錄D虛擬指令 補(bǔ)充1:註3:在記憶體間接定址法中包含三種定址法,即基底定址法、索引定址法與基底索引定址法,
22、必須注意的是,其運(yùn)算元只能使用BX,BP,SI,DI這四個(gè)暫存器,不可使用其它暫存器。例如指令"MOV AX,CX"即是一個(gè)錯(cuò)誤的例子。註4:以上這些記憶體定址法都有點(diǎn)類似,所以把它們之間的差異整理成一個(gè)表如右:1. 直接定址法:和立即定址法不同的是,運(yùn)算元不是常數(shù),而是有效記憶體位址;此位址是一個(gè)偏移值固定的記憶體位址。是利用標(biāo)名直接代表記憶體位址的方法且必須配合區(qū)段暫存器DS使用。例:MOV SUM,AL說明:SUM為一標(biāo)名,代表記憶體某一位址。其指令動(dòng)作流程如下圖所示,而字組放在記憶中,是以低位址為指定位址。 2.暫存器間接定址法:存放運(yùn)算元資料約有效位址,利用暫存器
23、來間接指出;使用間接定址法的暫存器有SI、DI、BP、BX,而暫存器兩旁必須加上中括號 ,且必須與區(qū)段暫存器DS配合使用。例:MOV AX,BX3.基底相對定址法:基底相對定址法是使用基底暫存器BP或BX再加上一偏移值(OFFSET)而得到的實(shí)際位址。例:MOV AX,BP + 24.直接索引定址法:直接索引定址法是使用索引暫存器SI或DI再加上一偏移值而得到的實(shí)際位址。一般以標(biāo)名做為基本位址再加上SI或DI的值便可以求出。一般實(shí)際位址=DS+標(biāo)名+SI或DI。例:MOV SI,2MOV AX,SUM SI 5.基底索引定址法:基底索引定址法是將基底定址法與索引定址法結(jié)合而成。一般使用基底暫存
24、器加上索引暫存器或是再加上偏移值(標(biāo)名)而得到實(shí)際位址=DS+BX+SI+標(biāo)名。例:MOV AX,BX+SISUM為了使大家對各種記憶體定址法有個(gè)整體概念,尤其是間接定址法是較複雜的,所以將這些定址方法,列在右面表中,以利各位學(xué)習(xí)。 在上表中均未加上偏移值,若有指定偏移值加上即可,在各種定址的方法中均有規(guī)定其使用的暫存器,切不可誤用。例:MOV AX, DX + SI便是個(gè)錯(cuò)誤的例子,因一般在間接定址模式中只能用BX、BP、SI、DI這四個(gè)暫存器。補(bǔ)充2:組合語言的程式開發(fā)流程 相對於高階語言,組合語言是屬於較低階語言,前面提過組合語言是機(jī)器碼的助憶符號,所以組合語言設(shè)計(jì)者所寫出的程式內(nèi)容並不
25、是機(jī)器碼;而電腦卻只懂得機(jī)器碼即一連串的0或1。所以為了使人能和電腦溝通,才發(fā)展出電腦語言如Basic、Pascal、C等。但不管如何為了達(dá)成人和電腦的溝通必須有一套翻譯的工具把程式設(shè)計(jì)者所設(shè)計(jì)的電腦語言(不管是高階或低階)翻譯成電腦可接受執(zhí)行的機(jī)器碼。程式設(shè)計(jì)師事先會(huì)為我們寫一個(gè)幫助我們執(zhí)行翻譯工作的程式交給電腦去執(zhí)行。一般而言從事翻譯工作的程式,可分成三大類:一 、直譯器(Interpreter):一次翻譯一行電腦語言成機(jī)器碼然後去執(zhí)行。我們可把它想像成雙方打電話互相溝通的情形,一次只可接收到對方的一句話,需等到整個(gè)通話結(jié)束才能知道結(jié)果。如Basic、DbaseIII、Debug皆屬直譯器
26、。其缺點(diǎn)是程式效率較差、速度較慢,但其優(yōu)點(diǎn)是較適合初學(xué)者,且執(zhí)行除錯(cuò)工作較為容易,因?yàn)槌淌藉e(cuò)了,就會(huì)停在錯(cuò)誤的那一行指令上。二 、編譯器(Compiler):把電腦語言,經(jīng)過翻譯程式變成目的檔再經(jīng)連結(jié)程式變成可執(zhí)行程式。我們可以把它想成是寫一封信,寫信的過程便是翻譯連結(jié)的工作,對方收到信就可以知道結(jié)果。如C、Pascal等皆屬編譯器。其優(yōu)點(diǎn)是執(zhí)行速度快、效率高。三 、組譯器(Assembler):組譯器的功用和使用步驟都和編譯器相同的,只是它是組合語言專用,我們把這個(gè)步驟叫組譯。大家都知道在DOS下可以被執(zhí)行的檔案共有三種,其附檔名分別是.COM(命令檔)、.EXE(執(zhí)行檔)、.BAT(批次檔
27、)。開機(jī)後鍵盤輸入命令執(zhí)行的流程,我們可以很清楚地看見三種可執(zhí)行的檔案,其被執(zhí)行的優(yōu)先順序,分別是.COM再來是EXE最後才是.BAT。所以假設(shè)在磁片中有兩個(gè)檔案分別是EX1.EXE及EX1.COM,鍵入A>EX1執(zhí)行,那一個(gè)檔案會(huì)被執(zhí)行呢?當(dāng)然是EX1.COM。而EX1.EXE則永無重見天日的一天,永遠(yuǎn)無法被執(zhí)行。若出現(xiàn)一行錯(cuò)誤的英文訊息 "Bad Command or File name",其中的Command是指DOS的內(nèi)部指令,而Filename就是指這二種可執(zhí)行檔。 利用組合語言寫程式有幾個(gè)主要步驟如下:1. 訂出題目,畫出流程圖或程式的執(zhí)行計(jì)畫。2. 利用編輯程式來編輯程式。編輯程式是為使用者方便所寫的公共程式(Utility Program),程式設(shè)計(jì)者藉著它輸入並編輯程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公章合同范本模板
- ui設(shè)計(jì)兼職合同范本
- 上游電子銷售合同范本
- 住宅抵押合同范本
- 借貸咨詢合同范本
- 農(nóng)村房車銷售合同范本
- 農(nóng)用器材采購合同范本
- 中美二十天然氣合同范例
- 個(gè)人售賣二手車合同范本
- 出納公司合同范本
- 重大事故隱患判定標(biāo)準(zhǔn)
- 新能源汽車驅(qū)動(dòng)電機(jī)及控制系統(tǒng)檢修課件 學(xué)習(xí)情境1:驅(qū)動(dòng)電機(jī)的認(rèn)知
- 2024年采購部年終總結(jié)
- 人教版(PEP)五年級英語下冊第一單元測試卷-Unit 1 My day 含答案
- 打深水井施工方案
- 企業(yè)名稱預(yù)先核準(zhǔn)通知書
- 統(tǒng)籌管理方案
- 建筑工程安全文明施工標(biāo)準(zhǔn)化圖集(附圖豐富)
- Unit 1 Travel教案-2023-2024學(xué)年高一下學(xué)期 中職英語高教版(2023修訂版)基礎(chǔ)模塊2
- DB3206T 1083-2024機(jī)關(guān)會(huì)議服務(wù)人員操作技術(shù)規(guī)范
- 習(xí)作《我的家人 》教案-2024-2025學(xué)年統(tǒng)編版語文四年級上冊
評論
0/150
提交評論