60

oups, j'ai laissé passé tout ça ? grin
pas bien, pour la peine, je refais du 68k depuis hier grin

61

Ah bah voilà, je suis malade quelques jours, d'autres occupations (forcément moins intéressantes), je me fais le tuto chez moi peinard, je relève la faute sur les 16 bits et que vois-je ? Qu'en fait tout était déjà fait et en ligne ? Tsss... Non mais attendez-moi les gars quoi !!!! grin boing
Bon, trêve de blabla, merci GT pour les tutos et forcément... VIVEMENT LA SUITE ! smile
Atari 520 STE - 4 Mo - HxC/Floppy - CosmosEx
Atari Falcon 030 - 14 Mo - CF intégrée et disque interne IDE 40 Go - CT60 à 90 MHz 256 Mo - SuperVidel - Svethlana / Sous FreeMint/MyAES
Amiga 500/600+Vampire v2/1200+Blizzard 1260-PPC/2000 - Amstrad CPC - Sharp X68000

62

Bon allez hop, ca va être un peu plus violent sur ce coup ci :

Tuto 4 : http://www.jagware.org/~c.v.s.d.//Tuto%2068000/TUTO6804.S


GT Adressé indirectement O_o
avatar
Accrochez vous ca va être Cerebral !!

63

bien,

merci
Ccarl

64

Petite précision : pour le mode (a0,d0.w), le contenu de d0 est considéré comme signé. Donc les valeurs >= 32768 sont considérées comme négatives.
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

65

euh non.
d0.w est sign-extended sur 32-bit puis ajouté à a0.

donc si d0 = 65536 = $10000, le 68k fera +$0000.w
avatar

66

Je veux dire les valeurs de d0.w comprises entre 32768 et 65535 smile
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

67

moui mais tout élément en .w est par définition un signé sur 16-bit embarrassed
avatar

68

Merci GT et Folco pour le temps passé à rédiger ses tutos top

J'ai hâte de lire le prochain, intégration de routine asm boing

69

Super boulot, merci !

Idem j'ai hâte de lire le prochain, histoire de me rafraîchir la mémoire smile
avatar
Site perso : http://strider.untergrund.net/
Atari STF / STe / Mega STE / Falcon030 / Falcon CT60

70

