Pl2 ANNEXE.DOC/fr
--------------------- ANNEXE --------------------- *** LES DESASSEMBLEURS *** -------------------------- Pour rester très simple, on peut dire qu'un d‚sassembleur a exactement la fonction contraire d'un assembleur: L'assembleur code les instructions de votre programme en binaire et le d‚sassembleur lit les codes binaire, les reconnait, et les traduits pour vous donner finalement le LISTING du programme. Comme cette op‚ration est assez d‚licate, il se peut qu'il n'arrive pas à traduire tous les codes qu'il rencontre ... Sur la plupart des d‚sassembleurs, il est possible d'obtenir soit le d‚sassemblage d'un programme en CODE ASCII (LISTING) soit un d‚sassemblage en CODE HEXA (Dans ce cas,il y a rarement des erreurs dans le d‚codage du programme) R‚fèrez vous à la notice de votre ASSEMBLEUR pour en savoir plus, la pluspart des assembleurs sont livr‚s avec une DESASSEMBLEUR... *** LES DEBUGGERS *** --------------------- Un DEBUGGER est un utilitaire qui vous sera par la suite indispens- sable, quand vous ‚crirez des programmes d'une longue taille. Comme sont nom l'indique, il permet de chercher le BUG (Parasite, erreur) qui fait planter votre programme... Il resemble un peu à un d‚sassembleur, mais son plus grand int‚rrèt et qu'il permet de visualiser le contenu des registre,du PC,du SR... Cet utilitaire accompagne souvent un ASSEMBLEUR, et il est assez sp‚cifique... Je ne pourrais donc pas vous en parler plus longuement, il suffira de vous r‚fèrer à la notice de votre ASSEMBLEUR... 'SP' sera traduit par A7 ... NB: Un d‚bugger fonctionne souvent en MODE TRACE. --- Ce mode est activ‚ par la mise à 1 du bit T de SR. Le MODE TRACE dirige l'ex‚cution d'un programme d'exception dont l'adresse se trouve dans le 29°ème VECTEUR D'EXCEPTION et qui s'ex‚cute à chaque instruction d‚cod‚e par le 68000. Pour mettre une de nos routine à la place de ce programme d'exception, il suffit de changer l'adresse que contient le vecteur d'exception qui controle le mode trace. Pour cela, il faut: .Passer en MODE SUPERVISEUR pour pouvoir changer la valeur du vecteur d'exception et activer le bit T de SR .D‚poser l'adresse de la nouvelle routine dans le vecteur d'exception (Avec MOVE.L #ADDRESSE,$24) du mode trace .Passer en mode trace par activation du bit T de SR (Par exemple avec ORI.w #%1000000000000000,SR) La routine elle même ne devra pas modifier SP (Ou alors le reposi- tionner),car à la fin de celle-ci, on devra mettre un RTE: Le RTE va d‚piler le PC pour retourner au programme principal: Changer SP entrainerait une mauvaise restauration du PC sauv‚ sur la pile système... *** LA MEMOIRE DES ST *** ------------------------- Voilà la structure de la m‚moire ROM et RAM des ST: ADRESSES : CONTENU -------------------- $0000000 : SP après un RESET $0000004 : PC après un RESET à $0000008 de $00003FF : Les VECTEURS d'EXCEPTION à $0000400 : Les VARIABLES SYSTEME à $00007FF de $001FFFF : La RAM à $007FFFF fin de la RAM pour les 520 ST à $00FFFFF fin de la RAM pour les 1040 ST à $01FFFFF fin de la RAM pour les MEGA 2 ST en $0FA0000 : d‚but ROM de 128 Ko en $0FEFFFF : ROM de 192 Ko du système d'exploitation en $0FF8000 : Registres internes en $0FF8200 : Registres vid‚o en $0FF8600 : Registres DMA et FCD (Disk) en $0FF8800 : Registres AY3-8910 (sons) en $0FFFA00 : Registres MFP (Voir chapitre pr‚c‚dent) en $0FFFC00 : Registres des ACIA (Clavier et Midi) ---------------- Voilà, cette initiation se termine ici, il ne me reste plus qu'à vous remercier pour votre collaboration. (Et à vous f‚liciter pour la bonne id‚e que vous avez eu en voulant vous mettre à l'assembleur...) Vous pensez bien que la programmation en assembleur ne se termine pas ici, au contraire,cette initiation n'avait que pour but de vous apprendre les bases de la programmation en 68000. C'est à vous maintenant d'explorer le reste de ce langage aux capa- cit‚s fantastique... Ma mission se termine ici ! (OHHH GOD!) :SALUT ! L'auteur: PIECHOCKI Laurent --------- 8,Impasse Bellevue 57980 TENTELING Remerciements: Merci à Vincent et Dominique pour avoir test‚ cette initiation en avant première et pour l'aide qu'ils m'ont apport‚. (Surtout pour leurs suggestions et leurs approbations...) Remerciements à THOMSON EFCIS pour la documentation sur le 68000 Remerciements à FREDERIK pour ses aides pr‚cieuses...
Back to ASM_Tutorial