1.5.寄存器传输语言RTL和指令格式
2026-03-22计组汇编
这里开始介绍CPU中的寄存器从而来进行指令的构成和格式等笔记~
一.寄存器使用RTL语言方便描述操作
方括号用于内存访问,[r0]表示以 r0的内容作为地址,访问内存单元(取数据).
执行一条指令时至少需要访问两次内存,一次读取一次写回
二.指令格式
分为三地址指令,两地址指令,单地址指令
1.三地址指令
即地址2和地址3中的值进行操作保留到地址1中
ADD P,Q,R是典型的三操作数指令,ADD后面是三个存储单元的地址符号名
用RTL表示就是
[Ad1]<- [Ad2] Operation [Ad3]
进行一次相加指令需要四次访存,一次取指令两次访问两个地址的值,一次保存结果
2.两地址指令

一般来说intel64位允许也就是cisc架构之类的cpu,但是arm的架构只允许进行3位地址指令操作,有很少一部分特殊可以二维操作比如MOV (移动)CMP(比较)
3.单地址指令
指令只提供了一个操作数地址,处理器不得不使用cpu中的累加器
也就是4被推入累加器中,然后访问寄存器的5与之相加再保存在累加器中再存储回寄存器
也就是寄存器寄存器之间导致arm架构大多只能进行3位地址,然后区分一下区别就是一般来说cpu之中有寄存器,存储器在内存中,寄存器存储较少但快,存储器多但慢,比如说可能有一个疑问就是arm不是只能对寄存器寄存器型吗,为什么能这个执行三指令针对的是存储器,因为有些做不到的是,简化了步骤,机器访问存储器的数值保存到寄存器之中再进行这个三地址指令,省略了这些步骤通过伪指令,这就是arm的核心设计(加载存储架构)