Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum Ti68K » Programmation Assembleur 68K » Peut-on tout faire avec les Hooks ? (5 réponse(s))
./POST DE DEPART (post n°0)   Marquer comme non lu.
Invité Ecrit le: Jeudi 24 juin 2004 à 18:37 Déconnecté(e)    
 
Les hooks servent à "collecter" des événements de la calculatrice, comme la pression d'une touche par exemple (c'est ça, hein ?!).
Bon, très bien, ça veut dire que je peut appeller une application Flash (et rien d'autre si j'ai bien compris) lorsqu'une fonction située à une certaine adresse est appellée.

Mais est-il possible de mettre un Hook sur une instruction ASM particulière ??

Voici mon problème : j'aimerais que sur toutes les instructions bien précises en ASM (disons tous les RTS), un TSR s'exécute. Ceci m'éviterais d'activer le Trace, qui exécute un TSR après chaque instruction et ralentit considérablement la machine.

Je ne sais pas si c'est possible, si oui comment ??

Merci !
    
./Post n°1   Marquer comme non lu.
Sasume Ecrit le: Jeudi 24 juin 2004 à 18:44 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Non, je ne pense pas que ce soit possible.
    
./Post n°2   Marquer comme non lu.
Kevin Kofler Ecrit le: Jeudi 24 juin 2004 à 19:04 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Peut-on tout faire avec les Hooks ?

Non. En particulier, ce que tu veux faire n'est malheureusement pas possible. :(
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°3   Marquer comme non lu.
Ephyx Ecrit le: Jeudi 24 juin 2004 à 19:31 Déconnecté(e)    Voir le profil de Ephyx Envoyer un email à Ephyx Visiter le site WEB de Ephyx Envoyer un message privé à Ephyx  


En général, les débogueurs, sur nos chers pc, utilisent l'intteruption 3 (INT 3) pour marquer les breakpoints ...
Pourquoi ne pas en faire autant dans ton programme?
Tu remplace l'instruction que tu veux hooker (donc RTS), tu recherches sont opcode, et tu le remplaces par un code maison.
Bon c'est pas aussi simple dans tous les cas, mais ca permet de faire ce que tu veux, sans ajouter un ralentissement constant :)
Lemuria & Sirius-B, chouette :D
    
./Post n°4   Marquer comme non lu.
Kevin Kofler Ecrit le: Jeudi 24 juin 2004 à 20:11 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Le problème est qu'il faudrait patcher AMS pour insérer ces instructions au bon endroit...
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°5   Marquer comme non lu.
Invité Ecrit le: Vendredi 25 juin 2004 à 12:12 Déconnecté(e)    
 
Le problème est qu'il faudrait patcher AMS pour insérer ces instructions au bon endroit...


C'est en effet un premier problème, même s'il ne semble pas insurmontable (euh... je crois, hein ?)



Tu remplace l'instruction que tu veux hooker (donc RTS), tu recherches sont opcode, et tu le remplaces par un code maison.


J'y ai pensé, mais voilà le problème : si je recherche et que je remplace tous les opcodes RTS de la mémoire par autre chose, je risque de changer aussi certaines chaînes de caractères ou certaines valeurs essentielles au bon fonctionnement de la machine.
De plus, si un nouveau programme est ajouté par exemple, il faut alors de nouveau tout repatcher...


J'ai trouvé un autre moyen, je suis en train de le tester, mais je ne sais pas si c'est tout à fait fiable.
Sinon il me reste encore une deuxième méthode mais qui ralentit bien plus la calculatrice que la première, et qui ne fonctionnera peut être pas.
Le Trace serait la méthode idéale, mais malheuresement beaucoup trop lente.



-Edité le Vendredi 25 juin 2004 à 12:14 par tnt-
    
  :: Index » Forum Ti68K » Programmation Assembleur 68K » Peut-on tout faire avec les Hooks ? (5 réponse(s))
Pages : 1/1     « [1] » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 44.27ms avec 20 requetes