匯編語言程序格式實用教案_第1頁
匯編語言程序格式實用教案_第2頁
匯編語言程序格式實用教案_第3頁
匯編語言程序格式實用教案_第4頁
匯編語言程序格式實用教案_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一、匯編一、匯編(hubin)(hubin)語句類型和格式語句類型和格式 1 1語句類型語句類型 硬指令語句硬指令語句( (指令性語句指令性語句) ) 是指能產(chǎn)生目標代碼,是指能產(chǎn)生目標代碼,CPUCPU可以執(zhí)行的,能完成可以執(zhí)行的,能完成特定功能的語句,它主要由特定功能的語句,它主要由CPUCPU指令組成指令組成 偽指令語句(指示性語句)偽指令語句(指示性語句) 是一種不產(chǎn)生目標代碼的語句,它僅僅在匯編是一種不產(chǎn)生目標代碼的語句,它僅僅在匯編過程中告訴匯編程序過程中告訴匯編程序(hu bin chn x)(hu bin chn x)應(yīng)如應(yīng)如何匯編何匯編 宏指令語句宏指令語句 是一個指令序列,

2、匯編時凡有宏指令語句的地是一個指令序列,匯編時凡有宏指令語句的地方都將用相應(yīng)的指令序列的目標代碼插入方都將用相應(yīng)的指令序列的目標代碼插入第1頁/共31頁第一頁,共32頁。2 2語句語句(yj)(yj)的格式的格式(1 1)執(zhí)行性語句)執(zhí)行性語句(yj)(yj) 標號:硬指令助記符標號:硬指令助記符 操作數(shù),操作數(shù)操作數(shù),操作數(shù) ;注釋;注釋(2 2)說明性語句)說明性語句(yj)(yj) 名字名字 偽指令助記符偽指令助記符 參數(shù),參數(shù)參數(shù),參數(shù) ;注釋;注釋第2頁/共31頁第二頁,共32頁。 8086按照邏輯段組織程序,具有代碼段、數(shù)據(jù)段、附加段和堆棧段一個匯編語言源程序可以(ky)包括若干個

