diff options
Diffstat (limited to 'register.h')
| -rw-r--r-- | register.h | 40 |
1 files changed, 27 insertions, 13 deletions
@@ -2,21 +2,35 @@ #define REGISTER_H struct reg { - const char* qword; - const char* dword; - const char* word; - const char* byte; + const char* const qword; + const char* const dword; + const char* const word; + const char* const byte; + bool is_occupied; }; -extern const struct reg RAX; -extern const struct reg RDI; -extern const struct reg RSI; -extern const struct reg RDX; -extern const struct reg R10; -extern const struct reg R9; -extern const struct reg R8; +/* TODO: maybe don't need these in the header file */ +extern struct reg RAX; +extern struct reg RBX; +extern struct reg RCX; +extern struct reg RDX; -extern const struct reg* const CALLING_CONV[]; -extern const unsigned char CC_N_REGS; +extern struct reg RDI; +extern struct reg RSI; +extern struct reg RSP; +extern struct reg RBP; + +extern struct reg R8; +extern struct reg R9; +extern struct reg R10; +extern struct reg R11; +extern struct reg R12; +extern struct reg R13; +extern struct reg R14; +extern struct reg R15; +/* END TODO */ + +extern struct reg* const CALLING_CONV[]; +extern struct reg* const DATA_REGS[]; #endif |
