MIPS架构与汇编语言快速参考

需积分: 5 0 下载量 14 浏览量 更新于2024-08-04 收藏 175KB PDF 举报
"MIPS快速参考指南,涵盖了MIPS架构、数据类型、字面量和寄存器的使用信息。" MIPS(Microprocessor without Interlocked Pipeline Stages)是一种精简指令集计算机(RISC)架构,广泛应用于教学、嵌入式系统以及早期的计算机硬件设计。以下是关于MIPS架构、数据类型、字面量和寄存器的详细介绍: **MIPS架构概述** MIPS架构以其高效的流水线设计和简单的指令集著称。它遵循固定的指令格式,具有明确的功能划分,如取指、解码、执行和写回等阶段。 **数据类型与字面量** - **数据类型**:在MIPS中,有三种基本的数据类型: - 字节(byte):占用1字节(8位) - 半字(halfword):占用2字节(16位) - 字(word):占用4字节(32位) - 在MIPS中,一个字符占用1字节,一个整数占用4字节(字)。 - **字面量**:可以直接输入数字,例如`4`。对于字符,需要使用单引号包围,如`'b'`。字符串则用双引号包围,如`"Astring"`。 **寄存器** MIPS架构中有32个通用目的寄存器,它们在汇编语言指令中以$符号前缀表示: - **寄存器编号**:从$0到$31,其中$0是零寄存器,始终为0,不能被修改。 - **别名**:某些寄存器有特定的别名,如: - $t0-$t9(=$8-$15, $24, $25)是临时寄存器,用于计算,不需在子程序调用中保持其值。 - $s0-$s7(=$16-$23)是保存寄存器,用于保存需跨子程序调用保持的值。 - $sp(=$29)是栈指针,用于跟踪栈的顶部。 - $fp(=$30)是帧指针,用于保存函数调用时的返回地址和局部变量。 - $ra(=$31)是返回地址寄存器,存储子程序调用的返回地址。 - **特殊用途寄存器**: - $a0-$a3(=$4-$7)用于传递子程序参数。 - $v0和$v1(=$2和$3)用于存储子程序的返回值。 - Lo和Hi寄存器:用于存储乘法和除法运算的结果,但不能直接寻址,必须通过特殊的指令访问。 在编写MIPS汇编代码时,了解这些基本概念和约定至关重要,它们决定了程序的正确性和效率。掌握MIPS指令集和寄存器使用是理解底层计算机工作原理的关键步骤。