Spim
sujet
Tri des tableaux en Spim
Tri par sélection
Code en SPIM:
######################################################################### ############# TRI PAR SELECTION ############# #########################################################################
.data str: .asciiz "\n" str1: .asciiz " | " str3: .asciiz "\n******Le Tableau saisie aprés le tri******\n" str4: .asciiz "\n******Le Tableau saisie avant le tri******\n\n" CH1: .asciiz"############################################################\n" CH2: .asciiz " Implémentation de TRI PAR SELECTION en assembleur MIPS\n" CH3: .asciiz " realisée par AFRIT MARIEM && GHOMRASSI AMAL\n" CH4: .asciiz"############################################################\n"
# T est le tableau qu'on veut trier T: .word 6 .word 8 .word 4 .word -3 .word 2 .word 9 .word 0 .word -1 .word -2 .word -3 .text .globl main main: li $v0,4 la $a0,CH1 syscall li $v0,4 la $a0,CH2 syscall li $v0,4 la $a0,CH3 syscall Ghomrassi Amal II2F
2
li $v0,4 la $a0,CH4 syscall
# On affiche le vecteur en entree du probleme #afficher str4 li $v0,4 la $a0,str4 syscall
la $5,T li $6,1 suite0:lw $a0,($5) li $v0, 1 syscall li $v0, 4 la $a0, str1 syscall addiu $5,$5,4 addiu $6,$6,1 bne $6,11,suite0 li $v0, 4 la $a0, str syscall syscall
# system call code for print_str # address of string to print # print the string
# system call code for print_str # address of string to print # print the string
######################################################################### ############# ON COMMENCE LE TRI PAR SELECTION ############# ######################################################################### la $5,T li $6,1 deb: lw $8,($5) lw $14,($5) la $15, ($5) move $9,$6 addiu $9, $9,1 la $10, ($5) la $11, ($5) addiu $10, $10,4 suite: lw $12, 0($10) blt $8, $12, suite1 lw $8, ($10) la $16, ($10) move $a0, $8 li $v0, 1 syscall li $v0, 4 Ghomrassi Amal II2F #