3、代碼段、數(shù)據(jù)段或堆棧段段與段之間的順序可以(ky)隨意排列。邏輯段用匯編語言源程序中的段定義偽指令來定義第3頁/共31頁第三頁,共32頁。 完整段定義偽指令 指定(zhdng)段寄存器偽指令 段寄存器的裝入 可執(zhí)行程序的正常結(jié)束第4頁/共31頁第四頁,共32頁。 1 1完整完整(wnzhng)(wnzhng)段定義偽指令(段定義偽指令(SEGMENTSEGMENT、ENDSENDS) 作用:控制匯編程序和連接程序在內(nèi)存中組作用:控制匯編程序和連接程序在內(nèi)存中組織代碼和數(shù)據(jù)的方式??棿a和數(shù)據(jù)的方式。 格式:格式: 段名段名 SEGMENT SEGMENT 定位類型定位類型 組組合類型合類型 類

4、別名類別名 段名段名 ENDS ENDS 注意:注意: SEGMENTSEGMENT和和ENDSENDS總是成對出現(xiàn)總是成對出現(xiàn) 中間省略部分稱為段體。對代碼段來說,則中間省略部分稱為段體。對代碼段來說,則主要是程序代碼;對其它段來說,一般用于主要是程序代碼;對其它段來說,一般用于變量、符號等的定義變量、符號等的定義 方括號中的為可選項,當(dāng)有可選項時各項順方括號中的為可選項,當(dāng)有可選項時各項順序不能錯,可選項之間用空格隔開序不能錯,可選項之間用空格隔開第5頁/共31頁第五頁,共32頁。(1) (1) 段名段名 段名是用戶自定義的,但不要與指令助記符段名是用戶自定義的,但不要與指令助記符或偽指令

5、重名或偽指令重名 用來指示匯編程序為該段分配的存儲區(qū)的首用來指示匯編程序為該段分配的存儲區(qū)的首地址地址 段名有段地址和偏移地址兩個屬性段名有段地址和偏移地址兩個屬性(shxng)(shxng) 段開始和段結(jié)束的段名必須相同段開始和段結(jié)束的段名必須相同第6頁/共31頁第六頁,共32頁。(2) (2) 定位類型定位類型 說明段的起始地址的邊界要求,指示連接說明段的起始地址的邊界要求,指示連接(linji)(linji)程序按定位類型提出的要求,安排各程序按定位類型提出的要求,安排各段在內(nèi)存的相互銜接方式。它有段在內(nèi)存的相互銜接方式。它有5 5種可選擇類型:種可選擇類型: BYTE BYTE:段的起

6、始地址可以從任何地址開始。:段的起始地址可以從任何地址開始。 段起始地址段起始地址(20(20位位) ): B B WORD WORD:段的起始地址必須以偶地址開始:段的起始地址必須以偶地址開始 段起始地址段起始地址(20(20位位) ): 0 0 B B第7頁/共31頁第七頁,共32頁。 DWORD DWORD:段的起始:段的起始(q sh)(q sh)地址必須為地址必須為4 4的倍數(shù)的倍數(shù) 段起始段起始(q sh)(q sh)地址地址(20(20位位) ): 0 0 B0 0 B PARA PARA:段的起始:段的起始(q sh)(q sh)地址必須從小段邊界開始地址必須從小段邊界開始 段

7、起始段起始(q sh)(q sh)地址地址(20(20位位) ): 0 0 0 0 B 0 0 0 0 B PAGE PAGE:段的起始:段的起始(q sh)(q sh)地址必須從頁的邊界開始地址必須從頁的邊界開始 段起始段起始(q sh)(q sh)地址地址(20(20位位) ): 0 0 0 0 0 0 0 0 B 0 0 0 0 0 0 0 0 B如未指定定位類型,則匯編程序默認為如未指定定位類型,則匯編程序默認為PARAPARA。第8頁/共31頁第八頁,共32頁。(3) (3) 組合類型組合類型 當(dāng)程序有多個段時,組合類型用來說明段與段當(dāng)程序有多個段時,組合類型用來說明段與段之間是怎樣

8、連接之間是怎樣連接(linji)(linji)和定位的,共有和定位的,共有6 6種組合種組合類型:類型: 不指定或稱隱含方式:表示本段與其他模塊中不指定或稱隱含方式:表示本段與其他模塊中的同名段無連接的同名段無連接(linji)(linji)關(guān)系,它將作為一個獨關(guān)系,它將作為一個獨立的段運行。立的段運行。 PUBLIC PUBLIC:本段與其他模塊中說明為:本段與其他模塊中說明為PUBLICPUBLIC方方式的同名段順序連接式的同名段順序連接(linji)(linji),組成一個大的邏,組成一個大的邏輯段,它們共用同一個段起始地址。輯段,它們共用同一個段起始地址。 COMMON COMMON:

9、本段與其他模塊中說明為:本段與其他模塊中說明為COMMONCOMMON方方式的同名段從同一地址開始重疊連接式的同名段從同一地址開始重疊連接(linji)(linji),段長是同名段中最長的段的長度。段長是同名段中最長的段的長度。第9頁/共31頁第九頁,共32頁。 STACK STACK:表示該段是堆棧段的一部分。把所有相同:表示該段是堆棧段的一部分。把所有相同 類別名類別名的具有的具有STACKSTACK組合類型的段連接成一個連續(xù)段,該段長度為各原有段的總和。將連續(xù)段首地址組合類型的段連接成一個連續(xù)段,該段長度為各原有段的總和。將連續(xù)段首地址送送SSSS,段內(nèi)最大偏移,段內(nèi)最大偏移(pin y

10、)(pin y)地址送地址送SPSP(SPSP指向棧頂)。當(dāng)定義了指向棧頂)。當(dāng)定義了STACKSTACK屬性屬性后,在主程序中可省略對后,在主程序中可省略對SSSS和和SPSP的初始化。的初始化。 MEMORY MEMORY:與:與PUBLICPUBLIC同義。同義。 第10頁/共31頁第十頁,共32頁。(4) (4) 類別名類別名 類別名必須用單引號括起來。連接類別名必須用單引號括起來。連接(linji)(linji)時對不同模塊、不同名的程序段只要時對不同模塊、不同名的程序段只要類別名類別名相同,則放在一個連續(xù)的物理空間,相同,則放在一個連續(xù)的物理空間,但每段之間是獨立的,不進行組合。但

