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

Autres architectures Assembleur Discussion :

[MIPS] Syntaxe difficile à comprendre


Sujet :

Autres architectures Assembleur

  1. #1
    Membre du Club
    Homme Profil pro
    Etudiant-Benevole pour Electronic-MasterX
    Inscrit en
    Janvier 2015
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Islande

    Informations professionnelles :
    Activité : Etudiant-Benevole pour Electronic-MasterX
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2015
    Messages : 70
    Points : 44
    Points
    44
    Par défaut [MIPS] Syntaxe difficile à comprendre
    Bonsoir,

    j'aimerai savoir ce que signifie cette notation PC:=PC(31:28) en allant du fait que PC est Program Counter. en fait ce que je ne comprends pas est le 31:28

    merci de répondre

  2. #2
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Points : 10 188
    Points
    10 188
    Par défaut
    J'imagine que c'est pour le MIPS.
    Par exemple pour le Jump ,on gros c'est pour dire qu'il lit en 28 bits le jump (l'offset est de 26 bits mais il le décale de 2 vu que les opcodes en MIPS valent tous 32 bits).

  3. #3
    Membre du Club
    Homme Profil pro
    Etudiant-Benevole pour Electronic-MasterX
    Inscrit en
    Janvier 2015
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Islande

    Informations professionnelles :
    Activité : Etudiant-Benevole pour Electronic-MasterX
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2015
    Messages : 70
    Points : 44
    Points
    44
    Par défaut
    exactement je tire ceci de l'execution du jump ce que je ne comprends pas d'ailleurs.

    j'ai lu que lors de l'execution du jump il y'a ceci qui s'execute: PC=PC(31:28) & IR(25:0) & "00"

    pourrais tu s'il te plait m'expliquer ce que ça signifie

  4. #4
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Points : 10 188
    Points
    10 188
    Par défaut
    Je pense que la doc que tu as est plutôt mauvaise.
    Normalement c'est (sur mes 2 doc du MIPS):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PC = PC(31..28) || offset || 0²
    Et la c'est plus clair , en gros le PC est égal a PC du bit 28 à 31 || offset || 0².

    Donc on gros le PC est égal a l'offset (sauf si y'a modification des bits 28 à 63 du PC).
    Mais l'instruction jump lui ne copie que les 31 premiers bits.

    Mais si tu veux mon avis tout ça c'est des "détails" , tu devrait codé en MIPS tu comprendrait plus facilement les instructions et leur effet.

  5. #5
    Membre du Club
    Homme Profil pro
    Etudiant-Benevole pour Electronic-MasterX
    Inscrit en
    Janvier 2015
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Islande

    Informations professionnelles :
    Activité : Etudiant-Benevole pour Electronic-MasterX
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2015
    Messages : 70
    Points : 44
    Points
    44
    Par défaut
    c'est justement le truc ici. le but ce n'est pas de programmer en MIPS mais de comprendre ce qui se passe lors de l'execution des instructions. donc c'est exactement devant ces détails que je devrais répondre.

    comme puis je faire pour obtenir tes deux docs?

    et je ne sais pas pour ta doc mais je pense que quand on fait PC := PC(31:28) & IR(25:0) & "00" c'est en fait pour pouvoir consolider les 32bits qui iront dans le PC et dans ta doc y'a plutôt des || et tu dis que le PC aura toujours l'offset sauf exception. mais l'offset est codé sur 16bits et si le PC doit prendre sa valeur on fera obligatoirement un zero_extend pour l'agrandir sur 32bits

    https://www.cs.umd.edu/class/sum2003...all/pc_ir.html

  6. #6
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Points : 10 188
    Points
    10 188
    Par défaut
    Pour les doc je t'en avais deja passé une celle ci : http://groups.csail.mit.edu/cag/raw/...n_book_Ed2.pdf
    L'autre je ne peux pas de la passer , vu que c'est une doc confidentiel ( c'est la doc officiel de la Playstation 2 pour son processeur l'Emotion Engine).

    non l'offset est sur 26 bits , ( mais il y'a un decalage de 2 vers la gauche) donc équivalent a 28 bits.
    On gros pour le jump (avec une syntaxe C) : PC = PC&0xF0000000 || offset<<2 || (0*0);
    Qu'on peut remplacer de manière simplifier PC = PC&0xF0000000 + (offset<<2);

    L'assembleur pour moi c'est le truc vraiment pas théorique x)

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

Discussions similaires

  1. Syntaxe difficile a comprendre
    Par moncef357 dans le forum Fortran
    Réponses: 1
    Dernier message: 29/07/2011, 15h18
  2. Prototype de fonction difficile à comprendre
    Par Nono Sto dans le forum Débuter
    Réponses: 15
    Dernier message: 21/01/2011, 15h36
  3. [Oracle8i] Utilisation d'index difficile à comprendre
    Par Drizzt [Drone38] dans le forum SQL
    Réponses: 2
    Dernier message: 03/03/2008, 16h59
  4. Comprendre la syntaxe des triggers
    Par berceker united dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 02/06/2006, 17h13
  5. [langage] comprendre une syntaxe particulière
    Par mat21 dans le forum Langage
    Réponses: 4
    Dernier message: 08/12/2004, 19h12

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