5.1.5 指令總結
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 ()) 是空的列表。