fixed space handling around inOpcode assembly lda #{lda #}

This commit is contained in:
Jakub Husak 2022-12-01 14:48:08 +01:00
parent 9aae1ad4c4
commit 4d80ec3513
1 changed files with 6 additions and 2 deletions

View File

@ -594,6 +594,8 @@ void readValue() {
valOpStack.length = 0;
inOpcode = true;
assemblyInstruction(readInstruction());
if (line[column] == ' ' || line[column]=='\t' )
readSpaces();
if (readChar() != '}')
throw new AssemblyError("Missing '}'");
assert(!instructionBegin);
@ -850,6 +852,8 @@ void readAddrMode() {
case '<':
case '>':
addrMode = AddrMode.IMMEDIATE;
if (inOpcode && line[column] == ' ' || line[column] == '\t')
readSpaces();
if (inOpcode && line[column] == '}')
return;
readWord();
@ -2479,7 +2483,7 @@ void assemblyInstruction(string instruction) {
assemblyConditionalJump(0x50);
break;
case "LDA":
assemblyAccumulator(0xa0, 0, 0);
assemblyLda(0);
break;
case "LDX":
assemblyLdx(0);
@ -2602,7 +2606,7 @@ void assemblyInstruction(string instruction) {
assemblySkip(0x10);
break;
case "STA":
assemblyAccumulator(0x80, 0, 0);
assemblySta(0);
break;
case "STX":
assemblyStx(0);