doc: document the %[...] construct.
[nasm.git] / macros / altreg.mac
blob83d6967967a16ae571863ab08ac06337319bec3c
1 ;;
2 ;; altreg.mac
3 ;;
4 ;; Alternate register names for 64-bit mode
5 ;;
7 USE: altreg
9 ;;
10 ;; Intel documents R8L-R15L instead of R8B-R15B
11 ;; (Warning: this may confuse people with an AT&T-style assembly
12 ;; background, where "r8l" means R8D, etc.)
14 %idefine r8l  r8b
15 %idefine r9l  r9b
16 %idefine r10l r10b
17 %idefine r11l r11b
18 %idefine r12l r12b
19 %idefine r13l r13b
20 %idefine r14l r14b
21 %idefine r15l r15b
24 ;; Numeric register names for the lower 8 registers
26 %idefine r0  rax
27 %idefine r1  rcx
28 %idefine r2  rdx
29 %idefine r3  rbx
30 %idefine r4  rsp
31 %idefine r5  rbp
32 %idefine r6  rsi
33 %idefine r7  rdi
35 %idefine r0d eax
36 %idefine r1d ecx
37 %idefine r2d edx
38 %idefine r3d ebx
39 %idefine r4d esp
40 %idefine r5d ebp
41 %idefine r6d esi
42 %idefine r7d edi
44 %idefine r0w ax
45 %idefine r1w cx
46 %idefine r2w dx
47 %idefine r3w bx
48 %idefine r4w sp
49 %idefine r5w bp
50 %idefine r6w si
51 %idefine r7w di
53 %idefine r0b al
54 %idefine r1b cl
55 %idefine r2b dl
56 %idefine r3b bl
57 %idefine r4b spl
58 %idefine r5b bpl
59 %idefine r6b sil
60 %idefine r7b dil
62 %idefine r0l al
63 %idefine r1l cl
64 %idefine r2l dl
65 %idefine r3l bl
66 %idefine r4l spl
67 %idefine r5l bpl
68 %idefine r6l sil
69 %idefine r7l dil
71 %idefine r0h ah
72 %idefine r1h ch
73 %idefine r2h dh
74 %idefine r3h bh