Utilisation du linker sous Devpac 3.5
8 sujets de 1 à 8 (sur un total de 8)
-
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 routineexternepuis dans un dexième fichier fichier2.s :
maroutineexterne:
move.l #1,d1
rtsmavaleurextene: 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 CoulommiersWhoaaaa 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 Coulommiersmon premier fichier first.s :
[code]
xref maval
xref MaRoutinedebut:
move.l #maval,d0
jsr MaRoutine
rts
fin:
rts[/code]
mon deuxième fichier second.s :
[code]
xdef maval
xdef MaRoutineMaRoutine:
move.l #1,d1
rtsmaval: 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 CoulommiersBonjour,
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
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
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