Assembleur vax

crazyghandi Messages postés 323 Statut Membre -  
Nabla's Messages postés 20731 Statut Contributeur -
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
A voir également:

7 réponses

Nabla's Messages postés 20731 Statut Contributeur 3 194
 
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
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
Nabla's Messages postés 20731 Statut Contributeur 3 194
 
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
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
Nabla's Messages postés 20731 Statut Contributeur 3 194
 
ok. Car ce n'est pas du bit à bit que tu veux faire, mais plutot une rotation de nombre dans un tableau ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
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
Nabla's Messages postés 20731 Statut Contributeur 3 194
 
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
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