生活随笔
收集整理的這篇文章主要介紹了
[MIPS汇编语言]InsertionSort插入排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如果對MIPS實現數組的輸入輸出不懂,可以點這里
如果對MIPS實現簡單排序有興趣,可以點這里
如果你想要看一下怎么用C++(或者C)實現插入排序,可以點這里
如果你想要看一下用Python實現插入排序,可以點這里
這里舉得栗子是降序排列
MIPS指令代碼如下:建議和比較熟悉的高級程序語言對比著看
.dataarray: .space
1024input_msg:.ascii
"input the number"space_str:.ascii
"\n"
.text
.globl main
main:la
$t6 array move
$t7 $zero addi
$t8 $zero 10
input:la
$a0 input_msg la
$v0 4 syscall la
$v0 5 syscall mul
$t0 $t7 4 add
$t0 $t0 $t6 sw
$v0 0(
$t0) addi
$t7 $t7 1 bne
$t7 $t8 input addi
$t7 $zero 1
sort:slt
$t0 $t7 10 beq
$t0 $zero output mul
$t0 $t7 4 add
$t0 $t0 $t6 lw
$a1 0(
$t0) addi
$t5 $t7 -
1
sort2:mul
$t0 $t5 4 add
$t0 $t0 $t6 lw
$t4 0(
$t0) lw
$t3 4(
$t0) slt
$t0 $t5 $zero bne
$t0 $zero putKey slt
$t0 $t4 $a1 beq
$t0 $zero putKey mul
$t0 $t5 4 add
$t0 $t0 $t6 sw
$t4 4(
$t0) addi
$t5 $t5 -
1 j sort2
putKey: mul
$t0 $t5 4 add
$t0 $t0 $t6 sw
$a1 4(
$t0) addi
$t7 $t7 1 j
sortoutput: move
$t7 $zero addi
$t8 $zero 10
print_all:move
$t0 $t7 mul
$t0 $t0 4 add
$t0 $t6 $t0 lw
$a0 0(
$t0) li
$v0 1syscall la
$a0 space_strli
$v0 4syscalladdi
$t7 $t7 1 blt
$t7 $t8 print_all jr
$rali
$v0 10 syscall
總結
以上是生活随笔為你收集整理的[MIPS汇编语言]InsertionSort插入排序的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。