Utilisation du linker sous Devpac 3.5

8 sujets de 1 à 8 (sur un total de 8)

  • Powergoo

      #218955

      Salut à toute la communauté !

      Je viens de m’inscrire pour vous poser une chtite question aux pro de l’asm.

      Je suis en train de me remettre au code sur Amiga 500 (sous WinUae)

      J’utilise Devpac3.5 en version française.

      Je souhaite linker du code en plusieurs morceaux, comment déclarer mes variables extern toussa quoi.

      un exemple

      dans mon premier fichier fichier1.s :

      mademo:

      move.l #mavaleurexterne,d0        ; je veux ici mettre la valeur qui se trouve dans le 2ème fichier.

      jsr    maroutineexterne

      rts

      extern mavaleurexterne   ; déclaration ici de ma valeur externe
      extern maroutineexterne     ; déclaration de ma routineexterne

      puis dans un dexième fichier  fichier2.s :

      maroutineexterne:
      move.l    #1,d1
      rts

      mavaleurextene: dc.l 1

      j’ai la doc de devpac3 mais en anglais et j’ai rien compris, il y a pas vraiment d’exemple de base.
      j’ai tenté de chercher sur le net rien sur le linker de devpac.

      Donc si quelqu’un peut m’expliquer je suis preneur.

      Merci d’avance à vous

      PowerGoo

      Coding Amiga - Pc
      dept 77 Coulommiers

      lexomil

        #218956

        Bonjour,

        de mémoire « XDEF monlabel » pour exporter et « XREF monlabel » pour utiliser l’export

        Bonne journéee

        Powergoo

          #218957

          Whoaaaa ca c’est de la réponse rapide.

           

          bon ca m’aiguille, en effet ça compile sans faute  si je veut des .o

          par contre je ne sais pas les lier entre eux.

           

          et en fait je voudrais que le premier fichier deviennent un exécutable.

           

          merci à toi

           

           

          Coding Amiga - Pc
          dept 77 Coulommiers

          Powergoo

            #218959

             

            mon premier fichier first.s :

            [code]

            xref maval
            xref MaRoutine

            debut:
            move.l #maval,d0
            jsr         MaRoutine
            rts
            fin:
            rts

            [/code]

            mon deuxième fichier second.s :

            [code]

            xdef maval
            xdef MaRoutine

            MaRoutine:
            move.l    #1,d1
            rts

            maval:    dc.l    1

            [/code]

             

            bon alors sous le cli  je tape :

            blink first.o second.o  et j’obtiens un beau fichier executable qui s’apelle second

            et ça marche. maintenant plus qu’a trouver comment faire directement sous devpac.

             

            ha si quand je lance le débogueur pour tester mon programme j’obtiens

            Erreur Amigados 205

            bizarre car mon programme est bien en mémoire et il marche.

            Coding Amiga - Pc
            dept 77 Coulommiers

            lexomil

              #219221

              Bonjour,

              je ne sais pas si tu as réussi à régler ton problème depuis mais en fait dans ton cas MonAm te dis simplement qu’il ne trouve pas le fichier à debugger.

              Je ne sais pas comment tu lances le debugger mais si tu le fais depuis le WB en principe la première chose qu’il demande c’est le chemin d’accès au fichier à debugger, penses bien à lui fournir le chemin complet genre work:sources/second .

              Sinon CTRL+L pour recharger le fichier à débugger, CTRL+Z pour tracer le programme, CTRL+Q pour stopper ton programme proprement et CTRL+C pour quitter MonAm. TAB pour chager de fenêtre, CTRL+M pour définir l’adresse mémoire de la fenêtre, CTRL+B pour placer un breakpoint et CTRL+R pour lancer l’exécution jusqu’au breakpoint. Avec ça tu devrais t’en sortir.

              tu peux assembler tes fichier depuis le shell si tu veux, il suffit de lancer la commande : genam -L first.s

              pour générer le fichier first.o, tu colles tout dans un script avec le link à la fin et ça suffit.

              Bonne journée

              Powergoo

                #219257

                je lance le debugger en passant par devpac (CTRL+D)

                je pense qu’il arrive a le lire car je tombe bien sur mon programme.

                oui sinon en ligne de commande ça marche mais bon c’est que j’aime bien le faire directement de l’environnement de Devpac.

                disons que ca va plus vite pour moi

                sur Notepad++ je charge mes fichiers sources que j’édite, je sauve je bascule sur ma fenêtre Devpac la un coup de Amiga + L  ( recharge mon source modifié ) et un coup de CTRL + X (compile le tout et le lance). Ca me fait pas trop de manipulations.

                en fait je sais pas comment dire au source fichier first.s que les variables externe qui l’intéressent sont dans le second.o qui est déjà compilé.

                Ce qui me fera normalement gagner du temps de compilation (c »est pas rapide un A500 de base 🙁 )

                en gros comment le dire au linker quand on est sur l’environnement Devpac.

                je pense que c’est dans les options du linker qu’il faut que je rajoute à mon source.

                 

                En tous cas merci de ton aide déjà ça compile en ligne de commande.

                 

                 

                 

                 

                Coding Amiga - Pc
                dept 77 Coulommiers

                WillyCat

                  #219293

                  Dommage que je ne sois pas chez moi car j’aurais pu t’aider (j’ai la doc en français). Mais de mémoire, tu dois créer un fichier « carte » contenant la liste de tous les fichiers à lier pour former un exécutable et passer ce fichier comme paramètre au linker.

                  Powergoo

                    #219419

                    a l’occasion quand tu sera chez toi 😉

                    si d’ailleurs tu as une doc en VF genre en pdf ça m’intéresse.

                    je vais voir aussi un peut du coté de Vasm car j’en entend beaucoup de bien.

                     

                    Coding Amiga - Pc
                    dept 77 Coulommiers

                  8 sujets de 1 à 8 (sur un total de 8)

                  • Vous devez être connecté pour répondre à ce sujet.

                  Forums AmigaOS, MorphOS et AROS Développement Utilisation du linker sous Devpac 3.5

                  Amiga Impact