mirror of
https://github.com/simon987/Much-Assembly-Required.git
synced 2025-04-10 14:26:45 +00:00
Move Set mnemonics to function
This commit is contained in:
parent
8cbf2b45c3
commit
e19dc81b43
14
Server/src/main/resources/static/js/editor.js
vendored
14
Server/src/main/resources/static/js/editor.js
vendored
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user