Bravo les gars et merci ! Je digère les adressages (c'était le gueuleton du soir !!!) et j'attends la suite... wink
Atari 520 STE - 4 Mo - HxC/Floppy - CosmosEx
Atari Falcon 030 - 14 Mo - CF intégrée et disque interne IDE 40 Go - CT60 à 90 MHz 256 Mo - SuperVidel - Svethlana / Sous FreeMint/MyAES
Amiga 500/600+Vampire v2/1200+Blizzard 1260-PPC/2000 - Amstrad CPC - Sharp X68000

71

Merci a vous, pour les retours top

Zero et SCPCD merci pour les détails techniques, mais pour l'instant on essaie de resté 'pas trop technique', car cela est assez dure apprendre l'assembleur et pour l'instant je pense pas qu'il y est des personnes qui vont taper plus haut que 32768.

Bonne remarque de Nalfus :

; move.l #4,a0
;
; place donc 4 dans a0, vous voyez un peu le truc, c'est du direct.

Ce serait pas plutôt movea.l pour l'adressage direct ?

On utilise movea (move adress) pour tout ceux qui concerne les registres d'adresses, mais je t'avoues que coté syntaxe j'utilise toujours move (et souvent les assembleurs vont le passé en movea tout seul). Mais bien vu, a vous de faire comme bon vous semble.

; parfaitement. Si vous avez un tableau sur des longs (4 octets) vous
; empilez deux add :
;
; add.w d0,d0
; add.w d0,d0
; move.l 0(a0,d0.w), d1
;
; Tableau: dc.w 2,3,4,5,6,7,8,9
;

Petite coquille, le tableau est toujours en .w ;p

Très bien vu top Je vais corrigé la chose de suite.

Juste pour info, c'est super de nous avertir de la chose, mais hésitez pas a postez en public, car si vous avez vu une chose ou une question a posé, d'autres personnes peuvent apprendre ou avoir vu la chose. Pour moi il y a que les c...s qui posent pas de questions.
Et si on a fait une coquille et plusieurs pro de l'asm l'ont même pas vu, c'est que vous êtes plus attentif que nous wink

GT octopus
avatar
Accrochez vous ca va être Cerebral !!

72

si on veut être plus précis, "move <ea>, an" n'existe pas dans la liste des instruction car en fait avec la destination en "an", il n'y a que 2 taille valide : .w et .l, du coup motorola a différencié ce cas en créant l'opcode "movea".

Tous les assembleurs (en tout cas, je n'en ai jamais vu qui ne le faisait pas) change automatiquement "move.<w,l> <ea>, an" en "movea.<w,l> <ea>, an" et doivent refuser "move.b <ea>, an" (qui serait exécuté comme un "illegal" par le 68k).
avatar

73

(et je suis surpris que Folco ne l'ait pas vu, lui qui est un intégriste du movea tongue)
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

74

hello,

Après 2ans sans y toucher, je m'y remets depuis qques temps et je trouve la démarche très efficace.
C'est une approche très différentes des autres cours qu'on trouve sur le net.

Le tuto commence par la définition de variables, ça n'a l'air de rien comme ça mais ça rapproche l'asm des langages évolués, je n'ai vu ça dans aucun cours.

Par contre j'ai planté sur le dernier sur le dernier mode d'adressage, c'est resté, comme dit dans le tuto, très abstrait ... smile

CeL.

75

xCeLfr (./74) :
C'est une approche très différentes des autres cours qu'on trouve sur le net.
Ah ben c'est sûr, GT il est pas mal "différent"... dehors
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

76

Zero wink

XcelFR, apparement l'approche 'différente' c'est cela qui a 'tilté' Huggyone et fait cette demande, c'est sur le 'pc-relatif' c'est plutot olé olé expliqué, mais une fois qu'on a un peu pratiqué ca viendra.

Juste je ne suis pas le seul a faire vivre le sujet, ne pas oublié mon ami Folco et tout ceux qui relisent et corrigent (Nallfus, Zero, SCPD, etc... si j'en oublie faite moi signe). Sinon ce sujet serait mort depuis longtemps !!


GT Pas tout seul groupe king
avatar
Accrochez vous ca va être Cerebral !!

77

C'est vrai que c'est ce qui m'a plu. Je suis à côté de ça les cours de Cosmos et Lexomil qui eux viennent hanter le forum d'Amiga Impact (même si Cosmos semble avoir mis de côté ses tutos, il trouvait ne pas avoir assez de retours... Bon, c'est comme ça !). Les cours de Cosmos étaient bien aussi (étape par étape, vraiment bien clair) mais vu qu'il a abandonné... Quant à Lexomil, ce qui plait c'est qu'il part direct dans des exemples styles démos, mini-jeu (dont un joli "remake" de SOTB pour ST mais qui souffrait de finition du fait qu'il n'avait pas de vrai ST sous la main...) et puis il passe de l'Amiga au ST d'un cours à l'autre, sympa quoi.
Bref, j'aime toutes ces approches, et celle de GT est vraiment abordable pour tous (ce qui était le cas de Cosmos aussi). Les tutos de Lexomil demandent d'avoir un peu d'antécédents sur l'assembleur... Mais du coup, les tutos de GT m'aident à comprendre ceux de Lexomil ! Bref, c'est la fête !!!

En tout cas, merci à tous ceux qui nous permettent de progresser là-dessus, je sais bien que ça prend du temps à faire. smile

A bientôt tout le monde en tout cas ! grin
Atari 520 STE - 4 Mo - HxC/Floppy - CosmosEx
Atari Falcon 030 - 14 Mo - CF intégrée et disque interne IDE 40 Go - CT60 à 90 MHz 256 Mo - SuperVidel - Svethlana / Sous FreeMint/MyAES
Amiga 500/600+Vampire v2/1200+Blizzard 1260-PPC/2000 - Amstrad CPC - Sharp X68000

78

SCPCD (./72) :
si on veut être plus précis, "move <ea>, an" n'existe pas dans la liste des instruction car en fait avec la destination en "an", il n'y a que 2 taille valide : .w et .l, du coup motorola a différencié ce cas en créant l'opcode "movea".

Effectivement, mais il y a aussi une autre raison, c'est que movea ne touche pas aux flags, alors que move les modifie.
A noter que si vous écrivez move, mais que l'assembleur doit transformer ce dernier en movea, les flags ne seront pas modifiés, c'est évidemment ce qui est assemblé qui est important, pas ce que vous écrivez paresseusement.
Comme quoi, il y a un intérêt à bien écrire ses movea/adda/cmpa/suba, et toutes les variantes en i/m. wink
Zerosquare (./73) :
(et je suis surpris que Folco ne l'ait pas vu, lui qui est un intégriste du movea tongue)

J'ai laissé coulé, c'est un tuto n°4, pas un cours d'approfondissement, il y a des concepts à saisir en priorité cheeky

79

Salut les jeunes ! smile
Alors... une suite pour ces bons tutos du Docteur GT ? grin C'est que là, l'automne est entré et il va falloir qu'on reste au chaud avec nos 68000... grin
Atari 520 STE - 4 Mo - HxC/Floppy - CosmosEx
Atari Falcon 030 - 14 Mo - CF intégrée et disque interne IDE 40 Go - CT60 à 90 MHz 256 Mo - SuperVidel - Svethlana / Sous FreeMint/MyAES
Amiga 500/600+Vampire v2/1200+Blizzard 1260-PPC/2000 - Amstrad CPC - Sharp X68000

80

huggyone76 (./79) :
Salut les jeunes ! smile
Alors... une suite pour ces bons tutos du Docteur GT ? grin C'est que là, l'automne est entré et il va falloir qu'on reste au chaud avec nos 68000... grin


on attend, cette année GT n'a pas (encore) cassé d'ami-gars wink
jchn

81

Salut,

Auriez-vous les liens des cours car l'url sur jagware est cassée ?
avatar

82

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

83

Merci à toi smile
avatar