1

Voila, je voulais optimiser une routine en remplacant:
moveq #0,d0
...
moveq #0,d6
movem.w (a1)+,d0-d6

a1 pointe sur:
%11000000,%0000011
%11000000,%0000011
%11000000,%0000011
%11000000,%0000011
%11000000,%0000011
%11000000,%0000011
%11000000,%0000011
%11000000,%0000011
...


oir il se trouve que apres le movem, on a :
d0= %11111111,%11111111,%11000000,%00000011
d1 %11111111,%11111111,%11000000,%00000011
d2 %11111111,%11111111,%11000000,%00000011
d3 %11111111,%11111111,%11000000,%00000011
d4 %11111111,%11111111,%11000000,%00000011
...


N'est ce pas le mystere movem.w ?
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

2

si g bien copmpris ton pb (partie haute des regs louche) ça doit etre parce que movem.w detruit le word de pds fort des regs. c normal je crois. en tous cas c connu.

3

C'est pas un bug, movem.w a toujours fonctionne comme ca.
Aux grands desespoirs des programmeurs asm sad

4

... et de tous ceux qui utilisent OSContrastUp et OSContrastDown, qui utilisent movem.w pour sauvegarder d3 et d4. roll

Dans TIGCC, on utilise un wrapper qui sauvegarde d3 et d4 correctement.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

5

Dans ce cas pkoi ne pas se contenter d'un movem.l ?
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

6

vi, ce serait pratique pour les routines de sprites (entre autre) si movem.w n'étendait pas le signe de registres...
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

7

Link
a écrit : Dans ce cas pkoi ne pas se contenter d'un movem.l ?

Parce que les ingénieurs de TI ne savaient pas que movem.w ne fait pas ce qu'ils attendaient. grin
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

8

Faut dire que je ne suis pas le mieux placé moi je n'utilise le movem que pour sauver et rappeler les registres dans un sous-programme
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

9

bah c'est l'utilisation la plus courante. Pourquoi dis-tu ça confus
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

10

Parce qu'on ne sauvegarde pas la moitié des registres donc on n'utilise que movem.l
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

11

ok triso
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

12

Si nôtre routine ne se sert que des words, alors un movem.w qui marche correctement ce serait bien, vu que
1) on occupe moins le stack (pas très inportant)
2) les instructions en ram qui utilisent des w au lieu des l sont presque 2 fois plus vite
Boogerman

Bouger, travailler, manger et se reposer, c'est la devise de la tortue!

13

oui sad
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.