计算机组成原理之MIPS汇编:冒泡排序
2017-04-02 20:52
537 查看
一. 实验目的
认识和掌握MIPS汇编语言程序设计的基本方法;熟悉PCSpim模拟器的使用。
二. 实验内容
从键盘输入10个无符号字数并从大到小进行排序,排序结果在屏幕上显示出来。三. 实验器材
电脑一台、PCSpim模拟器软件一套。废话不多说,先贴代码。第一次写汇编,非完全自创,有参考,record一下。
解释一下:
.globl main将main声明为全局main函数
.data(数据段) 数据声明
.text(文本段,也称代码段),顾名思义,贴代码的地方
MIPS汇编的语法自己学习去吧:)
.globl main .data sortarray:.space 40 seprate: .asciiz " " .text # $t0: temp # $t4: i # $t6: j # $t8: k # $t5: size of aortarray main: addi $t5, $zero, 10 addi $t4, $zero, 9 addi $t8, $zero, 0 la $t1, sortarray loop: li $v0 5 syscall sw $v0, 0($t1) addi $t8, $t8, 1 addi $t1, $t1, 4 sub $t7, $t5, $t8 bgtz $t7, loop loop1: la $t1, sortarray addi $t6, $zero, 0 loop2: lw $t0, 0($t1) #t0 = array[j] lw $t7, 4($t1) # array[j+1] sub $t2, $t7, $t0 bgtz $t2, increment sw $t7, 0($t1) sw $t0, 4($t1) increment: addi $t6, $t6, 1 #j ++ addi $t1, $t1, 4 #next entrry sub $t2, $t4, $t6 #t2 = i-j bgtz $t2, loop2 #if j < i ,continue to loop2 addiu $t4, $t4, -1 #i-- lw $a0, 0($t1) #'max' entry each circle li $v0, 1 # output int syscall la $a0, seprate li $v0, 4 # output char syscall bne $t4, $zero, loop1 la $t1, sortarray lw $a0, 0($t1) li $v0, 1 syscall li $v0, 10 syscall
相关文章推荐
- 计算机组成第一次互评作业:MIPS汇编程序设计
- 计算机组成原理与汇编语言学习笔记(1)
- Coursera - 计算机组成 - W3 - MIPS汇编程序设计
- 计算机组成原理之MIPS指令系统和MIPS体系结构
- 【计算机组成原理】高级语言>>汇编语言>>机器语言
- 咦,终于有一本讲计算机组成原理和汇编的书,可以让我看得有味了
- 计算机组成原理笔记
- 计算机组成原理-指令系统
- 计算机组成原理课本的问题总结
- 软考之路(5)——计算机组成原理之加密技术和认证技术
- 计算机组成原理实验二:RAM实验
- 计算机组成原理第一章 研究内容 层次结构 应对系统复杂的重要方法--抽象
- C语言学习-计算机组成原理
- 计算机组成原理要点 唐朔飞版2
- 计算机组成原理-第一章计算机系统概论
- 计算机组成原理前四章总结
- 漫谈计算机组成原理
- 计算机组成原理
- 计算机组成原理总结