版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
10.3條件匯編偽指令條件匯編偽指令的一般格式:
IFconditionstatements[ELSEstatements]ENDIF
當condition為真時,允許匯編statements中的語句。
10.3條件匯編偽指令條件匯編偽指令的一般格式:條件匯編偽指令偽指令說明IF表達式如果表達式為真則允許匯編。IFB<參數(shù)>如果參數(shù)為空則允許匯編,參數(shù)名必須用<>括起來IFNB<參數(shù)>如果參數(shù)不為空則允許匯編,參數(shù)名必須用<>括起來IFIDN<參數(shù)1>,<參數(shù)2>如果兩個參數(shù)相同則允許匯編,參數(shù)區(qū)分大小寫IFIDNI<參數(shù)1>,<參數(shù)2>如果兩個參數(shù)相同則允許匯編,參數(shù)不區(qū)分大小寫IFDIF<參數(shù)1>,<參數(shù)2>如果兩個參數(shù)不同則允許匯編,參數(shù)區(qū)分大小寫IFDIFI<參數(shù)1>,<參數(shù)2>如果兩個參數(shù)不同則允許匯編,參數(shù)比區(qū)分大小寫IFDEF名字如果名字已經(jīng)定義則允許匯編IFNDEF名字如果名字未定義則允許匯編ENDIF結(jié)束一個條件匯編偽指令開始的語句塊ELSE如果前面的條件均為假,則匯編該偽指令至ENDIF之間的語句EXITM立即退出宏,阻止其后任何語句的展開條件匯編偽指令偽指令說明IF表達式如果表達式為真則允許匯編檢查缺少的參數(shù)mWriteStrMACROstring
IFB<string>ECHO--------------------------------------------------ECHO*Error:parametermissinginmWriteStrECHO*(nocodegenerated)ECHO--------------------------------------------------
EXITM
ENDIFpushedxmovedx,OFFSETstringcallWriteStringpopedxENDM
檢查缺少的參數(shù)mWriteStrMACROstring默認的參數(shù)初始化值定義宏時可以有默認的參數(shù)初始化值,如果調(diào)用宏時未給出參數(shù),則編譯器使用默認參數(shù)值。格式為:
paramname:=<argument>例如:為mWriteLn宏提供一個空格作為默認的參數(shù):
mWriteLnMACROtext:=<“”>mWritetextcallCrlfENDM如果調(diào)用時不帶參數(shù),那么仍然會打印一個空格并在后面跟一個換行符。默認的參數(shù)初始化值定義宏時可以有默認的參數(shù)初始化值,如果調(diào)用布爾表達式編譯器允許在常量布爾表達式中使用以下關系運算符:
LT小于
GT大于
EQ等于
NE不等于
LE小于等于
GE大于等于布爾表達式編譯器允許在常量布爾表達式中使用以下關系運算符:IF,ELSE和ENDIF偽指令格式為:
IFexpression
statement-list ENDIF或:
IFexpressionstatement-listELSEstatement-listENDIFIF偽指令后面必須跟一個常量布爾表達式。表達式可以包含常量、符號常量或宏參數(shù)常量,但不能是寄存器或變量名。
IF,ELSE和ENDIF偽指令格式為:例子:mGotoxyConst宏
mGotoxyConst宏使用LT和GT操作符對傳遞給宏的參數(shù)進行范圍檢查,參數(shù)X和Y必須是常量。另一個常量ERRS用于統(tǒng)計發(fā)現(xiàn)的錯誤數(shù)。例子:mGotoxyConst宏IFIDN和IFIDNI偽指令IFIDN偽指令以區(qū)分大小寫的方式比較兩個符號(包括宏參數(shù))是否相等,如果相等則返回TRUE。IFIDNI偽指令則不區(qū)分大小寫。格式為:
IFIDN<symbol>,<symbol>statementsENDIFIFIDN和IFIDNI偽指令IFIDN偽指令以區(qū)分大小寫的mReadBufMACRObufferPtr,maxcharsIFIDNI<maxchars>,<EDX>ECHOWarning:secondargumenttomreadbufcannotbeedxECHO*******************************************EXITMENDIFpushecxpushedxmovedx,bufferPtrmovecx,maxcharscallReadStringpopedxpopecxENDM下面的語句將導致宏產(chǎn)生一條錯誤信息:
mReadBufOFFSETbuffer,edx
例如:下面的mReadBuf宏中,第二個參數(shù)不能是EDX,因為buffer的偏移被送到EDX時,參數(shù)會被覆蓋。mReadBufMACRObufferPtr,ma例子:對矩陣行求和定義宏mCalc_row_summCalc_row_sumMACROindex,arrayOffset,rowSize,eltTypeLOCALL1……moveax,indexmovebx,arrayOffsetmovecx,rowSizemulecxaddebx,eaxshrecx,(TYPEeltType/2)moveax,0movesi,0L1:IFIDNI<eltType>,<DWORD>movedx,eltTypeptr[ebx+esi*(TYPEeltType)]ELSEmovzxedx,eltTypeptr[ebx+esi*(TYPEeltType)]ENDIF……loopL1ENDM例子:對矩陣行求和定義宏mCalc_row_sum特殊操作符&替換操作符<>文本操作符!特殊字符操作符%展開操作符特殊操作符&替換操作符<>文本操作符!特殊字符操作符%展開操替換操作符&
將宏的內(nèi)部對宏參數(shù)的引用替換為調(diào)用時的實際值。ShowRegisterMACROregNameLOCALtempStr.datatempStrBYTE“®Name=”,0.codepusheaxpushedx
movedx,offsettempStrcallWriteString
moveax,regNamecallWriteHexpopedxpopeaxENDM當程序中出現(xiàn)宏調(diào)用語句:ShowRegisterECX則宏調(diào)用的輸出為:
ECX=00000101替換操作符&將宏的內(nèi)部對宏參數(shù)的引用替換為調(diào)用當程序中出現(xiàn)展開操作符%
展開文本宏并把常量表達式轉(zhuǎn)換成文本。在與用TEXTEQU聯(lián)合使用時,%操作符對常量表達式求值并將結(jié)果轉(zhuǎn)化成整數(shù)。例1:count=10sumValTEXTEQU%(5+count);=“15”例2:mGotoxyConst%(5*10),%(3+4)
調(diào)用宏時,兩個表達式分別被求值并作為參數(shù)傳遞展開操作符%展開文本宏并把常量表達式轉(zhuǎn)換成文本。行首的%
當%作為源代碼行的第一個字符時,預處理器將展開在該行發(fā)現(xiàn)的所有文本宏和宏函數(shù)。例子:
.dataarrayDWORD1,2,3,4,5,6,7,8TempStrTEXTEQU%(SIZEOFarray).code%ECHOThearraycontainsTempStrbytes
產(chǎn)生的輸出為:
Thearraycontains32bytes行首的%當%作為源代碼行的第一個字符時,預處理器將展開文本操作符<>
將多個字符或符號作為一個字符串進行傳遞。
例如,本章前面的宏只接收一個唯一的字符串參數(shù),如果傳遞以下字符串,預處理器將解釋為三個參數(shù):
mWrite“Linethree”,0dh,0ah如果用文本操作符將字符串括起來,預處理器會將文本操作符里面的所有字符都作為單個宏參數(shù)進行傳遞:
mWrite<“Linethree”,0dh,0ah>文本操作符<>將多個字符或符號作為一個字符串進行傳遞。特殊字符操作符!強制預處理器將預定義的操作符作為原始字符進行傳遞。
例如:
BadYValueTEXTEQU<Warning:Y=coordinateis!>24>特殊字符操作符!強制預處理器將預定義的操作符作為原始字符進操作符的結(jié)合使用BadYValueTEXTEQU<Warning:Y-coordinateis!>24>ShowWarningMACROmessagemWrite“&message”ENDM則以下的宏調(diào)用:
.codeShowWarning%BadYValue將產(chǎn)生如下結(jié)果:Warning:Y-coordinateis>24先替換后展開操作符的結(jié)合使用BadYValueTEXTEQU<War宏函數(shù)與宏過程類似,宏函數(shù)也是一個命名的匯編語句塊,唯一的不同在于,宏函數(shù)總是用EXITM偽指令返回一個常量值(整數(shù)或字符串)。例如:IsDefinedMACROsymbolIFDEFsymbolEXITM<-1>;;TrueELSEEXITM<0>;;FalseENDIFENDM宏函數(shù)與宏過程類似,宏函數(shù)也是一個命名的匯編語句塊,唯一的不調(diào)用宏函數(shù):調(diào)用宏函數(shù)時參數(shù)列表必須用圓括號括起來。
例如:調(diào)用IsDefined宏,并向它傳遞一個已經(jīng)或尚未定義的參數(shù)RealMode:
IFIsDefined(RealMode)movax,@datamovds,axENDIF
如果編譯器在編譯該語句之前已經(jīng)遇到了RealMode的定義,則編譯后面兩條語句。調(diào)用宏函數(shù):調(diào)用宏函數(shù)時參數(shù)列表必須用圓括號括起來。10.4定義重復塊
WHILE偽指令
REPEAT偽指令
FOR偽指令
FORC偽指令
鏈表10.4定義重復塊WHILE偽指令MASM中的重復塊偽指令只能用于編譯期間,而且只能使用常量值作為循環(huán)條件和計數(shù)器。WHILE偽指令根據(jù)一個布爾表達式來重復語句塊REPEAT偽指令根據(jù)一個計數(shù)器來重復語句塊FOR偽指令通過遍歷一個符號列表中的每個符號來重復語句塊FORC偽指令通過遍歷一個字符串中的每個字符來重復語句塊MASM中的重復塊偽指令只能用于編譯期間,而且只能使用常量值WHILE偽指令格式如下:WHILEconstExpressionstatementsENDM只要常量表達式constExpression的值為真,WHILE偽指令就重復語句塊。例如:以下代碼顯示了如何生成1到F0000000h之間的斐波那契數(shù)作為一系列編譯時期的常量。WHILE偽指令格式如下:.dataval1=1val2=1DWORDval1DWORDval2val3=val1+val2WHILEval3LT0F0000000hDWORDval3val1=val2val2=val3val3=val1+val2ENDM.dataREPEAT偽指令REPEAT偽指令以固定次數(shù)重復指令塊。格式為:
REPEATconstExpressionstatementsENDMconstExpression是一個無符號整數(shù)常量表達式,它決定了重復次數(shù)。REPEAT偽指令REPEAT偽指令以固定次數(shù)重復指令塊。格例如:以下的REPEAT循環(huán)創(chuàng)建了包含100個雙字的數(shù)組并用數(shù)列{10,20,30,40,……,1000}對其進行初始化:
ival=10REPEAT100DWORDivalival=ival+10ENDM例如:以下的REPEAT循環(huán)創(chuàng)建了包含100個雙字的數(shù)組并用FOR偽指令FOR偽指令通過遍歷一個以逗號分隔的符號列表重復語句塊,符號列表中的每個符號都引發(fā)一次循環(huán)。格式如下:
FORparameter,<arg1,arg2,arg3,…>statementsENDM
第i次循環(huán)時,參數(shù)parameter被賦值為argiFOR偽指令FOR偽指令通過遍歷一個以逗號分隔的符號列表重復FORC偽指令FORC偽指令通過遍歷一個字符串中的每個字符來重復語句塊,字符串中的每個字符都引發(fā)一次循環(huán)。格式如下:
FORCparameter,<string>statementsENDM
第i次循環(huán)中,參數(shù)parameter等于字符串string中的第i個字符。FORC偽指令FORC偽指令通過遍歷一個字符串中的每個字符來例如:
DelimitersLABELBYTEFORcode,<@#$%^&*!<!>>BYTE“&code”ENDM將生成以下數(shù)據(jù):00000000401BYTE“@”00000001231BYTE“#”00000002241BYTE“$”00000003251BYTE“%”000000045E1BYTE“^”00000005261BYTE“&”000000062A1BYTE“*”000000073C1BYTE“<”000000083E1BYTE“>”例如:鏈表每個節(jié)點的數(shù)據(jù)區(qū)內(nèi)可以使用一個或多個變量存放節(jié)點的數(shù)據(jù)。在鏈接區(qū)中,用一個指針包含和鏈表相鄰的下一節(jié)點的地址。最后一個節(jié)點的鏈接區(qū)通常包含一個空指針。datalinddatalinddatalindNULL鏈表每個節(jié)點的數(shù)據(jù)區(qū)內(nèi)可以使用一個或多個變量存放節(jié)點的數(shù)據(jù)。例子:首先創(chuàng)建一個鏈表節(jié)點類型,該類型包含一個整數(shù)(數(shù)據(jù)區(qū))和一個指向下一個相鄰節(jié)點的指針(鏈接區(qū)):
ListNodeSTRUCTNodeDataDWORD?NextPtrDWORD?ListNodeENDS例子:首先創(chuàng)建一個鏈表節(jié)點類型,該類型包含一個整數(shù)(數(shù)據(jù)區(qū))接著使用REPEAT偽指令創(chuàng)建ListNode對象的多個實例:TotalNodeCount=15NULL=0Counter=0.dataLinkedListLABELDWORDREPEATTotalNodeCountCounter=Counter+1ListNode<Counter,($+Counter*SIZEOFListNode)>ENDMListNode<0,0>$總是返回第一個節(jié)點的地址接著使用REPEAT偽指令創(chuàng)建ListNode對象的多個實例對于鏈表中節(jié)點的遍歷,往往采用間接操作數(shù),并結(jié)合PTR操作符進行:如:
(ListNodePTR[esi]).NodeData(ListNodePTR[esi]).NextPtr程序清單:P318對于鏈表中節(jié)點的遍歷,往往采用間接操作數(shù),并結(jié)合PTR操作符10.3條件匯編偽指令條件匯編偽指令的一般格式:
IFconditionstatements[ELSEstatements]ENDIF
當condition為真時,允許匯編statements中的語句。
10.3條件匯編偽指令條件匯編偽指令的一般格式:條件匯編偽指令偽指令說明IF表達式如果表達式為真則允許匯編。IFB<參數(shù)>如果參數(shù)為空則允許匯編,參數(shù)名必須用<>括起來IFNB<參數(shù)>如果參數(shù)不為空則允許匯編,參數(shù)名必須用<>括起來IFIDN<參數(shù)1>,<參數(shù)2>如果兩個參數(shù)相同則允許匯編,參數(shù)區(qū)分大小寫IFIDNI<參數(shù)1>,<參數(shù)2>如果兩個參數(shù)相同則允許匯編,參數(shù)不區(qū)分大小寫IFDIF<參數(shù)1>,<參數(shù)2>如果兩個參數(shù)不同則允許匯編,參數(shù)區(qū)分大小寫IFDIFI<參數(shù)1>,<參數(shù)2>如果兩個參數(shù)不同則允許匯編,參數(shù)比區(qū)分大小寫IFDEF名字如果名字已經(jīng)定義則允許匯編IFNDEF名字如果名字未定義則允許匯編ENDIF結(jié)束一個條件匯編偽指令開始的語句塊ELSE如果前面的條件均為假,則匯編該偽指令至ENDIF之間的語句EXITM立即退出宏,阻止其后任何語句的展開條件匯編偽指令偽指令說明IF表達式如果表達式為真則允許匯編檢查缺少的參數(shù)mWriteStrMACROstring
IFB<string>ECHO--------------------------------------------------ECHO*Error:parametermissinginmWriteStrECHO*(nocodegenerated)ECHO--------------------------------------------------
EXITM
ENDIFpushedxmovedx,OFFSETstringcallWriteStringpopedxENDM
檢查缺少的參數(shù)mWriteStrMACROstring默認的參數(shù)初始化值定義宏時可以有默認的參數(shù)初始化值,如果調(diào)用宏時未給出參數(shù),則編譯器使用默認參數(shù)值。格式為:
paramname:=<argument>例如:為mWriteLn宏提供一個空格作為默認的參數(shù):
mWriteLnMACROtext:=<“”>mWritetextcallCrlfENDM如果調(diào)用時不帶參數(shù),那么仍然會打印一個空格并在后面跟一個換行符。默認的參數(shù)初始化值定義宏時可以有默認的參數(shù)初始化值,如果調(diào)用布爾表達式編譯器允許在常量布爾表達式中使用以下關系運算符:
LT小于
GT大于
EQ等于
NE不等于
LE小于等于
GE大于等于布爾表達式編譯器允許在常量布爾表達式中使用以下關系運算符:IF,ELSE和ENDIF偽指令格式為:
IFexpression
statement-list ENDIF或:
IFexpressionstatement-listELSEstatement-listENDIFIF偽指令后面必須跟一個常量布爾表達式。表達式可以包含常量、符號常量或宏參數(shù)常量,但不能是寄存器或變量名。
IF,ELSE和ENDIF偽指令格式為:例子:mGotoxyConst宏
mGotoxyConst宏使用LT和GT操作符對傳遞給宏的參數(shù)進行范圍檢查,參數(shù)X和Y必須是常量。另一個常量ERRS用于統(tǒng)計發(fā)現(xiàn)的錯誤數(shù)。例子:mGotoxyConst宏IFIDN和IFIDNI偽指令IFIDN偽指令以區(qū)分大小寫的方式比較兩個符號(包括宏參數(shù))是否相等,如果相等則返回TRUE。IFIDNI偽指令則不區(qū)分大小寫。格式為:
IFIDN<symbol>,<symbol>statementsENDIFIFIDN和IFIDNI偽指令IFIDN偽指令以區(qū)分大小寫的mReadBufMACRObufferPtr,maxcharsIFIDNI<maxchars>,<EDX>ECHOWarning:secondargumenttomreadbufcannotbeedxECHO*******************************************EXITMENDIFpushecxpushedxmovedx,bufferPtrmovecx,maxcharscallReadStringpopedxpopecxENDM下面的語句將導致宏產(chǎn)生一條錯誤信息:
mReadBufOFFSETbuffer,edx
例如:下面的mReadBuf宏中,第二個參數(shù)不能是EDX,因為buffer的偏移被送到EDX時,參數(shù)會被覆蓋。mReadBufMACRObufferPtr,ma例子:對矩陣行求和定義宏mCalc_row_summCalc_row_sumMACROindex,arrayOffset,rowSize,eltTypeLOCALL1……moveax,indexmovebx,arrayOffsetmovecx,rowSizemulecxaddebx,eaxshrecx,(TYPEeltType/2)moveax,0movesi,0L1:IFIDNI<eltType>,<DWORD>movedx,eltTypeptr[ebx+esi*(TYPEeltType)]ELSEmovzxedx,eltTypeptr[ebx+esi*(TYPEeltType)]ENDIF……loopL1ENDM例子:對矩陣行求和定義宏mCalc_row_sum特殊操作符&替換操作符<>文本操作符!特殊字符操作符%展開操作符特殊操作符&替換操作符<>文本操作符!特殊字符操作符%展開操替換操作符&
將宏的內(nèi)部對宏參數(shù)的引用替換為調(diào)用時的實際值。ShowRegisterMACROregNameLOCALtempStr.datatempStrBYTE“®Name=”,0.codepusheaxpushedx
movedx,offsettempStrcallWriteString
moveax,regNamecallWriteHexpopedxpopeaxENDM當程序中出現(xiàn)宏調(diào)用語句:ShowRegisterECX則宏調(diào)用的輸出為:
ECX=00000101替換操作符&將宏的內(nèi)部對宏參數(shù)的引用替換為調(diào)用當程序中出現(xiàn)展開操作符%
展開文本宏并把常量表達式轉(zhuǎn)換成文本。在與用TEXTEQU聯(lián)合使用時,%操作符對常量表達式求值并將結(jié)果轉(zhuǎn)化成整數(shù)。例1:count=10sumValTEXTEQU%(5+count);=“15”例2:mGotoxyConst%(5*10),%(3+4)
調(diào)用宏時,兩個表達式分別被求值并作為參數(shù)傳遞展開操作符%展開文本宏并把常量表達式轉(zhuǎn)換成文本。行首的%
當%作為源代碼行的第一個字符時,預處理器將展開在該行發(fā)現(xiàn)的所有文本宏和宏函數(shù)。例子:
.dataarrayDWORD1,2,3,4,5,6,7,8TempStrTEXTEQU%(SIZEOFarray).code%ECHOThearraycontainsTempStrbytes
產(chǎn)生的輸出為:
Thearraycontains32bytes行首的%當%作為源代碼行的第一個字符時,預處理器將展開文本操作符<>
將多個字符或符號作為一個字符串進行傳遞。
例如,本章前面的宏只接收一個唯一的字符串參數(shù),如果傳遞以下字符串,預處理器將解釋為三個參數(shù):
mWrite“Linethree”,0dh,0ah如果用文本操作符將字符串括起來,預處理器會將文本操作符里面的所有字符都作為單個宏參數(shù)進行傳遞:
mWrite<“Linethree”,0dh,0ah>文本操作符<>將多個字符或符號作為一個字符串進行傳遞。特殊字符操作符!強制預處理器將預定義的操作符作為原始字符進行傳遞。
例如:
BadYValueTEXTEQU<Warning:Y=coordinateis!>24>特殊字符操作符!強制預處理器將預定義的操作符作為原始字符進操作符的結(jié)合使用BadYValueTEXTEQU<Warning:Y-coordinateis!>24>ShowWarningMACROmessagemWrite“&message”ENDM則以下的宏調(diào)用:
.codeShowWarning%BadYValue將產(chǎn)生如下結(jié)果:Warning:Y-coordinateis>24先替換后展開操作符的結(jié)合使用BadYValueTEXTEQU<War宏函數(shù)與宏過程類似,宏函數(shù)也是一個命名的匯編語句塊,唯一的不同在于,宏函數(shù)總是用EXITM偽指令返回一個常量值(整數(shù)或字符串)。例如:IsDefinedMACROsymbolIFDEFsymbolEXITM<-1>;;TrueELSEEXITM<0>;;FalseENDIFENDM宏函數(shù)與宏過程類似,宏函數(shù)也是一個命名的匯編語句塊,唯一的不調(diào)用宏函數(shù):調(diào)用宏函數(shù)時參數(shù)列表必須用圓括號括起來。
例如:調(diào)用IsDefined宏,并向它傳遞一個已經(jīng)或尚未定義的參數(shù)RealMode:
IFIsDefined(RealMode)movax,@datamovds,axENDIF
如果編譯器在編譯該語句之前已經(jīng)遇到了RealMode的定義,則編譯后面兩條語句。調(diào)用宏函數(shù):調(diào)用宏函數(shù)時參數(shù)列表必須用圓括號括起來。10.4定義重復塊
WHILE偽指令
REPEAT偽指令
FOR偽指令
FORC偽指令
鏈表10.4定義重復塊WHILE偽指令MASM中的重復塊偽指令只能用于編譯期間,而且只能使用常量值作為循環(huán)條件和計數(shù)器。WHILE偽指令根據(jù)一個布爾表達式來重復語句塊REPEAT偽指令根據(jù)一個計數(shù)器來重復語句塊FOR偽指令通過遍歷一個符號列表中的每個符號來重復語句塊FORC偽指令通過遍歷一個字符串中的每個字符來重復語句塊MASM中的重復塊偽指令只能用于編譯期間,而且只能使用常量值WHILE偽指令格式如下:WHILEconstExpressionstatementsENDM只要常量表達式constExpression的值為真,WHILE偽指令就重復語句塊。例如:以下代碼顯示了如何生成1到F0000000h之間的斐波那契數(shù)作為一系列編譯時期的常量。WHILE偽指令格式如下:.dataval1=1val2=1DWORDval1DWORDval2val3=val1+val2WHILEval3LT0F0000000hDWORDval3val1=val2val2=val3val3=val1+val2ENDM.dataREPEAT偽指令REPEAT偽指令以固定次數(shù)重復指令塊。格式為:
REPEATconstExpressionstatementsENDMconstExpression是一個無符號整數(shù)常量表達式,它決定了重復次數(shù)。REPEAT偽指令REPEAT偽指令以固定次數(shù)重復指令塊。格例如:以下的REPEAT循環(huán)創(chuàng)建了包含100個雙字的數(shù)組并用數(shù)列{10,20,30,40,……,1000}對其進行初始化:
ival=10REPEAT100DWORDivalival=ival+10ENDM例如:以下的REPEAT循環(huán)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年個人購房稅費減免專項合同
- 南京地區(qū)2025年二手房電子簽約合同模板2篇
- 基于2025年度項目的合作研究合同3篇
- 2025年度模特經(jīng)紀公司模特培訓合同4篇
- 2025年度智慧教育平臺搭建承擔連帶責任擔保借款合同4篇
- 二零二五年度教師教學資源庫建設合同4篇
- 2025年版?zhèn)€人個人之間消費分期借款合同范本4篇
- 二零二五年度新能源儲能融資借款服務合同3篇
- 二零二五年度城市綠化工程款代付服務合同4篇
- 2025年度配電室設備安裝工程環(huán)境保護合同
- 物流無人機垂直起降場選址與建設規(guī)范
- 肺炎臨床路徑
- 外科手術鋪巾順序
- 創(chuàng)新者的窘境讀書課件
- 綜合素質(zhì)提升培訓全面提升個人綜合素質(zhì)
- 如何克服高中生的社交恐懼癥
- 聚焦任務的學習設計作業(yè)改革新視角
- 移動商務內(nèi)容運營(吳洪貴)任務三 APP的品牌建立與價值提供
- 電子競技范文10篇
- 食堂服務質(zhì)量控制方案與保障措施
- VI設計輔助圖形設計(2022版)
評論
0/150
提交評論