11、每段之間是獨立的,不進行組合。第11頁/共31頁第十一頁,共32頁。2 2指定段寄存器偽指令(指定段寄存器偽指令(ASSUMEASSUME) 作用:明確段和段寄存器之間的關(guān)系,即告訴匯作用:明確段和段寄存器之間的關(guān)系,即告訴匯編程序,在運行編程序,在運行(ynxng)(ynxng)期間通過哪個段才能找期間通過哪個段才能找到所要的指令和數(shù)據(jù)到所要的指令和數(shù)據(jù) 格式:格式:ASSUME ASSUME 段寄存器名:段名段寄存器名:段名 ,段寄存器,段寄存器名:段名名:段名 例如:例如:ASSUME CSASSUME CS:CODECODE,DSDS:DATADATA,SSSS:STACKSTACK第

12、12頁/共31頁第十二頁,共32頁。3 3段寄存器的裝入段寄存器的裝入 ASSUME ASSUME偽指令只是指出各段和段寄存器之偽指令只是指出各段和段寄存器之間的關(guān)系,但并未真正將段基地址裝入相應(yīng)的段間的關(guān)系,但并未真正將段基地址裝入相應(yīng)的段寄存器中,所以在程序的代碼段開始處就應(yīng)該先寄存器中,所以在程序的代碼段開始處就應(yīng)該先進行段基址進行段基址(j zh)(j zh)的裝入的裝入 數(shù)據(jù)段數(shù)據(jù)段DSDS、附加段、附加段ESES和堆棧段和堆棧段SSSS的段基址的段基址(j zh)(j zh)由用戶程序代碼裝入由用戶程序代碼裝入 代碼段代碼段CSCS在加載程序后由系統(tǒng)自動裝入在加載程序后由系統(tǒng)自動裝

13、入第13頁/共31頁第十三頁,共32頁。 (1) DS(1) DS、ESES的裝入的裝入 MOV AX MOV AX,DATA DATA ;數(shù)據(jù)段段基地址送;數(shù)據(jù)段段基地址送AXAX寄存器寄存器 MOV DS MOV DS,AX AX ;AXAX寄存器的內(nèi)容送數(shù)據(jù)段寄存器寄存器的內(nèi)容送數(shù)據(jù)段寄存器DSDS 或或 MOV AX MOV AX,SEG X SEG X ;變量;變量X X所在所在(suzi)(suzi)數(shù)據(jù)段的段數(shù)據(jù)段的段基址送基址送AXAX寄存器寄存器 MOV DS MOV DS,AXAX第14頁/共31頁第十四頁,共32頁。(2) CS(2) CS的裝入的裝入 對對CSCS和和I

14、PIP的裝入方法是利用的裝入方法是利用ENDEND后的標號來完成的。如:后的標號來完成的。如: START START: END START END START 系統(tǒng)自動將系統(tǒng)自動將STARTSTART所在所在(suzi)(suzi)段的段地址送段的段地址送CSCS寄存器,將寄存器,將STARTSTART所在所在(suzi)(suzi)段內(nèi)的偏移地址送段內(nèi)的偏移地址送IPIP寄存器。寄存器。 第15頁/共31頁第十五頁,共32頁。(3) SS(3) SS的裝入的裝入方法方法1 1:由系統(tǒng)自動裝填。要求在定義堆棧段時,必須把參數(shù)寫全。這時,將:由系統(tǒng)自動裝填。要求在定義堆棧段時,必須把參數(shù)寫全。

15、這時,將程序裝入內(nèi)存,系統(tǒng)會自動地把堆棧段地址程序裝入內(nèi)存,系統(tǒng)會自動地把堆棧段地址(dzh)(dzh)和堆棧指針置入和堆棧指針置入SSSS和和SPSP中,中,因而可以不在代碼段中裝入因而可以不在代碼段中裝入SSSS和和SPSP的值。的值。STACK1 SEGMENT PARA STACK STACKSTACK1 SEGMENT PARA STACK STACKDB 50H DUP(?)DB 50H DUP(?)STACK1 ENDSSTACK1 ENDS第16頁/共31頁第十六頁,共32頁。 方法方法(fngf)2(fngf)2:手動裝填:手動裝填 STACK1 SEGMENT PARAST

16、ACK1 SEGMENT PARADW 50H DUP(?)DW 50H DUP(?)TOP LABEL WORDTOP LABEL WORD;TOPTOP屬性為屬性為WORDWORD STACK1 ENDSSTACK1 ENDS CODE SEGMENTCODE SEGMENTASSUME CSASSUME CS:CODECODE,SSSS:STACK1STACK1 STARTSTART: MOV AX MOV AX,STACK1STACK1MOV SSMOV SS,AXAX ;堆棧段的段地址送;堆棧段的段地址送SSSSMOV SPMOV SP,OFFSET TOPOFFSET TOP;堆棧

17、段的棧頂?shù)刂匪?;堆棧段的棧頂?shù)刂匪蚐PSP TOPTOP是該堆棧的初始棧頂部地址。是該堆棧的初始棧頂部地址。第17頁/共31頁第十七頁,共32頁。 4 4操作系統(tǒng)下可執(zhí)行程序的正常結(jié)束操作系統(tǒng)下可執(zhí)行程序的正常結(jié)束(jish)(jish) 方法方法1(1(非標準方法非標準方法): ): 在在CODE ENDSCODE ENDS之前增加如下語句:之前增加如下語句: MOV AX MOV AX,4C00H4C00H INT 21H INT 21H 方法方法2 (2 (標準方法標準方法): ): MAIN PROC FARMAIN PROC FARPUSH DSPUSH DS ;保存原來的;保存原來

