IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

Macro en langage assembleur Mars 4.1


Sujet :

Assembleur

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 1
    Points : 3
    Points
    3
    Par défaut Macro en langage assembleur Mars 4.1
    Bonjour

    Voici une macro pour Mars 4.1 (MIPS)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    matelment $1$2,$3,$4
    sll $1,RG3,2
    add $1,$1,RG4
    sll $1,$1,2
    add $1,$1,RG2
    lw rG1,0($1)
    SVP, qui peut m'expliquer les étapes de cette macro qui permet d'extraire un élément d'une matrice ?

  2. #2
    Membre éclairé
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par snow_angel Voir le message
    Bonjour

    Voici une macro pour Mars 4.1 (MIPS)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    matelment $1,$2,$3,$4 ;ici, il faut pas oublier de separer $1 et $2 par une ,
    sll $1,RG3,2 ;
    add $1,$1,RG4
    sll $1,$1,2
    add $1,$1,RG2
    lw rG1,0($1)
    SVP, qui peut m'expliquer les étapes de cette macro qui permet d'extraire un élément d'une matrice ?
    sans connaitre l'assembleur mips, on peut constater qu'il y a un calcul puis un chargement à partir du calcul.

    mais en regardant ici -> http://www.mrc.uidaho.edu/mrc/people...al/MIPSir.html
    et ici-> http://courses.missouristate.edu/Ken...20Tutorial.doc (à la page 18).
    le calcul semble etre effectivement un calcul de position dans une table de valeurs 32 bits.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    element (RG1,RG2,RG3,RG4)
    cellule=RG3*4
    cellule=cellule+RG4
    cellule=cellule*4
    cellule=cellule+RG2
    RG1=[cellule]
     
    element (returnvalue,tablepointer,collumn,line)
    cellule=collumn*4 ;4=nombre de lignes
    cellule=cellule+line ;plus le numero de ligne
    cellule=cellule*4 ;4=taille d'un element
    cellule=cellule+tablepointer
    returnvalue=[cellule]
    donc apparement, la largeur de la matrice de 4 lignes sur X collonnes d'elements de 4 octets (ou l'inverse x lignes de 4 collones)...
    la coordonnée de la case est passée par $3 et $4
    la matrice est passée par $2 et la valeur de la case est retournée dans $1.

Discussions similaires

  1. Quel livre pour apprendre le langage Assembleur ?
    Par argon dans le forum Assembleur
    Réponses: 1
    Dernier message: 11/06/2008, 17h46
  2. Puissance du langage Assembleur - Apprentissage
    Par diaruga dans le forum Assembleur
    Réponses: 3
    Dernier message: 05/02/2008, 23h29
  3. macro en langage sql
    Par chaudier37 dans le forum Access
    Réponses: 1
    Dernier message: 01/01/2008, 18h02
  4. Coder en langage Assembleur
    Par sone47 dans le forum Assembleur
    Réponses: 7
    Dernier message: 23/05/2007, 00h18
  5. [Macros] Quel langage ou utilitaire choisir ?
    Par baba_star dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 28/09/2006, 15h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo