我的任务是使用Flex实现类似汇编语言的解释。
有以下命令:
添加x y z,(z = x + y)
sub x y z,(z = x - y)
mul x y z,(z = x * y)
div x y z,(z = x / y)
设x 10,(x = 10)
mov x y,(y = x)
使用Flex非常容易实现此命令的解释器。
我坚持执行JMP line, (current line = line)
指令。我不知道如何重置Flex当前解析行或类似的东西。
答案 0 :(得分:0)
JMP
instruction只需使用目标指令的地址修改program counter即可。所以,这个VM你需要一个PC注册。
真的很简单。不要过分思考这一点。请记住,他们在半个世纪前的vacuum tubes之外创建了JMP指令。这严重限制了复杂性。