当前位置:   article > 正文

03-Minisys-1的典型指令详解_16位怎么扩展为32位

16位怎么扩展为32位

一、03-Minisys-1的典型指令详解(1)

1.加法指令

ADD
最低六位功能码确定为加法指令。
三个寄存器数作为操作数,第一个$4是目的操作数对应rd,$2为第一源操作数对应rs,$3为第二源操作数对应rt。

Q: 如何将一个寄存器的值赋给另一个寄存器?
A: add $2,$3,$0 即为$2=$3+$0, 其中register zero(or $0 or $zero)永远只包含0

ADDU
MIPS中与ADD有区别,做加法后如果出现溢出,由ADD指令处理溢出,而ADDU不处理溢出。通常我们用ADDU算地址。
由于Minisys-1并没有中断和异常处理的能力,所以在本系统中ADD与ADDU功能相同。

ADDI
这是一个I类型指令。第一、第二操作数均为寄存器操作数,但第三操作数为16位的立即数。
16位的立即数需要进行32位扩展,采用符号扩展,即16位立即数是个有符号,范围在-32768~+32767。第一操作数为目的操作数,在rt域非rd域。

ADDIU
由于Minisys-1并没有中断和异常处理的能力,所以在本系统中ADDI与ADDIU功能相同。

2.减法指令

SUB
第二操作数-第三操作数赋值给第一操作数,rs rt源,rd目的。由功能码决定是减法。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/271998
推荐阅读
相关标签
  

闽ICP备14008679号