diff --git a/source/eaxhla.l b/source/eaxhla.l
index 41ccbd1..12b0091 100644
--- a/source/eaxhla.l
+++ b/source/eaxhla.l
@@ -91,10 +91,10 @@ rax       { return RAX; }
 rcx       { return RCX; }
 rdx       { return RDX; }
 rbx       { return RBX; }
+rsp       { return RSP; }
+rbp       { return RBP; }
 rsi       { return RSI; }
 rdi       { return RDI; }
-rbp       { return RBP; }
-rsp       { return RSP; }
 rg8       { return RG8; }
 rg9       { return RG9; }
 rg10      { return RG10; }
@@ -107,10 +107,10 @@ eax       { return EAX; }
 ecx       { return ECX; }
 edx       { return EDX; }
 ebx       { return EBX; }
+esp       { return ESP; }
+ebp       { return EBP; }
 esi       { return ESI; }
 edi       { return EDI; }
-ebp       { return EBP; }
-esp       { return ESP; }
 rg8d      { return RG8D; }
 rg9d      { return RG9D; }
 rg10d     { return RG10D; }
@@ -123,10 +123,10 @@ ax        { return AX; }
 cx        { return CX; }
 dx        { return DX; }
 bx        { return BX; }
+sp        { return SP; }
+bp        { return BP; }
 si        { return SI; }
 di        { return DI; }
-bp        { return BP; }
-sp        { return SP; }
 r8w       { return R8W; }
 r9w       { return R9W; }
 r10w      { return R10W; }
@@ -139,10 +139,10 @@ al        { return AL; }
 cl        { return CL; }
 dl        { return DL; }
 bl        { return BL; }
+spl       { return SPL; }
+bpl       { return BPL; }
 sil       { return SIL; }
 dil       { return DIL; }
-bpl       { return BPL; }
-spl       { return SPL; }
 r8b       { return R8B; }
 r9b       { return R9B; }
 r10b      { return R10B; }
diff --git a/source/eaxhla.y b/source/eaxhla.y
index 2463d7a..86144c0 100644
--- a/source/eaxhla.y
+++ b/source/eaxhla.y
@@ -76,10 +76,10 @@
 %type<regval> register register64s register32s register16s register8s
 
 // #placeholder<register_token_list> BEGIN
-%token RAX RCX RDX RBX RSI RDI RBP RSP RG8 RG9 RG10 RG11 RG12 RG13 RG14 RG15
-%token EAX ECX EDX EBX ESI EDI EBP ESP RG8D RG9D RG10D RG11D RG12D RG13D RG14D RG15D
-%token AX CX DX BX SI DI BP SP R8W R9W R10W R11W R12W R13W R14W R15W
-%token AL CL DL BL SIL DIL BPL SPL R8B R9B R10B R11B R12B R13B R14B R15B
+%token RAX RCX RDX RBX RSP RBP RSI RDI RG8 RG9 RG10 RG11 RG12 RG13 RG14 RG15
+%token EAX ECX EDX EBX ESP EBP ESI EDI RG8D RG9D RG10D RG11D RG12D RG13D RG14D RG15D
+%token AX CX DX BX SP BP SI DI R8W R9W R10W R11W R12W R13W R14W R15W
+%token AL CL DL BL SPL BPL SIL DIL R8B R9B R10B R11B R12B R13B R14B R15B
 
 // #placeholder<register_token_list> END
 
@@ -301,10 +301,10 @@ register64s: RAX { $$.number = R0; }
     | RCX   { $$.number = R1; }
     | RDX   { $$.number = R2; }
     | RBX   { $$.number = R3; }
-    | RSI   { $$.number = R4; }
-    | RDI   { $$.number = R5; }
-    | RBP   { $$.number = R6; }
-    | RSP   { $$.number = R7; }
+    | RSP   { $$.number = R4; }
+    | RBP   { $$.number = R5; }
+    | RSI   { $$.number = R6; }
+    | RDI   { $$.number = R7; }
     | RG8   { $$.number = R8; }
     | RG9   { $$.number = R9; }
     | RG10  { $$.number = R10; }
@@ -319,10 +319,10 @@ register32s: EAX { $$.number = R0; }
     | ECX   { $$.number = R1; }
     | EDX   { $$.number = R2; }
     | EBX   { $$.number = R3; }
-    | ESI   { $$.number = R4; }
-    | EDI   { $$.number = R5; }
-    | EBP   { $$.number = R6; }
-    | ESP   { $$.number = R7; }
+    | ESP   { $$.number = R4; }
+    | EBP   { $$.number = R5; }
+    | ESI   { $$.number = R6; }
+    | EDI   { $$.number = R7; }
     | RG8D  { $$.number = R8; }
     | RG9D  { $$.number = R9; }
     | RG10D { $$.number = R10; }
@@ -337,10 +337,10 @@ register16s: AX { $$.number = R0; }
     | CX    { $$.number = R1; }
     | DX    { $$.number = R2; }
     | BX    { $$.number = R3; }
-    | SI    { $$.number = R4; }
-    | DI    { $$.number = R5; }
-    | BP    { $$.number = R6; }
-    | SP    { $$.number = R7; }
+    | SP    { $$.number = R4; }
+    | BP    { $$.number = R5; }
+    | SI    { $$.number = R6; }
+    | DI    { $$.number = R7; }
     | R8W   { $$.number = R8; }
     | R9W   { $$.number = R9; }
     | R10W  { $$.number = R10; }
@@ -355,10 +355,10 @@ register8s: AL { $$.number = R0; }
     | CL    { $$.number = R1; }
     | DL    { $$.number = R2; }
     | BL    { $$.number = R3; }
-    | SIL   { $$.number = R4; }
-    | DIL   { $$.number = R5; }
-    | BPL   { $$.number = R6; }
-    | SPL   { $$.number = R7; }
+    | SPL   { $$.number = R4; }
+    | BPL   { $$.number = R5; }
+    | SIL   { $$.number = R6; }
+    | DIL   { $$.number = R7; }
     | R8B   { $$.number = R8; }
     | R9B   { $$.number = R9; }
     | R10B  { $$.number = R10; }
diff --git a/tool/generators/registers.tcl b/tool/generators/registers.tcl
index e121831..b1a9f89 100644
--- a/tool/generators/registers.tcl
+++ b/tool/generators/registers.tcl
@@ -14,10 +14,10 @@ set register64s {
     rcx 
     rdx 
     rbx 
+    rsp 
+    rbp 
     rsi 
     rdi 
-    rbp 
-    rsp 
     rg8 
     rg9 
     rg10
@@ -33,10 +33,10 @@ set register32s {
     ecx  
     edx  
     ebx  
+    esp  
+    ebp  
     esi  
     edi  
-    ebp  
-    esp  
     rg8d 
     rg9d 
     rg10d
@@ -52,10 +52,10 @@ set register16s {
     cx
     dx
     bx
+    sp
+    bp
     si
     di
-    bp
-    sp
     r8w
     r9w
     r10w
@@ -71,10 +71,10 @@ set register8ls {
     cl
     dl
     bl
+    spl
+    bpl
     sil
     dil
-    bpl
-    spl
     r8b
     r9b
     r10b