MIPs 指令编程
Mips代码:
.globl main
.data
array:
.word 1
.word -1
.word 5
.word 6
.word 12
.word 21
.word 18
.word 44
.word 32
.word 9
.word 23
.word 10
.word 11
.word 99
.word 100
.word 23
.text
lui $sp 0x8000 #initialize the stack pointer
la $t0,array
main:addi $sp,$sp,-12 #stack grows by 12 bytes
sw $ra,8($sp) #save return address into stack
sw $s0,4($sp) #store $s0 so it can be used for littleindex
sw $s1,0($sp) #store $s1 so it can be used for i
addi $s0,$s0,15
move $s2,$s0
addi $s1,$s1,15
Loop1:slt $t3,$s1,$zero
bne $t3,$zero,exit1
Loop2:sll $t1,$s1,2
add $t1,$t0,$t1
sll $t2,$s0,2
add $t2,$t0,$t2
slt $t4,$t1,$t2
bne $t4,$zero,exit2
move $s0,$s1
addi $a0,$s0,0
exit2: addi $s1,$s1,-1
j Loop1
jal swap
exit1:lw $s1,0($sp)
lw $s0,4($sp)
lw $ra,8($sp)
addi $sp,$sp,12
jr $ra
swap:sll $t1,$a0,2
add $t1,$t0,$t1
lw $a1,0($t1)
lw $t3,56($t1)
sw $t3,0($t1)
sw $a1,56($t1)
jr $ra
C代码:
int array[]={1, -1, 5, 6, 12, 21, 18, 44, 32, 9, 23, 10, 11, 99, 100, 23};
void swap (int little)
{
int temp;
temp = array[little];
array[little] = array[15];
array[15] = temp;
}
main()
{
int i;
int littleindex = 15;
for (i=15; i > -1; i--) {
if (array[i] < array[littleindex])
littleindex = i;
}
swap(littleindex);
return 0;
}
相关推荐
Assembly-MIPS-Instruction-Set:具有MIPS指令集的汇编程序
编写MIPS汇编程序需要理解以下几个核心概念:1. **指令格式**:MIPS指令通常由操作码(opcode)、功能码(function code)和操作数(operands)组成。
掌握MIPS32指令集:lw指令与汇编精讲
MIPS32架构是一种采用精简指令集计算(RISC)原则设计的处理器架构,最初由MIPS Technologies公司开发。该架构主要用于实现高性能的处理器,广泛应用于嵌入式系统、移动设备、网络设备以及小型个人电脑等领域。MIPS32的特点在于其简洁的指令集、强大的指令流水线以及良好的可扩展性,这些都是为了满足日益增长的计算需求和实现高效能的系统设计。数据处理指令主要用于执行基本的算术和逻辑运算,是实现程序功能的核心。具体包括:算术运算指令:如加法(add)、减法(sub)和乘法(mult)
MIPS32指令系统的汇编器 在QUARTUS仿真环境中,将MIPS32指令写成的汇编程序翻译成二进制写入指令存储器.zip
通过编写汇编程序,然后用汇编器将其转化为二进制,我们可以将这些二进制代码烧录到FPGA的配置存储器中,从而在硬件上实现MIPS32指令的执行。
MIPS32指令系统的汇编器。 在QUARTUS仿真环境中,将MIPS32指令写成的汇编程序翻译成二进制写入指令存储器.zip
在QUARTUS仿真环境中,将MIPS32指令写成的汇编程序翻译成二进制写入指令存储器”的项目,显然关注的是如何将MIPS32汇编语言编程转化为机器可执行的二进制代码,并在QUARTUS这样的硬件设计环境进行仿真
一个基于C面向对象编程语言在Windows10_64位操作系统上使用VisualStudio集成开发环境实现的完整MIPS指令集架构仿真器与虚拟机系统_该项目核心功能为精确模拟.zip
本次介绍的项目就致力于在Windows 10 64位操作系统上,利用C面向对象编程语言,结合Visual Studio集成开发环境,实现了一个完整的MIPS指令集架构仿真器与虚拟机系统。


