Created
August 15, 2025 05:04
-
-
Save psilord/9c0d28cbbf19107f8c16d410f64c88c0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| (eval-when (:compile-toplevel :load-toplevel :execute) | |
| (defparameter *regdb* | |
| (let ((data | |
| `(;; register symbol names as values | |
| (regsyms-gp8 (al cl dl bl ah ch dh bh)) | |
| (regsyms-gp8-ext (spl bpl sil dil r8b r9b r10b r11b r12b | |
| r13b r14b r15b)) | |
| (regsyms-gp16 (ax cx dx bx bp si di)) | |
| (regsyms-gp16-ext (r8w r9w r10w r11w r12w r13w | |
| r14w r15w)) | |
| (regsyms-gp32 (eax ecx edx ebx esp ebp esi edi)) | |
| (regsyms-gp32-no-esp (eax ecx edx ebx ebp esi edi)) | |
| (regsyms-gp32-ext (r8d r9d r10d r11d r12d r13d | |
| r14d r15d)) | |
| (regsyms-gp64-ext (rax rcx rdx rbx rsp rbp rsi rdi | |
| r8 r9 r10 r11 r12 r13 r14 r15)) | |
| (regsyms-gp64-ext-no-rsp (rax rcx rdx rbx rbp rsi rdi | |
| r8 r9 r10 r11 r12 r13 r14 r15)) | |
| ;; actual register objects as values | |
| (regset-gp8 ,(list al cl dl bl ah ch dh bh)) | |
| (regset-gp8-ext ,(list spl bpl sil dil r8b r9b r10b r11b r12b | |
| r13b r14b r15b)) | |
| (regset-gp16 ,(list ax cx dx bx bp si di)) | |
| (regset-gp16-ext ,(list r8w r9w r10w r11w r12w r13w | |
| r14w r15w)) | |
| (regset-gp32 ,(list eax ecx edx ebx esp ebp esi edi)) | |
| (regset-gp32-no-esp ,(list eax ecx edx ebx ebp esi edi)) | |
| (regset-gp32-ext ,(list r8d r9d r10d r11d r12d r13d | |
| r14d r15d)) | |
| (regset-gp64-ext ,(list rax rcx rdx rbx rsp rbp rsi rdi | |
| r8 r9 r10 r11 r12 r13 r14 r15)) | |
| (regset-gp64-ext-no-rsp ,(list rax rcx rdx rbx rbp rsi rdi | |
| r8 r9 r10 r11 r12 r13 r14 r15)))) | |
| (regdb (make-hash-table))) | |
| (loop :for (sym lst) :in data | |
| :do (setf (gethash sym regdb) lst)) | |
| regdb))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment