π
<-

wow

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

Re: wow

Unread postby 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.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40.9%
 
Posts: 10995
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile

Re: wow

Unread postby 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.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.4%
 
Posts: 6875
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: wow

Unread postby Loulou 54 » 24 Nov 2010, 18:48

Lionel Debroux wrote: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: Select all
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: Select all
#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 !
User avatar
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 1.7%
 
Posts: 1988
Images: 8
Joined: 02 Aug 2009, 00:00
Location: 54, près de Metz
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingé Logiciel chez Amazon

Re: wow

Unread postby 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.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.4%
 
Posts: 6875
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Previous

Return to Autres discussions

Who is online

Users browsing this forum: ClaudeBot [spider] and 15 guests

-
Search
-
Social TI-Planet
-
Featured topics
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
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2699 utilisateurs:
>2674 invités
>18 membres
>7 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)