Spim

Disponible uniquement sur Etudier
  • Pages : 6 (1494 mots )
  • Téléchargement(s) : 0
  • Publié le : 13 décembre 2010
Lire le document complet
Aperçu du document
UNIVERSITE DE LA MANOUBA ECOLE NATIONALE DES SCIENCES DE L’INFORMATIQUE

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 #le min

# sauvegarde du nouveau min # sauvegarde adresse du nouveau min

3

la $a0, str1 syscall la $a0, str syscall suite1: addiu $10, $10,4 add $9, $9, 1 bne $9, 11, suite bgt $8, $14, suite2 bge $8, $14, suite2 move $a0, $8 li $v0, 1 syscall li $v0,4 la $a0, str1 syscall move $a0,$14 li $v0, 1 syscall li $v0,4 la $a0, str syscall sw $8, ($15) sw $14, ($16) suite2: addiu $5, $5, 4 addiu$6, $6, 1 bne $6,10, deb # on passe a l'element suivant # jusqu'au 9 eme

# on afficher le vecteur de sortie li $v0,4 la $a0,str3 syscall

li $v0, 4 la $a0, str syscall suite33:la $5,T li $6,1 suite3: lw $a0, ($5) li $v0, 1 syscall Ghomrassi Amal II2F 4

li $v0, 4 la $a0, str1 syscall addiu $5,$5,4 addiu $6,$6,1 bne $6,11,suite3 li $v0, 4 la $a0, str syscall j $31

# code appel systèmepour print_str # adresse de la chaîne à afficher # print the string

# system call code for print_str # address of string to print # affichage de la chaîne

######################################################################### ############# FIN DE TRI PAR SELECTION #############

Exécution:

Ghomrassi Amal II2F

5

Tri à Bulle

Code en SPIM:######################################################################### ############# TRI A BULLE ############# #########################################################################

.data .align 4 Table: .space 24 str1: .asciiz"############################################################\n" str2: .asciiz " Implémentation de TRI A BULLE en assembleur MIPS\n" str3: .asciiz " realisée par GHOMRASSI AMAL && AFRIT MARIEM\n" str4:.asciiz "############################################################\n" msg1: .asciiz "\nDonnez un entier s'il vous plaît: " msg2: .asciiz " | " msg3: .asciiz "\n******Le Tableau saisie aprés le tri******\n\n " .text .globl main main: li $v0,4 la $a0,str1 syscall li $v0,4 la $a0,str2 syscall li $v0,4 la $a0,str3 syscall li $v0,4 la $a0,str4 syscall addi $s0,$zero,5 addi $t0,$zero,0 in: li $v0,4...
tracking img