Précédent   Forum du club des développeurs et IT Pro > Autres langages > Assembleur > Autres architectures
Autres architectures Toutes les autres architectures (PIC, MIPS, ARM, 68K, Z80...) et leurs outils
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 21/11/2012, 20h24   #1
casimirmasque
Invité régulier
 
Homme
Étudiant
Inscription : novembre 2012
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Vosges (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2012
Messages : 2
Points : 5
Points : 5
Par défaut MIPS -Affichage string mais avec code 11

Bonjour,

je suis étudiant et j'ai un exercice de MIPS qui me pose problème parce que je n'ai pas encore tout capté.
C'est un exercice classique qui propose d'afficher une chaîne de caractère....mais caractère par caractère (code système 11 et pas 4)

Pour l'instant j'ai écrit cela:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
.data
string: .asciiz "afficher une chaine avec le code 11"
.text
main :
# Fonction Copie zone mémoire
# $a0 adresse zone mémoire de string
# $a1 >0 taille de la zone mémoire
la $a0, string
lb $a1, 0($a0)
 
#iteration des caracteres
Tantque :
beq $a0,0, finTantque
lb $t0, 0($a0)
addi, $a0, $a0, 1
addi $a1, $a1, -1
li $v0,11
syscall
j Tantque
 
#fin
finTantque:
addi $v0 , $zero , 10
syscall

Evidemment cela ne marche pas.
Questions: 1-Dois-je initialiser la mémoire? Si oui pourquoi?
2-que signifie le 0 dans 0($a0)?
3-Quelle autre grosse erreur ai-je commise?

Merci d'avance car je patauge grave

jl
casimirmasque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2012, 13h48   #2
casimirmasque
Invité régulier
 
Homme
Étudiant
Inscription : novembre 2012
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Vosges (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2012
Messages : 2
Points : 5
Points : 5
Par défaut cest bon j' ai trouvé

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
.data
string: .asciiz "afficher une chaine avec le code 11\n"
.text
main :
la $t0, string
lb $a0, 0($t0)
 
Tantque :
beq $a0,0, finTantque
 
 
li $v0,11
syscall
addi $t0, $t0, 1
lb $a0, 0($t0)
j Tantque
 
finTantque:
addi $v0 , $zero , 10
syscall
casimirmasque est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 22/11/2012, 16h15   #3
Obsidian
Modérateur
 
Avatar de Obsidian
 
Homme
Chercheur d'emploi
Inscription : septembre 2007
Messages : 4 614
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 36
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Chercheur d'emploi
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2007
Messages : 4 614
Points : 11 078
Points : 11 078
Merci pour le retour d'info (et le bouton Résolu) ! :-)
Bonne chance pour les examens et bonne continuation sur le site.
Obsidian est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 05h06.


 
 
 
 
Partenaires

Hébergement Web