π
<-

wow

Discussions diverses, débats, sondages, parler de tout et de rien... mais en restant plutôt sérieux.

Re: wow

Message non lude tama » 23 Nov 2010, 16:54

Hm, apu souvenirs de mes cours de 68k de l'année dernière, c'est quoi dbf ?
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
Avatar de l’utilisateur
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 40.9%
 
Messages: 10995
Inscription: 19 Déc 2005, 00:00
Localisation: /dev/null mais je survis :)
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: wow

Message non lude Lionel Debroux » 23 Nov 2010, 18:35

dbf (parfois incorrectement appelé dbra) est Decrement and Branch until False, c'est à  dire tant que les 16 LSB du registre de données argument de cette instruction ne valent pas 0 au moment de l'exécution du dbf :):
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.4%
 
Messages: 6875
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: wow

Message non lude Loulou 54 » 24 Nov 2010, 18:48

Lionel Debroux a écrit:Désolé de ne pas avoir répondu plus tôt :;):
Pour attendre quelques microsecondes, il faut fortement baisser la valeur de d0 :):

Extrait de TI-Chess, attente active de n ms:
Code: Tout sélectionner
void WaitForMillis(register unsigned short asm("%d2"));

asm("xdef WaitForMillisn"
"WaitForMillis:  move.l %d3,-(%sp)n"
"           moveq  #31,%d1n"
"           moveq  #31,%d3n"
"_wl2_:     move.w #120,%d0    /* modify this value for exact timing !!! */n"
"_wl1_:     rol.l  %d3,%d1n"
"           dbf    %d0,_wl1_n"
"           dbf    %d2,_wl2_n"
"           move.l (%sp)+,%d3n"
"           rts");

120 est, d'après le commentaire, fait pour les vieilles HW1 produites avant 2000. Les HW2/HW3/HW4, qui sont un peu plus rapides, nécessitent des valeurs de d0 un peu plus élevées.
Et avec 12 ou 13 au lieu de 120, on a une attente d'environ 100 us.


Peut tu m'en dire plus sur comment utiliser ce code dans mon code C ? J'ai essayé ça, c'est compilé, mais ça attend un certain tps jusqu'à un LINE 1111 EMULATOR

Code: Tout sélectionner
#define USE_TI89

#include tigcclib.h
#include args.h
#include estack.h

// Main Function
void _main(void)
{
unsigned short n = 2000;

void WaitForMillis(register unsigned short asm("%d2"));

asm("xdef WaitForMillisn"
"WaitForMillis:  move.l %d3,-(%sp)n"
"          moveq  #31,%d1n"
"          moveq  #31,%d3n"
"_wl2_:    move.w #120,%d0n"
"_wl1_:    rol.l  %d3,%d1n"
"          dbf    %d0,_wl1_n"
"          dbf    %d2,_wl2_n"
"          move.l (%sp)+,%d3n"
"          rts");
}


Dis moi donc comment utiliser ça de telle sorte que ça attende pendant un nombre de microsecondes ou de centaine de microsecondes n !
Merci bien ! :#top#:
Mes programmes => ici !
Avatar de l’utilisateur
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 1.7%
 
Messages: 1988
Images: 8
Inscription: 02 Aoû 2009, 00:00
Localisation: 54, près de Metz
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ingé Logiciel chez Amazon

Re: wow

Message non lude Lionel Debroux » 25 Nov 2010, 08:44

Mets WaitForMillis hors de _main.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.4%
 
Messages: 6875
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Précédente

Retourner vers Autres discussions

Qui est en ligne

Utilisateurs parcourant ce forum: PerplexityBot [spider] et 12 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
3525 utilisateurs:
>3502 invités
>15 membres
>8 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)