18、的PSPPSP段地址段地址MOV AXMOV AX,0H0H ;0 0送送AX AX PUSH AXPUSH AX ;0 0壓棧壓棧RETRET ;返回;返回DOSDOSMAIN ENDPMAIN ENDP第18頁/共31頁第十八頁,共32頁。 完整段定義的源程序格式完整段定義的源程序格式 DATA SEGMENT DATA SEGMENT;定義數(shù)據(jù)段;定義數(shù)據(jù)段DATADATA STRING STRINGDB HelloDB Hello,Everybody Everybody !,0DH0DH,0AH0AH,$ DATA ENDS DATA ENDS;數(shù)據(jù)段結(jié)束;數(shù)據(jù)段結(jié)束 CODE SEG

19、MENT CODE SEGMENT ;定義代碼段;定義代碼段CODE CODE ASSUME CS ASSUME CS:CODECODE,DSDS:DATADATA ;確定;確定CSCS、DSDS、SSSS指向的邏輯段指向的邏輯段 START START:MOV AXMOV AX,DATA DATA ;設(shè)置數(shù)據(jù)段的段地址;設(shè)置數(shù)據(jù)段的段地址DSDS MOV DS MOV DS,AXAX MOV DX MOV DX,OFFSET STRINGOFFSET STRING;利用功能調(diào)用顯示信息;利用功能調(diào)用顯示信息 MOV AH MOV AH,9 9 INT 21H INT 21H MOV AH M

20、OV AH,4CH 4CH ;利用系統(tǒng)功能調(diào)用返回;利用系統(tǒng)功能調(diào)用返回(fnhu)DOS(fnhu)DOS INT 21H INT 21H CODE ENDS CODE ENDS ;代碼段結(jié)束;代碼段結(jié)束 END START END START ;匯編結(jié)束;匯編結(jié)束第19頁/共31頁第十九頁,共32頁。 簡化的段定義簡化的段定義(dngy)(dngy)書寫簡單,有利于實現(xiàn)匯編語言程序模塊與高級語言書寫簡單,有利于實現(xiàn)匯編語言程序模塊與高級語言程序模塊的連接,它可以由操作系統(tǒng)自動安排段序,自動保證名字定義程序模塊的連接,它可以由操作系統(tǒng)自動安排段序,自動保證名字定義(dngy)(dngy)的一

