Fixed assembly issue

This commit is contained in:
Devine Lu Linvega 2024-03-06 08:58:47 -08:00
parent aaab3e3e34
commit 8fb5a11731
1 changed files with 9 additions and 9 deletions

View File

@ -372,22 +372,22 @@ parse(char *w, FILE *f)
return error_asm("Invalid hex literal", w); return error_asm("Invalid hex literal", w);
break; break;
case '_': /* raw byte relative */ case '_': /* raw byte relative */
return writebyte(0xff) && makereference(p.scope, w + 1, w[0], p.ptr); return makereference(p.scope, w + 1, w[0], p.ptr) && writebyte(0xff);
case ',': /* literal byte relative */ case ',': /* literal byte relative */
return writelitbyte(0xff) && makereference(p.scope, w + 1, w[0], p.ptr + 1); return makereference(p.scope, w + 1, w[0], p.ptr + 1) && writelitbyte(0xff);
case '-': /* raw byte absolute */ case '-': /* raw byte absolute */
return writebyte(0xff) && makereference(p.scope, w + 1, w[0], p.ptr); return makereference(p.scope, w + 1, w[0], p.ptr) && writebyte(0xff);
case '.': /* literal byte zero-page */ case '.': /* literal byte zero-page */
return writelitbyte(0xff) && makereference(p.scope, w + 1, w[0], p.ptr + 1); return makereference(p.scope, w + 1, w[0], p.ptr + 1) && writelitbyte(0xff);
case ':': fprintf(stderr, "Deprecated rune %s, use =%s\n", w, w + 1); case ':': fprintf(stderr, "Deprecated rune %s, use =%s\n", w, w + 1);
case '=': /* raw short absolute */ case '=': /* raw short absolute */
return writeshort(0xffff, 0) && makereference(p.scope, w + 1, w[0], p.ptr); return makereference(p.scope, w + 1, w[0], p.ptr) && writeshort(0xffff, 0);
case ';': /* literal short absolute */ case ';': /* literal short absolute */
return writeshort(0xffff, 1) && makereference(p.scope, w + 1, w[0], p.ptr + 1); return makereference(p.scope, w + 1, w[0], p.ptr + 1) && writeshort(0xffff, 1);
case '?': /* JCI */ case '?': /* JCI */
return writebyte(0x20) && writeshort(0xffff, 0) && makereference(p.scope, w + 1, w[0], p.ptr + 1); return makereference(p.scope, w + 1, w[0], p.ptr + 1) && writebyte(0x20) && writeshort(0xffff, 0);
case '!': /* JMI */ case '!': /* JMI */
return writebyte(0x40) && writeshort(0xffff, 0) && makereference(p.scope, w + 1, w[0], p.ptr + 1); return makereference(p.scope, w + 1, w[0], p.ptr + 1) && writebyte(0x40) && writeshort(0xffff, 0);
case '"': /* raw string */ case '"': /* raw string */
i = 0; i = 0;
while((c = w[++i])) while((c = w[++i]))
@ -417,7 +417,7 @@ parse(char *w, FILE *f)
return 0; return 0;
return 1; return 1;
} else } else
return writebyte(0x60) && writeshort(0xffff, 0) && makereference(p.scope, w, ' ', p.ptr + 1); return makereference(p.scope, w, ' ', p.ptr + 1) && writebyte(0x60) && writeshort(0xffff, 0);
} }
return 1; return 1;
} }