From e19dc81b437c991d1560e5c27f06adc60cbc2ce5 Mon Sep 17 00:00:00 2001 From: jacquej96 <32223123+jacquej96@users.noreply.github.com> Date: Mon, 21 Oct 2019 14:20:58 -0400 Subject: [PATCH] Move Set mnemonics to function --- Server/src/main/resources/static/js/editor.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Server/src/main/resources/static/js/editor.js b/Server/src/main/resources/static/js/editor.js index 4656af6..eac1551 100644 --- a/Server/src/main/resources/static/js/editor.js +++ b/Server/src/main/resources/static/js/editor.js @@ -256,15 +256,19 @@ function isDoubleOpMnemonic(mnemonic) { function isSingleOpMnemonic(mnemonic) { return 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|ja|jna|seta|setnbe|setae|setnb|setnc|setbe|setna|setb|setc|' + - 'setnae|sete|setz|setne|setnz|setg|setnle|setge|setnl|setle|setng|setl|setnge|seto|' + - 'setno|sets|setns)\\b').test(mnemonic.toLowerCase()); + 'jc|jnc|jo|jno|inc|dec|ja|jna)\\b').test(mnemonic.toLowerCase()) || + isSetMnemonic(mnemonic); } function isZeroOpMnemonic(mnemonic) { return new RegExp('\\b(?:ret|brk|nop|pushf|popf)\\b').test(mnemonic.toLowerCase()); } +function isSetMnemonic(mnemonic) { + return new RegExp('\\b(?:seta|setnbe|setae|setnb|setnc|setbe|setna|setb|setc|setnae|sete|setz|setne|' + + 'setnz|setg|setnle|setge|setnl|setle|setng|setl|setnge|seto|setno|sets|setns)\\b').test(mnemonic.toLowerCase()); +} + function parseInstruction(line, result, currentLine) { line = removeComment(line); line = removeLabel(line); @@ -276,7 +280,6 @@ function parseInstruction(line, result, currentLine) { return; //Line is empty } - if (!parseDWInstruction(line, result, currentLine)) { if (isValidMnemonic(mnemonic)) { @@ -324,7 +327,7 @@ function parseInstruction(line, result, currentLine) { produceError(result, currentLine, "Invalid operand: " + op1); } - if (new RegExp('\\b(?:seta|setnbe|setae|setnb|setnc|setbe|setna|setb|setc|setnae|sete|setz|setne|setnz|setg|setnle|setge|setnl|setle|setng|setl|setnge|seto|setno|sets|setns)\\b').test(mnemonic.toLowerCase())) { + if (isSetMnemonic(mnemonic)) { if (getOperandType(op1, result) === OPERAND_IMM) { produceError(result, currentLine, "Invalid operand type: " + op1); } @@ -341,7 +344,6 @@ function parseInstruction(line, result, currentLine) { } else { produceError(result, currentLine, "Unknown mnemonic: " + mnemonic); } - } }