5.1.5 指令总结
在我们的寄存器机器语言中的一个控制器指令有如下的形式之一,
任何一个输入是(reg <register-name>) 或者(const <constant-value>)
这些指令在5.1.1部分中介绍了:
(assign <register-name> (reg <register-name>))
(assign <register-name> (const <constant-value>))
(assign <register-name> (op <operation-name>) <input1> ... <inputn>)
(perform (op <operation-name>) <input1> ... <inputn>)
(test (op <operation-name>) <input1> ... <inputn>)
(branch (label <label-name>))
(goto (label <label-name>))
在5.1.3部分中介绍了在寄存器中存储标签的用法:
(assign <register-name> (label <label-name>))
(goto (reg <register-name>))
在5.1.4部分中介绍了使用栈的指令:
(save <register-name>)
(restore <register-name>)
我们已经看到的仅有的类型<constant-value>是一个数据,但是稍后我们将使用
字符串,符号,和列表。例如,(const "abc")是字符串 "abc", (const abc) 是符号 abc,
(const (a b c)) 是列表 (a b c) , (const ()) 是空的列表。