diff options
Diffstat (limited to 'src/label.c')
-rw-r--r-- | src/label.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/label.c b/src/label.c index 946a6ea..72e752c 100644 --- a/src/label.c +++ b/src/label.c @@ -56,6 +56,8 @@ static char namespace[MAX_LABEL_SIZE + 1]; static Stack *stack; +static int address24 = FALSE; + /* ---------------------------------------- PRIVATE FUNCTIONS */ @@ -297,7 +299,15 @@ int LabelExpand(const char *expr, int *result) /* Current PC */ case '$': - *result = PC(); + if (address24) + { + *result = Bank() << 16 | PC(); + } + else + { + *result = PC(); + } + return TRUE; default: @@ -570,6 +580,12 @@ void LabelReadBlob(FILE *fp, int offset) } +void LabelSetAddress24(int onoff) +{ + address24 = onoff; +} + + /* vim: ai sw=4 ts=8 expandtab */ |