Rechercher
Connexion
Chatbox externe
Derniers sujets
Partenaires
TI-Planet | Espace-TI : Forum |
Faire un don à Tout-82...
Où va cet argent ?
Membres donateurs:- Persalteas (10€)
- Wistaro (5€)
- jo2geek (22€)
Les posteurs les plus actifs du mois
Aucun utilisateur |
Cherche documentation assembleur TI82stat
5 participants
Page 3 sur 3
Page 3 sur 3 • 1, 2, 3
Re: Cherche documentation assembleur TI82stat
Par ailleurs il faut s'assurer que le codage et les opérations sont de signe adéquat. Par exemple ne pas confondre -128 (en complément à deux) et +128 (en naturel) car les deux sont codés %1000_0000.
Linkakro- ----------------------
- Messages : 533
Date d'inscription : 30/07/2013
Re: Cherche documentation assembleur TI82stat
Justement Linkakro, je parle de ça : puisque le nombre est convertit en binaire, il compare les deux et comme 128 est égal à 255 (heu, je crois, je n'ai pas vérifié) si on met 150, la calculatrice va mettre moins car c'est le nombre qui se rapproche le plus... je ne sais pas si je me suis fait comprendre, j'ai du mal à m'exprimer ^^
Oui oui, je sais que les registre 8 bits vont de 0 à 255 puisque %11111111 = 255.
Oui oui, je sais que les registre 8 bits vont de 0 à 255 puisque %11111111 = 255.
Clarsis- Invité
Re: Cherche documentation assembleur TI82stat
Bah déjà en premier lieu ça dépend de ta routine d'input, pour savoir comment tu récupère le nombre saisi.
Mais en aucun cas 128=255... (128 = %10000000 et 255=%11111111=-1)
C'est -128=128=%1000000 comme le signale linka, dans le premier cas le registre est signé (il peut être positif/négatif) et dans le second il est non signé (unsigned = positif).
Donc si tu compare 255 (dans a) à 150 tu obtiens dans f que c'est positif, et si tu compare 128 (ou -128) à 150 tu obtiens (toujours par rapport à f) que c'est négatif.
Je ne vois pas ton problème puisque ça ne peut qu'être positif de toute façon dans un +/-...
Et que le nombre soit converti en binaire ou pas ne change rien ici: d'ailleurs il est juste stocké en binaire, pas vraiment converti...
Mais en aucun cas 128=255... (128 = %10000000 et 255=%11111111=-1)
C'est -128=128=%1000000 comme le signale linka, dans le premier cas le registre est signé (il peut être positif/négatif) et dans le second il est non signé (unsigned = positif).
Donc si tu compare 255 (dans a) à 150 tu obtiens dans f que c'est positif, et si tu compare 128 (ou -128) à 150 tu obtiens (toujours par rapport à f) que c'est négatif.
Je ne vois pas ton problème puisque ça ne peut qu'être positif de toute façon dans un +/-...
Et que le nombre soit converti en binaire ou pas ne change rien ici: d'ailleurs il est juste stocké en binaire, pas vraiment converti...
m@thieu41- ----------------------
- Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Cherche documentation assembleur TI82stat
J'ai testé sur émulateur et en effet _Random semble servir à donner un nombre aléatoire entre 0 et 1 dans OP1 (du moins la valeur de OP1 change-t-elle de manière apparemment aléatoire et vaut toujours un nombre inférieur à 1 donc c'est probablement ça).
Une des conséquences c'est que le registre a contient, après cette rom call, un nombre lui aussi aléatoire mais compris entre 0 et 255 (b n'entre pas en compte).
En effet, j'ai testé:
0->NbrAléat
NbrAléat
Résultat: 0.9435974025
Puis:
0->NbrAléat suivi d'un appel à la rom call _Random via un prgm asm:
Avant la rom call, OP1 = 0, après OP1 = 0.94359740249213.
Suite à ça, NbrAléat = .9083...
Donc j'en déduis que _Random est la fonction qui génère des nombres aléatoires en ti basic.
Elle ne dépends donc pas de b.
Une des conséquences c'est que le registre a contient, après cette rom call, un nombre lui aussi aléatoire mais compris entre 0 et 255 (b n'entre pas en compte).
En effet, j'ai testé:
0->NbrAléat
NbrAléat
Résultat: 0.9435974025
Puis:
0->NbrAléat suivi d'un appel à la rom call _Random via un prgm asm:
Avant la rom call, OP1 = 0, après OP1 = 0.94359740249213.
Suite à ça, NbrAléat = .9083...
Donc j'en déduis que _Random est la fonction qui génère des nombres aléatoires en ti basic.
Elle ne dépends donc pas de b.
m@thieu41- ----------------------
- Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Cherche documentation assembleur TI82stat
Ne te fatigue pas à ce point. Il y a juste trois routines dédiées aux aléatoires du TI-Basic. Je confirme que _Random sert à générer l'aléatoire de la fonction rand/NbrAléat dans OP1.
C'est écrit dans le SDK de la TI83plus. Dans la rubrique SDK, consultez "systemroutines".(leur site classe quand-même très mal ses ressources) (ce lien direct risque d'être temporaire)
_Random equ 50B6h
_Storand equ 50BAh
_RandInit equ 50BEh
Voici une discussion contenant des observations, conclusions, et fantasmes qui concernent l'aléatoire du TI-Basic. Les routines sont justement mentionnées.
Une autre discu.
Les effets exacts des routines sont en revanche mal compris à ce jour (dans la communauté tout82/espace-ti). Si quelqu'un le sait, ce devrait être un expert de TI-Planet ou les hardcores de cemetech,omnimaga,brandonwilson,benryves,yarronet.
Cependant on sait que les valeurs initialisées suivent un escalier et que les données sont traitées avec un décalage des chiffres à un moment donné. (cela se voit même en TI-Basic quand on initialise avec un nombre puis son multiple par 10,100 etc car les chiffres sont décalés)
-------
Comparer deux nombres... tu dois détecter le dépassement avec les flags, pas te contenter du résultat tronqué.
Je lis la documentation Z80 des "sub", "cp" et des flags pour savoir enfin ce qui est signé ou non.
Ma pensée est : tu soustraits à l'accumulateur puis tu analyses le flag Zero puis Carry ou PV. Pas besoin de S (signe négatif des nombre signés) qui se base sur le résultat comme un nombre signé sans savoir s'il y a eu dépassement.
Carry respecterait des nombres non-signés, et Overflow respecterait des nombres signés, d'après quelques sous-entendus du manuel Z80 et des discussions sur forums. Donc je choisis Zero et Carry.
C'est écrit dans le SDK de la TI83plus. Dans la rubrique SDK, consultez "systemroutines".(leur site classe quand-même très mal ses ressources) (ce lien direct risque d'être temporaire)
_Random equ 50B6h
_Storand equ 50BAh
_RandInit equ 50BEh
Voici une discussion contenant des observations, conclusions, et fantasmes qui concernent l'aléatoire du TI-Basic. Les routines sont justement mentionnées.
Une autre discu.
Les effets exacts des routines sont en revanche mal compris à ce jour (dans la communauté tout82/espace-ti). Si quelqu'un le sait, ce devrait être un expert de TI-Planet ou les hardcores de cemetech,omnimaga,brandonwilson,benryves,yarronet.
Cependant on sait que les valeurs initialisées suivent un escalier et que les données sont traitées avec un décalage des chiffres à un moment donné. (cela se voit même en TI-Basic quand on initialise avec un nombre puis son multiple par 10,100 etc car les chiffres sont décalés)
-------
Comparer deux nombres... tu dois détecter le dépassement avec les flags, pas te contenter du résultat tronqué.
Je lis la documentation Z80 des "sub", "cp" et des flags pour savoir enfin ce qui est signé ou non.
Ma pensée est : tu soustraits à l'accumulateur puis tu analyses le flag Zero puis Carry ou PV. Pas besoin de S (signe négatif des nombre signés) qui se base sur le résultat comme un nombre signé sans savoir s'il y a eu dépassement.
Carry respecterait des nombres non-signés, et Overflow respecterait des nombres signés, d'après quelques sous-entendus du manuel Z80 et des discussions sur forums. Donc je choisis Zero et Carry.
- Code:
ld A,100
ld B,200
cp B ; analyze A-B mod 256 ; no store
; Zero=1 if B=A
; CarrY=1 if B>A
; Carry=0 else
jr z,equal
jr c,bsupa
jr nc,asupb
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Cherche documentation assembleur TI82stat
Désolé du déterrage mais est-ce que le zip avec SPASM de la première page fonctionne aussi pour 84+?
Merci d'avance
Merci d'avance
Re: Cherche documentation assembleur TI82stat
Et existe-t-il une version de TASM stable pour windows 7?
Re: Cherche documentation assembleur TI82stat
J'essaye de te faire un zip d'ici une semaine. Je n'ai pas fais d'asm depuis 2 ans, mes souvenirs sont un peu flous
J'ai (étrangement) bien rangé mes dossiers, mais il y a soit un truc pour compiler pour ion (fonctionnel), soit un autre pour compiler plus standard, sensé produire 83p et 8xp, mais seul celui 83 marche étrangement (alors que je ne me souviens pas avoir eut un pb du type).
J'étais sous W7 à l'époque (les 2 marchaient), là je suis sur W10 et SPASM marche (TASM est trop lent de ce que je me souviens).
J'ai (étrangement) bien rangé mes dossiers, mais il y a soit un truc pour compiler pour ion (fonctionnel), soit un autre pour compiler plus standard, sensé produire 83p et 8xp, mais seul celui 83 marche étrangement (alors que je ne me souviens pas avoir eut un pb du type).
J'étais sous W7 à l'époque (les 2 marchaient), là je suis sur W10 et SPASM marche (TASM est trop lent de ce que je me souviens).
m@thieu41- ----------------------
- Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Cherche documentation assembleur TI82stat
Ah, alors je veux bien un petit zip, merci, est-ce que tu pourrais intégrer SPASM pour ti 8x dans le zip stp?
Re: Cherche documentation assembleur TI82stat
Désolé pour le temps que j'ai mis à le faire, j'avais un peu zappé j'avoue
Par contre j'arrive pas à faire marcher Wabbitemu (étrangement), du coup j'ai pas réussi à tester tout ça.
Voici le zip : http://paf.im/jGfc7
Je suis à peu près sûr que ça fonctionne pour ion, par contre je ne suis pas sûr que ça fasse ce qu'on veut pour un code asm classique. Essaye, et dis moi si ça ne marche pas, je réessayerai de mon côté (et cette fois je serai plus réactif :p)
Par contre j'arrive pas à faire marcher Wabbitemu (étrangement), du coup j'ai pas réussi à tester tout ça.
Voici le zip : http://paf.im/jGfc7
Je suis à peu près sûr que ça fonctionne pour ion, par contre je ne suis pas sûr que ça fasse ce qu'on veut pour un code asm classique. Essaye, et dis moi si ça ne marche pas, je réessayerai de mon côté (et cette fois je serai plus réactif :p)
m@thieu41- ----------------------
- Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Cherche documentation assembleur TI82stat
Oh, je ne vais pas te blâmer pour ta réactivité, qui est plutôt épatante par rapport à la mienne.
Je vais tester je pense aujourd'hui et te dirais d'ici dimanche
Merci beaucoup
Je vais tester je pense aujourd'hui et te dirais d'ici dimanche
Merci beaucoup
Page 3 sur 3 • 1, 2, 3
Sujets similaires
» Tutoriel et documentation - Wlib
» [résolu]TI82Stat/Ti83 (Basic) une roue..
» Installer un programme assembleur
» [TI83] assembleur additionner 2 registres
» [résolu]TI82Stat/Ti83 (Basic) une roue..
» Installer un programme assembleur
» [TI83] assembleur additionner 2 registres
Page 3 sur 3
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|
Dim 16 Oct 2022 - 21:11 par Wistaro
» Bonne année 2018!
Ven 2 Nov 2018 - 19:42 par Ti64CLi++
» Lancement du TI-Concours 2017 !
Sam 20 Mai 2017 - 0:27 par Paulo1026
» Chaînes Youtube des membres
Ven 19 Mai 2017 - 22:41 par Wistaro
» cacul du taux d'intêret
Ven 24 Mar 2017 - 21:50 par m@thieu41
» [Projet] Un mario by tout82
Dim 29 Jan 2017 - 14:09 par Wistaro
» Cherche documentation assembleur TI82stat
Mer 25 Jan 2017 - 12:29 par Ti64CLi++
» Probleme Ti-82 Stats fr
Jeu 12 Jan 2017 - 13:56 par Ti64CLi++
» ROM 82 stats.fr
Jeu 15 Déc 2016 - 10:24 par Ti64CLi++