aboutsummaryrefslogtreecommitdiff
path: root/src/orgaasm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/orgaasm.c')
-rw-r--r--src/orgaasm.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/orgaasm.c b/src/orgaasm.c
index 63581b7..3db100c 100644
--- a/src/orgaasm.c
+++ b/src/orgaasm.c
@@ -150,6 +150,7 @@ first_pass(char *s)
case '@': /* label marker */
register_label(tok + 1, pc);
break;
+ case '/': /* call label */
case '-': /* literal label */
case '#': /* literal marker */
pc += 2;
@@ -169,9 +170,14 @@ second_pass(char *s)
switch (tok[0]) {
case '@': /* label declaration, skip */
continue;
+ case '/': /* call label */
+ write_short(OP_JRT);
+ write_label(tok + 1);
+ continue;
case '-': /* literal label insertion */
write_short(OP_LIT);
- /* fallthrough */
+ write_label(tok + 1);
+ continue;
case ',': /* label insertion */
write_label(tok + 1);
continue;