1. 程式人生 > >5.1.5 指令總結

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  ()) 是空的列表。