30

Au début, tu fais un move.b (a0)+,d0 pour lire ton octet.


C'est tellement logique. roll
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

31

geogeo :
Une division est plus rapide qu'une rotation, je sais c'est différent mais c'est pour savoir. smile

Certainement pas. Si tu peux la faire avec un décalage, c'est la même vitesse, sinon c'est plus lent.
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é

32

D'accord. Donc ça change rien.
Donc tu me conseil d'utiliser aussi ta méthode pour le mode en 4 bits?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

33

Avec ma méthode, ça va te prendre 8 cycles par bit (et cela que tu travailles en 1, 2 ou 4 (ou 8 grin, mais il faut être ... pour copier 8 bits de cette manière grin) bits), donc 64 cycles en tout. Je pense qu'on puisse faire mieux avec du masquage.
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é

34

Un lsl.b #4,dn va te prendre 12 cycles, un andi.w #15,dn 8 cycles. Ça va être nettement plus rapide à mon avis.
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é

35

Combien ça prend de cycles:

move.b bitn,d0
btst d0,(a0)
addq.b #1,bitn

Je pense que pour du 1 bit c'est très rapide?

Bref, merci pour tout ça, je t'asure avant de commencer j'avais besoin de toutes ses infos. smile
Mais j'aurais préférer avoir plusieurs avis. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

36

Un lsl.b #4,dn va te prendre 12 cycles, un andi.w #15,dn 8 cycles. Ça va être nettement plus rapide à mon avis.


Y a pas photo. grin
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

37

move.b bitn,d0 -> 12 (PC-relatif) ou 16 (absolu)
btst d0,(a0) -> 8
addq.b #1,bitn -> 20
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é

38

Et au lieu de me demander, va récupérer une table de cycles Motorola 68000. Il y en a à plusieurs endroits sur Internet, dont ticalc.org. Moi aussi, je ne fais que regarder la table pour répondre à ce genre de questions, je ne connais que très peu de timings par cœur.
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é

39

move.b bitn,d0 -> 12 (PC-relatif) ou 16 (absolu)
btst d0,(a0) -> 8 addq.b #1,bitn -> 20


Ouah tant que ça.
Et au lieu de me demander, va récupérer une table de cycles Motorola 68000. Il y en a à plusieurs endroits sur Internet, dont ticalc.org. Moi aussi, je ne fais que regarder la table pour répondre à ce genre de questions, je ne connais que très peu de timings par cœur.


Je vais faire ça et vu ce que tu me dis, je crois que je vais devoir optimiser à fond. sad
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

40

geogeo
:
move.b bitn,d0 -> 12 (PC-relatif) ou 16 (absolu)
btst d0,(a0) -> 8 addq.b #1,bitn -> 20

Ouah tant que ça.

C'est la lecture/écriture de bitn en mémoire qui est lente. En plus, avec de l'adressage absolu (ou PC-relatif), le processeur est obligé de lire l'adresse (ou l'offset) en mémoire avant de pouvoir accéder à la mémoire pour y lire/écrire bitn. L'adressage en (an) est beaucoup plus rapide, donc si tu fais un lea bitn,a0, ça ira déjà un peu mieux. Mais le lea prend quand-même 8 (PC-relatif) ou 12 (absolu) cycles, et il faut aussi compter la sauvegarde/restauration de l'adresse, donc j'ai peur que ce soit contre-productif.
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é

41

Malheuresement comme tu le sais ma librairie travail énormément avec des variables de ce genre et je sais que c'est très lent comparé aux registres... or je ne peux faire autrement.
Comme tu le sais je fait le maximum pour gagner en vitesse (très très important car ma librairie c'est quand même du 'multitâches') mais aussi en mémoire car une librairie supérieure à 10 ko est assez mal vu pour ce cas.

Là je pense écrit de mon mieux un code optimiser et fonctionnel puis à la fin faire une vrai optimisation avec les connaissances que j'ai. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.