From 352bfef375257f0d073b3d644db57709eeaadb23 Mon Sep 17 00:00:00 2001 From: simon Date: Sat, 20 Jan 2018 12:37:28 -0500 Subject: [PATCH] Fixed POPF parsing in editor --- mar/editor.js | 4 ++-- mar/editor.min.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mar/editor.js b/mar/editor.js index fa01d6e..dd7b2e1 100644 --- a/mar/editor.js +++ b/mar/editor.js @@ -319,7 +319,7 @@ function parseInstruction(line, result, currentLine) { strO1 = line.substring(line.indexOf(mnemonic) + mnemonic.length).trim(); //Validate operand number - if (!new RegExp('\\b(?:push|mul|pop|div|neg|call|jnz|jg|jl|jge|jle|hwi|hwq|jz|js|jns|ret|jmp|not|jc|jnc|jo|jno|inc|dec|popf)\\b').test(mnemonic.toLowerCase())) { + if (!new RegExp('\\b(?:push|mul|pop|div|neg|call|jnz|jg|jl|jge|jle|hwi|hwq|jz|js|jns|ret|jmp|not|jc|jnc|jo|jno|inc|dec)\\b').test(mnemonic.toLowerCase())) { result.annotations.push({ row: currentLine, column: 0, @@ -342,7 +342,7 @@ function parseInstruction(line, result, currentLine) { } else { //No operand - if (!new RegExp('\\b(?:ret|brk|nop|pushf)\\b').test(mnemonic.toLowerCase())) { + if (!new RegExp('\\b(?:ret|brk|nop|pushf|popf)\\b').test(mnemonic.toLowerCase())) { //Validate operand number result.annotations.push({ diff --git a/mar/editor.min.js b/mar/editor.min.js index 9dec85f..b0b2a52 100644 --- a/mar/editor.min.js +++ b/mar/editor.min.js @@ -12,7 +12,7 @@ function getOperandType(a,c){a=a.trim();if(""===a)return OPERAND_INVALID;if(!isN c.labels[b])return OPERAND_MEM_IMM;if(/^(bp|sp)$/.test(a.toLowerCase().substring(0,2).toLowerCase()))a=a.substring(2);else if(/^(a|b|c|d|x|y)$/.test(a.toLowerCase().substring(0,1).toLowerCase()))a=a.substring(1);else return OPERAND_INVALID;if(""===a.replace(/\s+/g,""))return OPERAND_MEM_REG;a=a.replace(/\s+/g,"");for(b=0;b