21、致性。的一致性。第20頁/共31頁第二十頁,共32頁。1 1存儲模式選擇存儲模式選擇(xunz)(xunz)偽操作偽操作( (MODEL)MODEL) 格式:格式:MODEL MODEL 模式類型模式類型 功能:功能: 本語句一般放在段定義之前,用來說明在存儲器中是如何安放各個段的。本語句一般放在段定義之前,用來說明在存儲器中是如何安放各個段的。 模式類型說明代碼段、數(shù)據(jù)段在程序中如何安排;代碼、數(shù)據(jù)的尋址是模式類型說明代碼段、數(shù)據(jù)段在程序中如何安排;代碼、數(shù)據(jù)的尋址是近還是遠。近還是遠。 根據(jù)它們的不同組合,模式類型可以有如下根據(jù)它們的不同組合,模式類型可以有如下5 5種。種。第21頁/共3

22、1頁第二十一頁,共32頁。 Tiny模式:也叫微模式,所有數(shù)據(jù)(shj)及代碼放入同一個物理段內(nèi),該模式用于編寫較小的源程序,這種模式的源程序最終可以形成COM文件。 Small:也叫小模式,所有數(shù)據(jù)(shj)放入一個 64KB的段中,所有代碼放入另一個64KB的段中,即程序中只有一個數(shù)據(jù)(shj)段和一個代碼段這是一般應(yīng)用程序最常用的一種模式。第22頁/共31頁第二十二頁,共32頁。 Medium:也叫中模式:所有數(shù)據(jù)放入一個 64KB的段中,代碼可以放入多于一個的段中,即程序(chngx)中可以有多個代碼段。 Compact:也叫壓縮模式,所有代碼放入一個64KB的段中;數(shù)據(jù)可以放入多于一

23、個的段中,即程序(chngx)中可以有多個數(shù)據(jù)段。 Large:也叫大模式,代碼和數(shù)據(jù)都可以分別放入多于一個的段中,即程序(chngx)中可以有多個代碼段和多個數(shù)據(jù)段。第23頁/共31頁第二十三頁,共32頁。2 2數(shù)據(jù)段定義偽指令數(shù)據(jù)段定義偽指令(.DATA)(.DATA)格式:格式:.DATA .DATA 名字名字 定義一個數(shù)據(jù)段,如果有多個數(shù)據(jù)段,則用名字來區(qū)別:只有一個數(shù)據(jù)段時,定義一個數(shù)據(jù)段,如果有多個數(shù)據(jù)段,則用名字來區(qū)別:只有一個數(shù)據(jù)段時,隱含段名為隱含段名為DATADATA。3 3堆棧段定義偽指令堆棧段定義偽指令(.STACK)(.STACK)格式:格式:.STACK .STAC

24、K 長度長度 定義一個堆棧段,并形成定義一個堆棧段,并形成SSSS及及SPSP的初值,的初值,SPSP的默認值為的默認值為10241024,隱含段名為,隱含段名為STACKSTACK??蛇x的長度參數(shù)指定堆棧段所占存儲。可選的長度參數(shù)指定堆棧段所占存儲(cn ch)(cn ch)區(qū)的字節(jié)數(shù),默認區(qū)的字節(jié)數(shù),默認大小是大小是1KB1KB。第24頁/共31頁第二十四頁,共32頁。4 4代碼代碼(di m)(di m)段定義偽指令段定義偽指令(.CODE)(.CODE)格式:格式:.CODE .CODE 名字名字 定義一個代碼定義一個代碼(di m)(di m)段,如果有多個代碼段,如果有多個代碼(d

25、i m)(di m)段,則用名字來段,則用名字來 區(qū)別:只區(qū)別:只有一個代碼有一個代碼(di m)(di m)段時,隱含段名為段時,隱含段名為CODECODE。5 5程序開始偽指令程序開始偽指令(.STARTUP)(.STARTUP)格式:格式:.STARTUP.STARTUP 產(chǎn)生程序開始執(zhí)行的代碼產(chǎn)生程序開始執(zhí)行的代碼(di m)(di m),同時還指定了程序開始執(zhí)行的起點。,同時還指定了程序開始執(zhí)行的起點。 在小模式下,可以省略將數(shù)據(jù)段基址裝入在小模式下,可以省略將數(shù)據(jù)段基址裝入DSDS的語句。的語句。第25頁/共31頁第二十五頁,共32頁。6 6程序程序(chngx)(chngx)返回

