title: GAS to NASM assembly: translate ".rept .set" to NASM (loop and assign incrementing value to label)
body: <p>GAS assembly knows about the <code>.set</code>-directive which can be combined with <code>.rept</code> to increment a label (variable) in a loop as in the example below:</p>
  <pre><code>pd:
    .set SPAGE, 0
    .rept 512
      .quad SPAGE + 0x87      // PRESENT, R/W, USER, 2MB
    .set SPAGE, SPAGE + 0x200000
    .endr
  </code></pre>
  <p>How can I achieve something similar convenient in NASM? I know about <code>TIMES</code> directive, but this alone doesn't help me to achieve, what I want. Any ideas? The <code>EQU</code>-directive from NASM only allows assigning a value once. Hence, it will not solve my problem.</p>