指令功能表 |
LIT 0 a |
将常数值取到栈顶,a为常数值 |
LOD l a |
将变量值取到栈顶,a为偏移量,l为层差 |
STO l a |
将栈顶内容送入某变量单元中,a为偏移量,l为层差 |
CAL l a |
调用过程,a为过程地址,l为层差 |
INT 0 a |
在运行栈中为被调用的过程开辟a个单元的数据区 |
JMP 0 a |
无条件跳转至a地址 |
JPC 0 a |
条件跳转,当栈顶布尔值非真则跳转至a地址,否则顺序执行 |
OPR 0 0 |
过程调用结束后,返回调用点并退栈 |
OPR 0 1 |
栈顶元素取反 |
OPR 0 2 |
次栈顶与栈顶相加,退两个栈元素,结果值进栈 |
OPR 0 3 |
次栈顶减去栈顶,退两个栈元素,结果值进栈 |
OPR 0 4 |
次栈顶乘以栈顶,退两个栈元素,结果值进栈 |
OPR 0 5 |
次栈顶除以栈顶,退两个栈元素,结果值进栈 |
OPR 0 6 |
栈顶元素的奇偶判断,结果值在栈顶 |
OPR 0 7 |
 |
OPR 0 8 |
次栈顶与栈顶是否相等,退两个栈元素,结果值进栈 |
OPR 0 9 |
次栈顶与栈顶是否不等,退两个栈元素,结果值进栈 |
OPR 0 10 |
次栈顶是否小于栈顶,退两个栈元素,结果值进栈 |
OPR 0 11 |
次栈顶是否大于等于栈顶,退两个栈元素,结果值进栈 |
OPR 0 12 |
次栈顶是否大于栈顶,退两个栈元素,结果值进栈 |
OPR 0 13 |
次栈顶是否小于等于栈顶,退两个栈元素,结果值进栈 |
OPR 0 14 |
栈顶值输出至屏幕 |
OPR 0 15 |
屏幕输出换行 |
OPR 0 16 |
从命令行读入一个输入置于栈顶 |
|
|