VM
作用:程序员只需要写出虚拟机可以执行的代码即可,而不需要同一程序按照不同编译器写好多遍。
Stack Machine Architecture
Memory:存数据,按种类分成不同段
Stack: 用于执行指令
- 读存数据:pop segment i,push segment i
- 逻辑操作:add,subneg,eq,gt,lt,and,or,not
- 分支:goto label,if-goto label,label label
- 执行函数:执行call指令在stack上savecallerframe后为callee开辟新空间直到返回值,注意void类型也会返回值,不过会被直接pop掉