MIPS 32位立即数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MIPS 32位立即数相关的知识,希望对你有一定的参考价值。

一般用lui和ori来讲32位立即数读到寄存器里,为什么不能用addi来代替ori?

参考技术A 这个问题有点难想到,因为addi的立即数是有符号数,如果原数的第16位为1,那么在addi中将会变成负数,最终结果就不对。
但是如果你想用addi也是可以的,只要在取高16位的时候再加上第16位的数就行了。
如果原数第16位是0,那么直接addi没事
比如你说的0x1025A152,用addi就错了,因为A是1010.
不过可以在取"1025"的时候加上原数的第16位,也就是1,这样在addi的时候减去A152就正好
加了2^16,再减去A152(要变成补码)
因为+2^16 - (2^16 - (A152原码的绝对值)) = A152原码的绝对值
所以正确了。

计算机原理 5.5 MIPS指令概述

1、MIPS指令概述

MIPS((Microprocessor without Intellocked Pipleline Stages)

MIPS属于精简指令集计算机RISC

技术图片

 

 MIPS指令集有以下特点:

简单的Load/Store结构

易于流水线CPU设计

易于 编译器开发

MIPS指令的寻址方式非常简单,每条指令的操作也非常简单。

2、MIPS指令格式概述

只有三种指令格式:

技术图片

 

 3、MIPS寄存器

技术图片

 

 4、MIPS寻址方式

在MIPS32指令集中,不单设寻址方式说明字段

R型指令:由op和func字段共同隐含说明当前的寻址方式

技术图片

 

 I型和J型指令:由op字段隐含说明当前指令使用的寻址方式

技术图片

 

 立即数寻址:

技术图片

 

 在指令编码格式中,源在左边,目的在右边

而在汇编格式中,源在右边,目的在左边

 

寄存器直接寻址

技术图片

 

 基址寻址

技术图片

 

 相对寻址

技术图片

 

 伪直接寻址(页面寻址)

技术图片

 

 

以上是关于MIPS 32位立即数的主要内容,如果未能解决你的问题,请参考以下文章

汇编 MIPS:带伪旋转的十进制到 32 位二进制

32位和16位指令集模式自动切换机制

RV32G下lui/auipc和addi结合加载立即数时的补值问题

RV32G下lui/auipc和addi结合加载立即数时的补值问题

RV32G下lui/auipc和addi结合加载立即数时的补值问题

RV32G下lui/auipc和addi结合加载立即数时的补值问题