1

Je déclarre une fonction qui demandeun paramètre par d0 come ça:
__attribute__((regparm)) extern void SetTempo_voice1 (unsigned short asm("d0"));

Lorsque j'écrit dans le code SetTempo (120); dans le fichier généré par TIGCC j'obtient: moveq.l #120,d0. Pourquoi moveq.l et non moveq.w?
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.

2

heu moveq.l et moveq.w n'existe pas c'est moveq tout court il me semnle (ca erase tout le reg)

3

D'accord, mais alors pourquoi moveq car 120>16 donc supérieur à 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.

4

oui, le moveq envoie un octet dans un long

5

geogeo
: D'accord, mais alors pourquoi moveq car 120>16 donc supérieur à 4 bits?

moveq est sur 8 bits (signés, donc de -128 à +127).
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é

6

D'accord, ça m'arrange bien. wink
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.

7

Pour autant qu'il me semble, moveq est en principe la syntaxe standard. moveq.l est la seule formulation correcte de moveq si on veut mettre une taille, ce que fait GCC.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

8

8 bits != d'un octet ?
je dois parler dans le vide alors ...

9

En plus de mettre un octet dans dn, moveq fait un extb, opération qui n'existe que sur 68020 ou plus pour autant qu'il me semble.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

10

oui, il met un octet dans un long ....

11

geogeo> parce qu'il optimise.
Un move.w #120,d0 aurait été plus lent et plus gros.