MIPS彙編 選擇排序13條指令

2021-07-29 16:58:11 字數 1141 閱讀 4869

mips彙編:選擇排序13條指令

單純地為了減少彙編指令數,所以就別指望效率了~

在下面也寫了c語言對應的**,希望有助於理解~

mips彙編**:

#$t0:the base address of the array

#$t1:the size of the array(size>=1)

sll $t1,$t1,2

add $t1,$t0,$t1

loop1:

addi $t1,$t1,-4

addi $t2,$t0,-4

loop2:

addi $t2,$t2,4

lw $t3,0($t1)

lw $t4,0($t2)

slt $t5,$t3,$t4

beq $t5,$zero,unchange

sw $t3,0($t2)

sw $t4,0($t1)

unchange:

bne $t2,$t1,loop2

bne $t1,$t0,loop1

c語言**:

#include#define size 8	//size >=1

int main() ;

int size = size;

int *base = arr; //$t0

int *last; //$t1

int *sel; //$t2

int temp1; //$t3

int temp2; //$t4

int flag; //$t5

//sll $t1,$t1,2

last = base + size; //add $t1,$t0,$t1

do //unchange:

} while (sel != last); //bne $t2,$t1,loop2

} while (last != base); //bne $t1,$t0,loop1

for (int i = 0; i < size; i++)

printf("%d ", arr[i]);

return 0;

}

mips 選擇排序

10個數字的輸入與排序 text 段 globl main 程式從此開始 main la t6,array t6為陣列首位址 move t7,zero 初始化t7,用於迴圈計數 input li v0,5 syscall 系統呼叫 輸入數字 move t0,t7 mul t0,t0,4 addu t...

Win32彙編 選擇結構

386 選擇的處理器 model flat,stdcall 儲存模型,win32程式只能用平展 flat 模型 option casemap none 指明識別符號大小寫敏感 include kernel32.inc 要引用的標頭檔案 includelib kernel32.lib 要引用的庫檔案 ...

MIPS組合語言實現選擇排序

mips組合語言實現排序演算法,其實並不難。只要你掌握了基本的指令語句,並且熟悉c或c 相關演算法,即可輕鬆寫出來。對於mips組合語言還不太熟悉的夥伴,可以參考下面這篇部落格 它的具體實現 如下 c include using namespace std int main num index nu...