Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Invité régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    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

  2. #2
    Invité régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    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

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    septembre 2007
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : septembre 2007
    Messages : 5 450
    Points : 13 905
    Points
    13 905

    Par défaut

    Merci pour le retour d'info (et le bouton Résolu) ! :-)
    Bonne chance pour les examens et bonne continuation sur le site.

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •