| ;; -------------------------------------------------------------------------- |
| ;; |
| ;; Copyright 1996-2009 The NASM Authors - All Rights Reserved |
| ;; See the file AUTHORS included with the NASM distribution for |
| ;; the specific copyright holders. |
| ;; |
| ;; Redistribution and use in source and binary forms, with or without |
| ;; modification, are permitted provided that the following |
| ;; conditions are met: |
| ;; |
| ;; * Redistributions of source code must retain the above copyright |
| ;; notice, this list of conditions and the following disclaimer. |
| ;; * Redistributions in binary form must reproduce the above |
| ;; copyright notice, this list of conditions and the following |
| ;; disclaimer in the documentation and/or other materials provided |
| ;; with the distribution. |
| ;; |
| ;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND |
| ;; CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, |
| ;; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
| ;; MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
| ;; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR |
| ;; CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| ;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
| ;; NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
| ;; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
| ;; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
| ;; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR |
| ;; OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, |
| ;; EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| ;; |
| ;; -------------------------------------------------------------------------- |
| |
| ;; |
| ;; altreg.mac |
| ;; |
| ;; Alternate register names for 64-bit mode |
| ;; |
| |
| USE: altreg |
| |
| ;; |
| ;; Intel documents R8L-R15L instead of R8B-R15B |
| ;; (Warning: this may confuse people with an AT&T-style assembly |
| ;; background, where "r8l" means R8D, etc.) |
| ;; |
| %idefine r8l r8b |
| %idefine r9l r9b |
| %idefine r10l r10b |
| %idefine r11l r11b |
| %idefine r12l r12b |
| %idefine r13l r13b |
| %idefine r14l r14b |
| %idefine r15l r15b |
| |
| ;; |
| ;; Numeric register names for the lower 8 registers |
| ;; |
| %idefine r0 rax |
| %idefine r1 rcx |
| %idefine r2 rdx |
| %idefine r3 rbx |
| %idefine r4 rsp |
| %idefine r5 rbp |
| %idefine r6 rsi |
| %idefine r7 rdi |
| |
| %idefine r0d eax |
| %idefine r1d ecx |
| %idefine r2d edx |
| %idefine r3d ebx |
| %idefine r4d esp |
| %idefine r5d ebp |
| %idefine r6d esi |
| %idefine r7d edi |
| |
| %idefine r0w ax |
| %idefine r1w cx |
| %idefine r2w dx |
| %idefine r3w bx |
| %idefine r4w sp |
| %idefine r5w bp |
| %idefine r6w si |
| %idefine r7w di |
| |
| %idefine r0b al |
| %idefine r1b cl |
| %idefine r2b dl |
| %idefine r3b bl |
| %idefine r4b spl |
| %idefine r5b bpl |
| %idefine r6b sil |
| %idefine r7b dil |
| |
| %idefine r0l al |
| %idefine r1l cl |
| %idefine r2l dl |
| %idefine r3l bl |
| %idefine r4l spl |
| %idefine r5l bpl |
| %idefine r6l sil |
| %idefine r7l dil |
| |
| %idefine r0h ah |
| %idefine r1h ch |
| %idefine r2h dh |
| %idefine r3h bh |