diff options
Diffstat (limited to 'minias.h')
| -rw-r--r-- | minias.h | 20 |
1 files changed, 14 insertions, 6 deletions
@@ -21,9 +21,14 @@ typedef struct { } Section; typedef struct { + int64_t c; + const char *l; +} Value; + +typedef struct { const char *name; int32_t idx; - int64_t offset; + Value value; int64_t wco; /* worst case offset */ int64_t size; int global; @@ -52,6 +57,7 @@ typedef enum { ASM_DIR_SECTION, ASM_DIR_ASCII, ASM_DIR_ASCIIZ, + ASM_DIR_SET, ASM_DIR_DATA, ASM_DIR_TEXT, ASM_DIR_FILL, @@ -170,6 +176,12 @@ typedef struct Globl { const char *name; } Globl; +typedef struct Set { + AsmKind kind; + const char *sym; + Value value; +} Set; + typedef struct DirSection { AsmKind kind; int32_t type; @@ -177,11 +189,6 @@ typedef struct DirSection { const char *flags; } DirSection; -typedef struct { - int64_t c; - const char *l; -} Value; - typedef struct Byte { AsmKind kind; Value value; @@ -298,6 +305,7 @@ union Parsev { Instr instr; Jmp jmp; Fill fill; + Set set; Byte dirbyte; Short dirshort; Int dirint; |
