Intel匯編語言程序設計第五版Chapter10結(jié)構(gòu)和宏課件_第1頁
Intel匯編語言程序設計第五版Chapter10結(jié)構(gòu)和宏課件_第2頁
Intel匯編語言程序設計第五版Chapter10結(jié)構(gòu)和宏課件_第3頁
Intel匯編語言程序設計第五版Chapter10結(jié)構(gòu)和宏課件_第4頁
Intel匯編語言程序設計第五版Chapter10結(jié)構(gòu)和宏課件_第5頁
已閱讀5頁,還剩59頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論