Fixed a bug in the parser not setting an identifier when one is used with a CMP and fixed a bug in the example assembly program.
This commit is contained in:
+8
-2
@@ -167,7 +167,7 @@ void HandleOpcode(void) {
|
||||
opcode->Value.Mnemonic = isByte ? COPYAB : COPYA;
|
||||
opcode->Lemexe = isByte ? "copyab" : "copya";
|
||||
|
||||
AdvanceParser();
|
||||
ExpectIdentifier(0, ForwardParser);
|
||||
}
|
||||
else {
|
||||
ExpectPuncuation(LBracket, ForwardParser);
|
||||
@@ -208,12 +208,18 @@ void HandleOpcode(void) {
|
||||
|
||||
TokenClass class = PeekToken()->Class;
|
||||
|
||||
if (class == NumberClass || class & IdentifierClass) {
|
||||
if (class == NumberClass) {
|
||||
opcode->Value.Mnemonic = CMPI;
|
||||
opcode->Lemexe = "CMPI";
|
||||
|
||||
AdvanceParser();
|
||||
}
|
||||
else if (class & IdentifierClass) {
|
||||
opcode->Value.Mnemonic = CMPI;
|
||||
opcode->Lemexe = "CMPI";
|
||||
|
||||
ExpectIdentifier(0, ForwardParser);
|
||||
}
|
||||
else {
|
||||
ExpectRegister();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user