ref: ab47428c0e3e9fc68621a20f42bb6e7372fa3358
dir: /doc/asm/rept.htm/
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>xAsm REPT, ENDR</title> <link rel="stylesheet" type="text/css" href="../style.css"> </head> <body> <h1>REPT, ENDR</h1> <p>Suppose you’re feeling lazy and you want to unroll a time consuming loop. <dfn>REPT</dfn> 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</p> <pre>REPT 4 add a,c ENDR</pre> <p>This will assemble <code>add a,c</code> four times.</p> <p>You can also use REPT to generate tables on the fly:</p> <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> <p>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.<p> <h1>See also:</h1> <ul> <li><a href="macro.htm#labelsuffix">\@</a> </ul> <hr> <p>Last updated 21 June 1997 by <a href="mailto:[email protected]">Carsten Sorensen</a></p> </body> </html>