convertisseur assembler/basic - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 58 sur 58

convertisseur assembler/basic



  1. #31
    sw338965

    Re : convertisseur assembler/basic


    ------

    Merci de continuer à essayer de m'aider.En fait, ce que je souhaite faire, c'est de pouvoir changer un mot par un autre sur l'afficheur géré par le PIC 16F628 et son programme. Et je souhaiterai le faire moi même bien que n'ayant aucune connaissance ni en hexadécimal ni en assembleur,(je sais que ce n'est pas facile pour vous).
    Si vous avez une adresse perso à me donner, je vous enverrai la partie du montage associé.
    Merci

    -----

  2. #32
    umfred

    Re : convertisseur assembler/basic

    Je viens de remarquer un détail: dans le source que tu nous a fourni, la ligne "LIST P=16F84, F=INHX8M" nous indique qu'il s'agit d'un programme pour un PIC 16F84 alors que tu nous parle d'un PIC16F628.
    Je vois deux raisons à cette différence:
    - soit c'est le désassembleur que tu as utilisé qui a écrit cette ligne et à transformé le code hexa en code pour PIC 16F84; dans ce cas là, il faut espèrer que le codage des instructions en hexa pour les 2 PICs en question est le même (si ce n'est pas le cas, le source en assembleur ne signifie rien).
    - soit ce n'est pas le bon programme du synthétiseur PLL que tu nous a fourni (car c'est bien le programme du synthétiseur PLL que tu veux modifier), auquel cas on ne peut pas te fournir de réponse.

  3. #33
    umfred

    Re : convertisseur assembler/basic

    Citation Envoyé par umfred
    Je viens de remarquer un détail: dans le source que tu nous a fourni, la ligne "LIST P=16F84, F=INHX8M" nous indique qu'il s'agit d'un programme pour un PIC 16F84 alors que tu nous parle d'un PIC16F628.
    Je vois deux raisons à cette différence:
    - soit c'est le désassembleur que tu as utilisé qui a écrit cette ligne et à transformé le code hexa en code pour PIC 16F84; dans ce cas là, il faut espèrer que le codage des instructions en hexa pour les 2 PICs en question est le même (si ce n'est pas le cas, le source en assembleur ne signifie rien).
    - soit ce n'est pas le bon programme du synthétiseur PLL que tu nous a fourni (car c'est bien le programme du synthétiseur PLL que tu veux modifier), auquel cas on ne peut pas te fournir de réponse.
    j'ai vérifier, les instructions sont codées de la même façon par les 2 PICs, mais il reste des différences concernant les registres internes de ceux-ci.
    Vérifie tout de même de nous avoir fournit le source du programme du synthétiseur PLL.

  4. #34
    sw338965

    Re : convertisseur assembler/basic

    Bonjour,
    Je te remercie de t'occuper de mon cas. Je confirme que c'est bien avec un pic 16F628 que ce programme tourne et qu'il fonctionne bien. J'ai utilisé ICprog pour passer de L'hexa en assembleur et c'est sans doute lui qui a fait cette modif. Voila, si tu as besoin d'autres renseignements, n' hésites pas à les demander.
    Merci.

  5. #35
    inviteb679aa6a

    Re : convertisseur assembler/basic

    re
    si tu veux faire ca tout seul ta methode est loin d'etre la bonne car les label correspondent a des sous prog dont tu ne connais pas le nom d'origine et vu le nombre de renvoi v'la la galere
    j'ai commencé l'assembleur avec un bouquin "apprendre la programmation des PIC " par pascal mayeux chez ETSF il est pas mal fait si en plus tu as deja de quoi prog ce sera un jeu d'enfant
    alors bon courage!!!

  6. #36
    umfred

    Re : convertisseur assembler/basic

    Citation Envoyé par sw338965
    .En fait, ce que je souhaite faire, c'est de pouvoir changer un mot par un autre sur l'afficheur géré par le PIC 16F628 et son programme.

    quel est ce message ? je pense que tu pourra le modifer avec le logiciel de programmation du PIC, si ce message est facile à trouvé à vérifier tout de même )

  7. #37
    sw338965

    Re : convertisseur assembler/basic

    Bonjour,
    Il s'agit d'un mot que je souhaite modifier, en fait le mot BH1415 par un autre TX1208.
    Evidemment, il faut savoir où, dans le programme, il se trouve.
    Je vais regarder aussi la solution proposée par minouche, mais en combien de temps serais capable de pratiquer ce type de programmation pour pouvoir éffectuer des modifs.....
    Merci.

  8. #38
    inviteb679aa6a

    Re : convertisseur assembler/basic

    salut
    dans label 16
    tu remplaces:
    origine modif
    42 54
    48 58
    31 31
    34 32
    31 30
    35 38
    et le tour est joué
    A+

  9. #39
    sw338965

    Re : convertisseur assembler/basic

    salut Minouche,
    J'ai bien noté ce que tu m'as écrit et si ça marche c'est formidable.
    Je vais le faire dès aujourd'hui et je te tien au courant.
    Merci encore.

  10. #40
    sw338965

    Re : convertisseur assembler/basic

    Excuses encore mais avec quel logiciel puis je modifier le fichier en assembler?
    C'est quelque chose que je n'ai pas encore fait.
    Merci.

  11. #41
    sw338965

    Re : convertisseur assembler/basic

    après avoir réfléchi(à retardement dommage) je me suis dit qu' avec un simple éditeur de texte je pouvais faire la modif, ce que j'ai fait, mais là où ça se gâte, c'est pour remettre le fichier modifé dans ICprog car les labels se trouvent oubien déplacés ou certains supprimés!

  12. #42
    sw338965

    Re : convertisseur assembler/basic

    Le logiciel:W32DASM aurait sans doute pu me rendre service mais il n'est plus disponible par l'éditeur et les essais de téléchargements que j'ai effectués m'ont donnés un message d'erreur comme quoi il manquait un fichier DLL!

  13. #43
    JPL
    Responsable des forums

    Re : convertisseur assembler/basic

    Il te faut un éditeur haxadécimal.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  14. #44
    sw338965

    Re : convertisseur assembler/basic

    J'ai WINHEX comme éditeur mais comment passer de l'hexa en assembleur et réciproquement avec ce logiciel?

  15. #45
    invite597d4991

    Re : convertisseur assembler/basic

    *Les editeurs de texte ne conviennent pas parce qu'ils manipulent que 'la moitié' du binaire, et vont l'endommager à la sauvegarde.

    *WIN32DASM est un désassembleur ('ie binaire vers assembleur) mais pour win32 comme son nom l'indique, et si j'ai bien compris ton prog n'est pas en assembler x86.

    *Un éditeur hexa comme winhex ne fait que lire un fichier, ce n'est pas un desassembleur.

    J'ai peut être pas tout compris (la flemme de tout relire depuis le début) mais:
    -soit tu as le code complet en assembler, et à ce moment là tu dois avoir les données à un endroit, tu les modifies et le tour est joué, il suffit de réassembler (je suppose que tu as de quoi le faire).

    -Soit tu as juste le binaire et des fragments de code et/ou tu ne sait pas/peut pas remettre les fichiers en ordre pour réassembler, dans ce cas tu modifies le binaire lui même.
    Par contre ne t'addend pas à avoir comme dans certains débuggers x86 le code binaire, et hexa, et asm en même temps, je doute qu'il eiste des outils aussi pratiques pour des assembleurs de ce type.
    Il faudra donc rechercher et remplacer la chaine voulue dans le binaire via l'éditeur hexadecimal en faisant gaffe de respecter le nombre des caractères (tu peux peut être compléter avec des caractères nuls si c'est trop court)

    Donc ce qu'il te faut c'est un truc genre hex workshop. (ou winhex ou cequetuveuxquifaitdelhexa)

  16. #46
    sw338965

    Re : convertisseur assembler/basic

    Bonjour,
    J'ai le programme en assembleur, mais une fois modifié, je ne sais pas comment le remettre en hexa pour l'utiliser avec ICprog.

  17. #47
    sw338965

    Re : convertisseur assembler/basic

    En fait, comme l'a indiqué MINOUCHE, je n'ai que quelques chiffres à changer dans le programme assembleur, ce que j'ai fait, mais après, il faut que ce soit lu par ICprog.

  18. #48
    invite597d4991

    Re : convertisseur assembler/basic

    Alors il te faut un assembleur pour ce language, mais là je ne peux pas t'aider
    D'habitude on se procure un assembleur avant de désassembler du code

    Mais au fait, pourquoi ne pas faire directement les modifs dans ICProg ? (il edite l'hexa non?)

  19. #49
    sw338965

    Re : convertisseur assembler/basic

    Oui, ICprog édite l'assembleur mais il ne le modifie pas, ou alors je ne fais pas ce qu'il faut!

  20. #50
    sw338965

    Re : convertisseur assembler/basic

    Je répète mon problème.
    J'ai un progamme en hexa que ICprog m'a converti en assembleur.
    J'avais 5 chiffres en modifier sur ce programme en assembleur, ce qui est fait.
    Maintenant, il ne me reste plus qu'à reconvertir le fichier en hexa pour pouvoir être lu par ICprog, comment faire?

  21. #51
    JPL
    Responsable des forums

    Re : convertisseur assembler/basic

    Je répète : si tu as simplement à modifier un texte en le remplaçant par un texte de même longueur, tu lis l'exécutable avec un éditeur hexadécimal, tu remplaces les octets et tu réenregistres. C'est très simple : pas de conversion ou autre manip.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  22. #52
    sw338965

    Re : convertisseur assembler/basic

    Bon, j'arrête là car je vois bien que je commence sérieusement à vous emme...
    Pour vous c'est simple, pour moi, c'est de l' HEBREUX.

    "tu as simplement à modifier un texte en le remplaçant par un texte de même longueur"
    J'ai des nombres à remplacer par d'autres.

    "tu lis l'exécutable avec un éditeur hexadécimal"
    C'est quoi un exécutable?

    "tu remplaces les octets et tu réenregistres"
    Alors là, je ne pige plus rien.

    Désolé, je sais que vous n'y êtes pour rien mais je pense que je vais laisser tomber.

  23. #53
    invite597d4991

    Re : convertisseur assembler/basic

    Ce que tu dois éditer est le fichier binaire=executable=cequetuasde sassembléavecICProg.

    Comme le dit JPL, il y a quelque part dans ce fichier la chaine de caractères que tu veux modifier. Tu dois donc:
    1- ouvrir le dit fichier
    2- trouver le mot à modifier (préférer la colone texte pour la recherche... voir ctrl-f)
    3- remplacer les octets ie remplacer "Bonjour" par "Salut " (<- noter les deux espaces...) par exemple, et enfin enregistrer (ça si tu ne sais pas faire...)

    Sans aucune animosité de ma part, on ne se lance pas dans un projet comme celui ci sans avoir un minimum de conaissances. C'est pas grave tu vas t'améliorer, fait des recherches sur commentçamarche, wikipedia, et aussi des sites de reverse engineering (google...)

  24. #54
    sw338965

    Re : convertisseur assembler/basic

    Merci overmind.

  25. #55
    umfred

    Re : convertisseur assembler/basic

    rien ne vaut MPLAB pour faire du pic en plus il est gratuit sur le site de microchip

  26. #56
    sw338965

    Re : convertisseur assembler/basic

    Merci umfred mais s'adresse t-il à un débutant?

  27. #57
    umfred

    Re : convertisseur assembler/basic

    il est assez simple: tu édites ton sources tu fais les modif et tu compiles ( assemble) le programme (faudra juste lui donner la référence du pic) et il te refait le hex.

  28. #58
    umfred

    Thumbs up Re : convertisseur assembler/basic

    en fait, je vais etre plus précis:
    1- tu renomme le fichier "pll.txt" en "pll.asm"
    2- tu ouvres MPLAB IDE (bien sur faut l'installer avant )
    3- tu fais "file/open", tu va chercher le fichier "pll.asm"
    4- ensuite il faut changer qq ligne dans le programmes:
    4-a- modifier le début
    LIST P=16F84, F=INHX8M
    include "P16FXX.inc"
    en
    ;LIST P=16F84, F=INHX8M
    ;include "P16FXX.inc"
    include "P16F628.inc"
    4-b mettre en commentaire la fin:
    - sélectionner les toutes les ligne à partir de org 0x2000 jusqu'à la fin (sauf la ligne end), puis faire "edit/advanced/comment block"
    4-c tu enregistre ("file/save")

    5-définir les chemins des fichiers inc et lkr pour l'assembleur:
    - pour les fichier inc, va dans "project/set langage tool locations, puis tu vas sur "Microchip MPASM toolsuite/Defaukt search& directories/Library Search Path $(LIBDIR)" ensuite tu rentres le chemin suivant dans la zone de texte : C:\Program Files\Microchip\MPASM Suite (si tu as installé MPLAB à cet endroit).
    - pour les fichier lkr, va sur "Microchip MPASM toolsuite/Defaukt search& directories/Linker-Script Searrch Path $(LKRDIR)" ensuite tu rentres le chemin suivant dans la zone de texte : C:\Program Files\Microchip\MPASM Suite\LKR (si tu as installé MPLAB à cet endroit).
    Ensuite fais OK.

    6- enfin pour assembler le fichier, va dans "project/Quickbuild pll.asm". la compilation s'effectuera et t'affichera d'éventuel message d'erreurs (normalement qq warnings). et il te créera le nouveau fichier hex dans le répertoire ou se trouvait le fichier pll.asm (pense à faire une sauvegarde de l'ancien )

    7- il te restera à reprogrammer le PIC à l'aide d'un programmateur (l'inverse de ce que tu as du faire au début en fait )

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. Assembler du plastique souple par soudure
    Par a1c2b3 dans le forum Technologies
    Réponses: 8
    Dernier message: 03/07/2009, 11h20
  2. assembler un PC
    Par ABN84 dans le forum Matériel - Hardware
    Réponses: 5
    Dernier message: 27/06/2007, 02h52
  3. Basic ? Visual Basic ?
    Par invite1e5c24bd dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 16/10/2006, 13h15
  4. urgent! assembler
    Par invitec0c7c76d dans le forum Électronique
    Réponses: 2
    Dernier message: 07/01/2003, 22h43
Découvrez nos comparatifs produits sur l'informatique et les technologies.