让我们假设我有以下VM的字节码:
push constant 10
push constant 20
call add
pop
此操作的结果是30
。我确实理解什么是push
、pop
和call
操作,push
将常量推送到堆栈,调用跳转到另一个分支,pop
删除堆栈顶部的内容。但是pop操作的价值在哪里(在这种情况下(?这对我来说是个误会。
此处没有。pop
丢弃该值。这有点像高级源代码中发生的情况,如果您调用一个函数而不将结果存储在变量中。