Mercurial > repos > blastem
diff disasm.c @ 2213:53411df7fc71
More 68K disassembler refactoring and fix Windows build failure
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 29 Aug 2022 21:58:37 -0700 |
parents | de3d20e58555 |
children | 7591c67b8d1e |
line wrap: on
line diff
--- a/disasm.c Sun Aug 28 22:49:26 2022 -0700 +++ b/disasm.c Mon Aug 29 21:58:37 2022 -0700 @@ -1,4 +1,7 @@ #include "disasm.h" +#include <stdlib.h> +#include <string.h> +#include <stddef.h> label_def *find_label(disasm_context *context, uint32_t address) { @@ -7,6 +10,15 @@ return tern_find_ptr(context->labels, key); } +int format_label(char *dst, uint32_t address, disasm_context *context) +{ + label_def *def = find_label(context, address); + if (def && def->num_labels) { + return sprintf(dst, "%s", def->labels[0]); + } + return sprintf(dst, "ADR_%X", address); +} + label_def *add_find_label(disasm_context *context, uint32_t address) { char key[MAX_INT_KEY_SIZE];