基于MVP堆栈的字节码VM 运行一个非常简单的指令集,并且图灵完成。 指示 操作说明 描述 推(isize) 将参数推入栈顶 流行音乐 删除栈顶的值 添加 弹出前两个值,然后将它们的和求和 子 弹出前两个值并推开它们的差值 穆尔 弹出前两个值并推送其乘积 DIV 弹出前两个值并推它们的商 跳转(标签) 将指令指针设置为标签 JNE(标签) 如果栈顶不为零,则跳转 JE(标签) 如果栈顶为零则跳转 JGT(标签) 如果堆栈顶部大于零,则跳转 JLT(标签) 如果堆栈顶部小于零,则跳转 JGE(标签) 如果栈顶大于或等于零则跳转 JLE(标签) 如果堆栈顶部小于或等于零,则跳转 致电(程序) 调用一个过程,将堆栈偏移量设置为当前的堆栈长度 获取(使用) 获取堆栈的索引并将其复制到顶部 设置(使用) 将栈顶的值复制到索引 GetArg(使用) 从调用堆栈堆栈偏移量的顶