26、偽指令返回偽指令(.EXIT)(.EXIT) 格式:格式:.EXIT .EXIT 參數(shù)參數(shù) 功能:功能:.EXIT.EXIT產(chǎn)生終止程序產(chǎn)生終止程序(chngx)(chngx)執(zhí)行返回操作系統(tǒng)的指令代執(zhí)行返回操作系統(tǒng)的指令代碼??蛇x參數(shù)是一個返回的數(shù)碼,通常用碼??蛇x參數(shù)是一個返回的數(shù)碼,通常用0 0代表沒有錯誤代表沒有錯誤 例如:例如:.EXIT 0.EXIT 0對應(yīng)的代碼是:對應(yīng)的代碼是: MOV AX MOV AX,4C00H4C00H INT 21H INT 21H第26頁/共31頁第二十六頁,共32頁。 簡化段定義的源程序格式簡化段定義的源程序格式 MODELMODELSMALLSM

27、ALL ;定義程序的存儲模式;定義程序的存儲模式 STACKSTACK;定義堆棧段;定義堆棧段 DATA DATA ;定義數(shù)據(jù)段;定義數(shù)據(jù)段 STRING DB Hello STRING DB Hello,Everybody !Everybody !,0DH0DH,0AH0AH,$ ;在數(shù)據(jù)段定義要顯示的字符串;在數(shù)據(jù)段定義要顯示的字符串 CODE CODE ;定義代碼段;定義代碼段 STARTUPSTARTUP ;說明程序起始位置,并建立;說明程序起始位置,并建立DSDS、SSSS內(nèi)容內(nèi)容 MOV DX MOV DX,OFFSET STRINGOFFSET STRING;指定字符串在數(shù)據(jù)段的

28、偏移地址;指定字符串在數(shù)據(jù)段的偏移地址 MOV AH MOV AH,9 9 INT 21H INT 21H ;利用;利用DOSDOS功能功能(gngnng)(gngnng)調(diào)用顯示信息調(diào)用顯示信息 EXIT 0 EXIT 0 ;程序結(jié)束點,返回;程序結(jié)束點,返回DOSDOS END END ;匯編結(jié)束;匯編結(jié)束第27頁/共31頁第二十七頁,共32頁。 簡化段定義的源程序格式簡化段定義的源程序格式 MODELMODELSMALLSMALL ;定義程序的存儲模式;定義程序的存儲模式 STACKSTACK;定義堆棧段;定義堆棧段 DATA DATA ;定義數(shù)據(jù)段;定義數(shù)據(jù)段 STRING DB He

29、llo STRING DB Hello,Everybody !Everybody !,0DH0DH,0AH0AH,$ ;在數(shù)據(jù)段定義要顯示的字符串;在數(shù)據(jù)段定義要顯示的字符串 CODE CODE ;定義代碼段;定義代碼段 Start:Start: MOV AX,DATA MOV AX,DATA MOV DS,A MOV DS,A ;說明程序起始位置,并建立;說明程序起始位置,并建立DSDS、SSSS內(nèi)容內(nèi)容 MOV DX MOV DX,OFFSET STRINGOFFSET STRING ;指定字符串在數(shù)據(jù)段的偏移;指定字符串在數(shù)據(jù)段的偏移(pin y)(pin y)地址地址 MOV AH MOV AH,9 9 INT 21H INT 21H ;利用;利用DOSDOS功能調(diào)用顯示信息功能調(diào)用顯示信息 MOV AH,4cH MOV AH,4cH INT 21H INT 21H ;程序結(jié)束點,返回;程序結(jié)束點,返回DOSDOS END start END start ;匯編結(jié)束;匯編結(jié)束第28頁/共31頁第二十八頁,共32頁。綜合綜合(zngh)練習(xí)練習(xí)

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論