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

猜你喜欢

转载自blog.csdn.net/gggwfn1982/article/details/83304996