From b8f68e3a454f411cc13190080de69db362ce92ef Mon Sep 17 00:00:00 2001 From: aiyingfeng Date: Mon, 24 Jul 2023 17:47:20 +0800 Subject: [PATCH] =?UTF-8?q?jsvmp=20=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jsvmp/demo.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 jsvmp/demo.js diff --git a/jsvmp/demo.js b/jsvmp/demo.js new file mode 100644 index 0000000..f39dbde --- /dev/null +++ b/jsvmp/demo.js @@ -0,0 +1,23 @@ +!function (_stack) { + var register; + var variable = {}; + for (let i = 0; i < _stack.length; i++) { + instruct = _stack[i][0]; + left = _stack[i][1]; + right = _stack[i][2]; + if (instruct === 110) { + variable[right] = '' + } + if (instruct === 66) { + if (right === '?') { + variable[left] = register + } else { + variable[left] = right + } + } + if (instruct === 88) { + register = variable[left] + variable[right] + } + } + ;console.log(variable) +}([[110, 'var', 'a'], [66, 'a', 1000], [110, 'var', 'b'], [66, 'b', 1000], [110, 'var', 'c'], [66, 'c', 1000], [110, 'var', 'd'], [88, 'a', 'b'], [66, 'd', '?'], [110, 'var', 'e'], [88, 'd', 'c'], [66, 'e', '?']]) \ No newline at end of file