diff options
Diffstat (limited to 'doc/html/nasmdoc5.html')
-rw-r--r-- | doc/html/nasmdoc5.html | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/doc/html/nasmdoc5.html b/doc/html/nasmdoc5.html deleted file mode 100644 index 7effbbb..0000000 --- a/doc/html/nasmdoc5.html +++ /dev/null @@ -1,83 +0,0 @@ -<html><head><title>NASM Manual</title></head> -<body><h1 align=center>The Netwide Assembler: NASM</h1> - -<p align=center><a href="nasmdoc6.html">Next Chapter</a> | -<a href="nasmdoc4.html">Previous Chapter</a> | -<a href="nasmdoc0.html">Contents</a> | -<a href="nasmdoci.html">Index</a> -<h2><a name="chapter-5">Chapter 5: Standard Macro Packages</a></h2> -<p>The <code><nobr>%use</nobr></code> directive (see -<a href="nasmdoc4.html#section-4.6.4">section 4.6.4</a>) includes one of -the standard macro packages included with the NASM distribution and -compiled into the NASM binary. It operates like the -<code><nobr>%include</nobr></code> directive (see -<a href="nasmdoc4.html#section-4.6.1">section 4.6.1</a>), but the included -contents is provided by NASM itself. -<p>The names of standard macro packages are case insensitive, and can be -quoted or not. -<h3><a name="section-5.1">5.1 <code><nobr>altreg</nobr></code>: Alternate Register Names</a></h3> -<p>The <code><nobr>altreg</nobr></code> standard macro package provides -alternate register names. It provides numeric register names for all -registers (not just -<code><nobr>R8</nobr></code>-<code><nobr>R15</nobr></code>), the -Intel-defined aliases -<code><nobr>R8L</nobr></code>-<code><nobr>R15L</nobr></code> for the low -bytes of register (as opposed to the NASM/AMD standard names -<code><nobr>R8B</nobr></code>-<code><nobr>R15B</nobr></code>), and the -names <code><nobr>R0H</nobr></code>-<code><nobr>R3H</nobr></code> (by -analogy with <code><nobr>R0L</nobr></code>-<code><nobr>R3L</nobr></code>) -for <code><nobr>AH</nobr></code>, <code><nobr>CH</nobr></code>, -<code><nobr>DH</nobr></code>, and <code><nobr>BH</nobr></code>. -<p>Example use: -<p><pre> -%use altreg - -proc: - mov r0l,r3h ; mov al,bh - ret -</pre> -<p>See also <a href="nasmdo11.html#section-11.1">section 11.1</a>. -<h3><a name="section-5.2">5.2 <code><nobr>smartalign</nobr></code>: Smart <code><nobr>ALIGN</nobr></code> Macro</a></h3> -<p>The <code><nobr>smartalign</nobr></code> standard macro package provides -for an <code><nobr>ALIGN</nobr></code> macro which is more powerful than -the default (and backwards-compatible) one (see -<a href="nasmdoc4.html#section-4.11.12">section 4.11.12</a>). When the -<code><nobr>smartalign</nobr></code> package is enabled, when -<code><nobr>ALIGN</nobr></code> is used without a second argument, NASM -will generate a sequence of instructions more efficient than a series of -<code><nobr>NOP</nobr></code>. Furthermore, if the padding exceeds a -specific threshold, then NASM will generate a jump over the entire padding -sequence. -<p>The specific instructions generated can be controlled with the new -<code><nobr>ALIGNMODE</nobr></code> macro. This macro takes two parameters: -one mode, and an optional jump threshold override. The modes are as -follows: -<ul> -<li><code><nobr>generic</nobr></code>: Works on all x86 CPUs and should -have reasonable performance. The default jump threshold is 8. This is the -default. -<li><code><nobr>nop</nobr></code>: Pad out with -<code><nobr>NOP</nobr></code> instructions. The only difference compared to -the standard <code><nobr>ALIGN</nobr></code> macro is that NASM can still -jump over a large padding area. The default jump threshold is 16. -<li><code><nobr>k7</nobr></code>: Optimize for the AMD K7 (Athlon/Althon -XP). These instructions should still work on all x86 CPUs. The default jump -threshold is 16. -<li><code><nobr>k8</nobr></code>: Optimize for the AMD K8 (Opteron/Althon -64). These instructions should still work on all x86 CPUs. The default jump -threshold is 16. -<li><code><nobr>p6</nobr></code>: Optimize for Intel CPUs. This uses the -long <code><nobr>NOP</nobr></code> instructions first introduced in Pentium -Pro. This is incompatible with all CPUs of family 5 or lower, as well as -some VIA CPUs and several virtualization solutions. The default jump -threshold is 16. -</ul> -<p>The macro <code><nobr>__ALIGNMODE__</nobr></code> is defined to contain -the current alignment mode. A number of other macros beginning with -<code><nobr>__ALIGN_</nobr></code> are used internally by this macro -package. -<p align=center><a href="nasmdoc6.html">Next Chapter</a> | -<a href="nasmdoc4.html">Previous Chapter</a> | -<a href="nasmdoc0.html">Contents</a> | -<a href="nasmdoci.html">Index</a> -</body></html> |