Assembleur vax

crazyghandi Messages postés 323 Statut Membre -  
Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Existe t-il un rotate (decalage des bits un a un a dr ou ga) dans le jeu d'instructions du vax ?

l'operation consisterai en le stockage de constants (ex 1 3 2 7 5) dans un registre

et pouvoir effectuer par exemple 3 rotate right qui donnerai : 2 7 5 1 3

merci d'avance

crazyghandi
Configuration: Windows Vista
Opera 9.50

7 réponses

  1. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    bonjour,

    sois je n'ai pas bien tout compris, sois tu t'es planté....
    tu veux faire un rotate bit a bit de 1 3 2 7 5 qui donnerai 2 7 5 1 3

    moi ce que je vois, c'est que la, tu n'opères pas sur des valeurs binaires (contenues dans un octet, ou dans une variable de taille plus grande), mais que tu fais une sorte de rotate sur des décimaux....

    je ne pense pas qu'aucun proc ne gère ca ..
    0
    1. crazyghandi Messages postés 323 Statut Membre 19
       
      merci beaucoup pour ta reponse

      je pense que tu as raison

      peut etre puis-je faire une valeur par case memoire ?
      savez vous combien on peut stocker dans un registre ?

      et peut on facilement manipuler les registres pour faire ce rotate ?

      merci d'avance
      0
  2. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    je te conseillerai de faire ce qu'on appelle une liste chainée en C: (a toi de te débrouiller poru l'assembleur)

    struct element
    {
    int valeur;
    element* suivant;
    };

    chaque élément connaissant le suivant
    et tu fais une méthode qui prend le dernier et le met en premier, ou alors met le premier à la fin... il n'y a cas changer quelques pointeurs à chaque fois
    0
  3. crazyghandi Messages postés 323 Statut Membre 19
     
    aaah j'y avais franchement pas pensé et je connais bien les malloc et listes chainees en c

    je vais essayer ca je posterai les resultats a fur et a mesure

    encore merci
    0
  4. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    ok. Car ce n'est pas du bit à bit que tu veux faire, mais plutot une rotation de nombre dans un tableau ;)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. crazyghandi Messages postés 323 Statut Membre 19
     
    bon au final je traite mon tableau case par case
    en incrementant la colonne du curseur et en utilisant
    des read_from_display

    comme je suis amene a faire ca souvent je voudrais faire une macro
    mais au lieu de faire passer les 7 char a recuperer je voudrais les mettre dans une structure

    comment declare t on une structure sil vous plait et comment en appel t on les elements ?

    merci d'avance
    crazyghandi
    0
  7. kryoportail Messages postés 230 Statut Membre 125
     
    Salut,

    J'ai consulté rapidement la page : https://fr.wikipedia.org/wiki/VAX

    Mais ça me dit pas à quoi ça ressemble !!??? Je connais pas ce processeur, c'est un processeur utilisé dans de vieux ordi, c'est ça !???

    Note : c'est juste pour enrichir ma culture G !!...
    Enfin comme les autres quand on parle de rotation en assembleur, c'est sur une valeur binaire...
    00010000 -> 00100000 (pour un registre 8bits, décalage à gauche)
    Sur certain processeur (le 68hc11 par exemple, il est possible de faire tomber le bit qui disparay dans une 'carry', pour etre utilisé apres... pour faire un teste par exemple...)

    Amicalement,
    S@M...
    0
    1. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
       
      décalage de 1 vers la gauche: multiplication du nombre par 2 (la base) ;)
      en base 10, un décalage vers la gauche -> multiplication par 10
      0
  8. crazyghandi Messages postés 323 Statut Membre 19
     
    en effet je m'etais trompe au debut en confondant avec l'assembleur machine

    le vax est un jeu d'instruction proc, gestion de registres etc un peu different et c'est vrai que c'est antique comme technologie

    quelqu'un peut nous eclairer sur la structure ?

    merci
    0