ref: cd2e59fc8c8256117af2a4cbab235ac2f3f93b06
dir: /doc/asm/rept.htm/
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD> <TITLE>xAsm REPT, ENDR</TITLE> </HEAD> <BODY BGCOLOR="#692764" TEXT="#F5A0D8" LINK="#8AAEE6" VLINK="#2B9DA4" ALINK="#95F0DA"> <I><H2>REPT<BR> ENDR </H2></I> <HR> <P>Suppose you're feeling lazy and you want to unroll a time consuming loop. <B>REPT</B> is here for that purpose. Everything between REPT and ENDR will be repeated a number of times just as if you done a copy/paste operation yourself<BR> <BR> <TABLE BORDER=0 BGCOLOR="Black" CELLPADDING=8 WIDTH="50%"> <TR> <TD><FONT COLOR="#00FF00"> <PRE>REPT 4 add a,c ENDR</PRE> </FONT></TD> </TR> </TABLE> <P>This will assemble <B>add a,c</B> four times.<BR> <P>You can also use REPT to generate tables on the fly: <TABLE BORDER=0 BGCOLOR="Black" CELLPADDING=8 WIDTH="50%"> <TR> <TD><FONT COLOR="#00FF00"> <PRE>; -- ; -- Generate a 256 byte sine table with values between 0 and 128 ; -- ANGLE SET 0.0 REPT 256 DB (MUL(64.0,SIN(ANGLE))+64.0)>>16 ANGLE SET ANGLE+256.0 ENDR</PRE> </FONT></TD> </TR> </TABLE> REPT is also very useful in recursive macros and as in macros you can also use the special label operator \@. REPT-blocks can be nested.<BR> <H3>See also:</H3> <UL> <LI><A HREF="macro.htm#labelsuffix">\@</A> </UL> <BR><HR> <FONT SIZE="-1"><I><P ALIGN=RIGHT>Last updated 21 June 1997 by <A HREF="mailto:[email protected]">Carsten Sorensen</A></P></I></FONT>