DCVG5K: sortie flux dans un fichier texte
Modérateurs : Papy.G, fneck, Carl
DCVG5K: sortie flux dans un fichier texte
Bonjour Daniel,
serait-il possible d'ajouter dans DCVG5K une option pour sortir les instructions assembleurs (ou du moins les adresses) exécutées lors d'un programme dans un fichier texte?
Ca aiderait à voir le déroulement d'un programme.
Merci d'avance
serait-il possible d'ajouter dans DCVG5K une option pour sortir les instructions assembleurs (ou du moins les adresses) exécutées lors d'un programme dans un fichier texte?
Ca aiderait à voir le déroulement d'un programme.
Merci d'avance
Re: DCVG5K: sortie flux dans un fichier texte
Dans dcmoto j'ai ajouté, à la demande d'un utilisateur, une fonction "Trace" qui donne les adresses et la valeur des registres. On doit pouvoir faire pareil dans dcvg5k. Je le note pour la prochaine version.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: DCVG5K: sortie flux dans un fichier texte
Merci d'avance Daniel.
- Patrice
- Messages : 1544
- Inscription : 14 janv. 2008 10:42
- Localisation : https://www.ville-saintes.fr/
- Contact :
Re: DCVG5K: sortie flux dans un fichier texte
Itou! pour Alice si possible, merci par avance Daniel.
Re: DCVG5K: sortie flux dans un fichier texte
En attendant la prochaine version officielle je donne ici une version provisoire avec la fonction TRACE (bouton dans l'outil de mise au point).
Le fichier est créé dans le même dossier que dcvg5k et s'appelle dcvg5k_trace.txt
Il liste les 10000 dernières instructions exécutées.
Si ce n'est pas assez, ou si vous avez d'autres suggestions, n'hésitez pas...
@Patrice: bonne idée, je vais regarder si c'est possible dans dcalice.
[Edit 13:00] La fonction Trace a été ajoutée à dcalice
Le fichier est créé dans le même dossier que dcvg5k et s'appelle dcvg5k_trace.txt
Il liste les 10000 dernières instructions exécutées.
Si ce n'est pas assez, ou si vous avez d'autres suggestions, n'hésitez pas...
@Patrice: bonne idée, je vais regarder si c'est possible dans dcalice.
[Edit 13:00] La fonction Trace a été ajoutée à dcalice
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
- Patrice
- Messages : 1544
- Inscription : 14 janv. 2008 10:42
- Localisation : https://www.ville-saintes.fr/
- Contact :
Re: DCVG5K: sortie flux dans un fichier texte
C'est super, merci beaucoup Daniel!
[EDIT 20-05-2020-19h24]: Serait-il possible de synchroniser le TRACE sur le registre PC saisi au départ du traçage?
[EDIT 20-05-2020-19h24]: Serait-il possible de synchroniser le TRACE sur le registre PC saisi au départ du traçage?
Dernière modification par Patrice le 20 mai 2020 19:24, modifié 1 fois.
Re: DCVG5K: sortie flux dans un fichier texte
Super. Merci Daniel. Si je peux abuser une petite suggestion:
l'utilisateur peut dire combien d'instructions il veut.
En tous cas, merci pour ce superbe boulot.
l'utilisateur peut dire combien d'instructions il veut.
En tous cas, merci pour ce superbe boulot.
Re: DCVG5K: sortie flux dans un fichier texte
Oui, j'y ai pensé. Il faut saisir le nombre, faire une allocation dynamique de mémoire, tester si l'utilisateur n'a pas été trop gourmand et envoyer éventuellement un message d'erreur. Et il faut le faire au lancement de l'émulateur, pour pouvoir stocker l'historique. Quand on demande le dump c'est trop tard, on ne peut pas revenir en arrière.
Ce n'est pas très difficile, mais aujourd'hui j'étais un peu paresseux. J'y réfléchirai à la prochaine occasion.
En attendant, si 10000 est insuffisant, je peux facilement mettre plus, il suffit de recompiler, il y en a pour moins de 10 secondes.
Ce n'est pas très difficile, mais aujourd'hui j'étais un peu paresseux. J'y réfléchirai à la prochaine occasion.
En attendant, si 10000 est insuffisant, je peux facilement mettre plus, il suffit de recompiler, il y en a pour moins de 10 secondes.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: DCVG5K: sortie flux dans un fichier texte
Cette nouvelle fonction Trace est rétroactive : elle donne les instructions précédentes jusqu'à l'instruction actuelle.
Tu veux aussi faire la trace à partir de l'instruction actuelle pour les n prochaines instructions.
Ce sont deux fonctions différentes. Je crois qu'elles ont chacune une utilité en fonction de ce que l'on recherche.
Il faudrait donc pouvoir choisir l'une ou l'autre. Je le note, ce sera pour une prochaine version.
Comme quoi une petite fonction très simple peut vite devenir compliquée
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
- Patrice
- Messages : 1544
- Inscription : 14 janv. 2008 10:42
- Localisation : https://www.ville-saintes.fr/
- Contact :
Re: DCVG5K: sortie flux dans un fichier texte
Dans ce contexte, le traçage est borné entre la valeur du registre PC et le point d'arrêt qu'il faut obligatoirement renseigner pour ce type
de traçage et si la valeur de chaque registre est également ajoutée dans le fichier txt pour chaque instruction tracée dans les 3 modes (statique,
pas à pas et saut de sous-programme),cette fonction devient vraiment très performante je pense.
La présentation pourrait être de ce type:
9000 b6904c LDAA $904c
A:xx B:xx X:xxxx SP:xxxx HINZVC: xxxxxx
9003 816f CMPA #$6f
A:xx B:xx X:xxxx SP:xxxx HINZVC: xxxxxx
9005 2217 BHI $901e
A:xx B:xx X:xxxx SP:xxxx HINZVC: xxxxxx
901e 16 TAB
A:xx B:xx X:xxxx SP:xxxx HINZVC: xxxxxx
901f c40f ANDB #$0f
A:xx B:xx X:xxxx SP:xxxx HINZVC: xxxxxx
etc....
ou
9000 b6904c LDAA $904c A:xx B:xx X:xxxx SP:xxxx HINZVC: xxxxxx
9003 816f CMPA #$6f A:xx B:xx X:xxxx SP:xxxx HINZVC: xxxxxx
9005 2217 BHI $901e A:xx B:xx X:xxxx SP:xxxx HINZVC: xxxxxx
901e 16 TAB A:xx B:xx X:xxxx SP:xxxx HINZVC: xxxxxx
901f c40f ANDB #$0f A:xx B:xx X:xxxx SP:xxxx HINZVC: xxxxxx
etc...
Qu'en penses-tu Daniel?
de traçage et si la valeur de chaque registre est également ajoutée dans le fichier txt pour chaque instruction tracée dans les 3 modes (statique,
pas à pas et saut de sous-programme),cette fonction devient vraiment très performante je pense.
La présentation pourrait être de ce type:
9000 b6904c LDAA $904c
A:xx B:xx X:xxxx SP:xxxx HINZVC: xxxxxx
9003 816f CMPA #$6f
A:xx B:xx X:xxxx SP:xxxx HINZVC: xxxxxx
9005 2217 BHI $901e
A:xx B:xx X:xxxx SP:xxxx HINZVC: xxxxxx
901e 16 TAB
A:xx B:xx X:xxxx SP:xxxx HINZVC: xxxxxx
901f c40f ANDB #$0f
A:xx B:xx X:xxxx SP:xxxx HINZVC: xxxxxx
etc....
ou
9000 b6904c LDAA $904c A:xx B:xx X:xxxx SP:xxxx HINZVC: xxxxxx
9003 816f CMPA #$6f A:xx B:xx X:xxxx SP:xxxx HINZVC: xxxxxx
9005 2217 BHI $901e A:xx B:xx X:xxxx SP:xxxx HINZVC: xxxxxx
901e 16 TAB A:xx B:xx X:xxxx SP:xxxx HINZVC: xxxxxx
901f c40f ANDB #$0f A:xx B:xx X:xxxx SP:xxxx HINZVC: xxxxxx
etc...
Qu'en penses-tu Daniel?
Re: DCVG5K: sortie flux dans un fichier texte
Je le note. A la prochaine occasion j'essaierai de le faire, mais aujourd'hui je ne promets rien.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
- Patrice
- Messages : 1544
- Inscription : 14 janv. 2008 10:42
- Localisation : https://www.ville-saintes.fr/
- Contact :
Re: DCVG5K: sortie flux dans un fichier texte
Autre avantage pour le fichier "txt" créé, son volume est limité au nombre d'instructions tracées (bornage entre registre PC et Point d'arrêt uniquement).
Re: DCVG5K: sortie flux dans un fichier texte
Euh l'expression "bornage entre PC et le point d'arrêt" me fait tiquer. Si c'est l’intervalle entre deux extrêmes, on va avoir un problème car nul doute qu'il y aura des instructions exécutées en dehors : on fait quoi ? si c'est pour dire que l'on trace à partir du PC jusqu'au breakpoint, c'est tout simplement faire une exécution tracée jusqu'au point d'arrêt.
- Patrice
- Messages : 1544
- Inscription : 14 janv. 2008 10:42
- Localisation : https://www.ville-saintes.fr/
- Contact :
Re: DCVG5K: sortie flux dans un fichier texte
Non, c'est vis à vis du paramétrage de l'outil de mise au point de l'émulateur pour éditer le fichier "txt" contenant le traçage défini par l'adresse
saisie dans le registre PC comme instruction de départ du traçage et un point d'arrêt comme instruction d'arrivée temporaire du traçage. Pour
faire simple cela concerne uniquement la mise en forme du document édité par l'outil de mise au point.
saisie dans le registre PC comme instruction de départ du traçage et un point d'arrêt comme instruction d'arrivée temporaire du traçage. Pour
faire simple cela concerne uniquement la mise en forme du document édité par l'outil de mise au point.