1

yop,

Je m'adresse ici particulièrement à GoldenCrystal

Dans ton excellent tableau des opcodes 68000 (merci encore !), il y a deux possiblités pour les instructions citées dans le titre :
ASd <ea> et ASd <imm>,dn

Est-ce qu'il ne manquerait pas une ligne pour ASd dx,dy ? Quelque chose qui fait que quand on a le bit M à 1 (rotation par registre), on a pas un immédiat dans l'opcode, mais un registre Dn encodé ? Ca devrait pas faire l'objet d'une entrée supplémentaire dans ton tableau ? Parce qu'on est en présence d'une instruction différente en fait.

Pour référence, le 68kPM.pdf, page 126

2

Call : GoldenCrystal appelé(e) sur ce topic...

3

Bon, je viens de mettre 10 min à comprendre, mais du coup non, je ne pense pas qu'il y ait d'erreur à ce niveau:

Tu as le tableauRotation
M
Immediate0
Register1

Qui est fait spécialement pour indiquer les possibilités d'avoir soit un registre soit une valeur immédiate ^^
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

4

Han, je comprends, la rotation en bleu indique que c'est la place du registre (emplacement tout à fait standard d'ailleurs), je croyais que c'était spécifiquement un immédiat. Vu comme ça ok. smile
Au fait, petit cours d'histoire, comment t'est-il venu de faire ce tableau, c'est une belle tranche de bravitude quand même ^^

5

Comment il m'est venu de faire ce tableau ?
Honnêtement, je sais plus trop.
Déjà, par inspiration de documents similaires sur l'ARM.
Ensuite, c'est soit parce que je voulais coder un assembleur, soit parce que je voulais coder un émulateur, soit les deux en même temps. Là, c'est très flou embarrassed
En fait je trouve que la plupart des docs sur les CPU, même lorsqu'elles sont complètes (et c'est rare), sont dans un format merdique et totalement inutilisable pour en faire quoi que ce soit.
Le but du coup, c'est pas de remplacer la documentation (y'a aucune doc sur la fonction des opcodes dans mon tableau par exemple), mais au moins de la complémenter en synthétisant toutes les informations sur les opcodes au même endroit tongue
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

6

Et je te confirme que c'est vraiment génial. Le 68kPM me sert pour les modes d'adressage autorisés, mais ton tableau est d'une clarté sans commune mesure avec ce que Motorola propose pour le codage des instructions. Ce qu'ils donnent est tout à fait complet, mais bien moins lisible.

Au passage, j'ai découvert que LSd/ASd <ea> fait une rotation d'un bit en mémoire, sur un word, j'ignorais cheeky

7

La doc de motorola n'est pas la pire sur le sujet..

Essayez la doc d'intel grin
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

8

Quoi, elle est très bien embarrassed
Tu veux que j'aille chercher Azrael ?
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

9

Folco (./6) :

Au passage, j'ai découvert que LSd/ASd <ea> fait une rotation d'un bit en mémoire, sur un word, j'ignorais cheeky


C'est inscrit dans la doc de Motorola, oups non tongue Ca je le savais, car j'utilisais ce genre d'instruction pour scroller l'écran sur un Atari ST smile


GT Shifté !!
avatar
Accrochez vous ca va être Cerebral !!