<<< DUA0:[NOTES$LIBRARY]PROGRAMMATHEQUE.NOTE;1 >>> -< Suivi des programmes DECUS >- ================================================================================ Note 47.0 Derniere version de DISM32 20 replies DECUSF::FOUCHET_F "Francois FOUCHET - OMF" 4 lines 5-MAR-1990 20:01 -------------------------------------------------------------------------------- Quelqu'un sait il quelle est la derniere version de l'utilitaire DISM32 et sur quelle bande DECUS on peut le trouver. Actuellement je possede la version V4.3. Qui dit mieux ? ================================================================================ Note 47.1 Derniere version de DISM32 1 of 20 DECUSF::DIAKONOFF_N "Responsable programmathèque" 4 lines 6-MAR-1990 18:17 -< More infos needed. >- -------------------------------------------------------------------------------- Je n'ai pas trouver ni dans l'index alphabétique, ni dans les mots clés qchose se rapprochant de DISM32. KESAKO ? KEFAITIL ? ================================================================================ Note 47.2 Derniere version de DISM32 2 of 20 DECUSF::FOUCHET_F "Francois FOUCHET - OMF" 9 lines 6-MAR-1990 20:18 -< Some infos >- -------------------------------------------------------------------------------- C'est un deassembleur a qui on passe un executable et qui produit un source en assembleur cense faire a peu pres la meme chose. La version que j'ai vient du CDROM DECUS VS0087, dans les directories [LT87A.GCE.VMSDS], [VAX87B.RCAS87.DISASM], [VAX87D.RCAF87.VMSDS] et [VAX88B5.RCAF88.VMSDS]. Sa version est 4.3. Vu sa proliferation sur le CDROM, je pense qu'il doit en exister une version plus recente. D'ou la question : OUKSETI KILE ? ================================================================================ Note 47.3 Derniere version de DISM32 3 of 20 DECUSF::DIAKONOFF_N "Responsable programmathèque" 128 lines 7-MAR-1990 17:31 -< Jai 4.4. Ci dessous extrait du .DOC. >- -------------------------------------------------------------------------------- DISM-32 Native Mode Disassembler, V4.4 DISM32 is a program that runs on VAX/VMS systems and has the function of converting executable, shareable, and system images created by the VAX/VMS Linker back into MACRO-32 source files. .../... Enhancements for V4.4 (note: several of these fixes are courtesy of or suggested by David Deley): 1) break extremely long .ASCID strings into multiple continuation lines in the .MAR file, and represent unprintable characters as hexadecimal numeric constants embedded in the strings 2) if the .EXE file being disassembled was linked against the system symbol table file SYS$SYSTEM:SYS.STB, add a .LINK pseudo-op to the .MAR file to indicate the reference 3) handle device drivers that were not linked /NOTRACE (or V5.x drivers with initialization entry points) by properly ignoring or working around defined transfer vectors 4) generate a linker /OPTIONS file for the image to hold BASE=%Xxxxxxxxx GSMATCH=x,y,z IOSEGMENT=n[,NOP0BUF] NAME=aaaa STACK=n UNIVERSAL=aaaa directives if such directives would be needed to re-create the image 5) add certain missing H_floating instruction opcodes to the disassembler core instruction tables 6) handle the case where a device driver's DDT does not immediately follow the DPT initialization and reinitialization table (as in TTDRIVER, for some weird reason) 7) use the CALLS stack-windback data to correct the %DISM32-I-INDCALJSB message to report the address of the instruction opcode, rather than of the target routine's operand 8) add command qualifiers for forcing the disassembler to perform alternate disassembly operations Enhancements for V4.3: 1) handle nested routine definitions in modules listed in DST 2) analyze argument lists pushed on stack for CALLS instructions for some cases of calls to system services and Run-Time Library functions 3) optimize use of symbol table in pass 1 4) add new VMS V5 symbolic names for I/O function code and system service itemlist definitions 5) support new Object Language features for VMS V5.0 6) support programs that do nasty things like put RMS control blocks in demand-zero image sections 7) support VMS V5.0 device drivers 8) unsupported utility (very user-UNfriendly) to build .OFFSET files for describing shareable image procedure entry point argument lists Enhancements for V4.2: 1) recognition of CALLG argument lists, and interpretation of same for system service calls (only when both argument list and procedure address are specified as absolute or PC-relative). 2) support of non-standard device driver linking 3) supports more types of GSD records in an image Global Symbol Table. 4) completed support of all currently known RMS control blocks Enhancements for V4.1: 1) recognition and analysis of BASIC procedure argument lists to supply procedure labels, line numbers, and a more meaningful interpretation of the definition list data structures themselves (see the VMS V3.x Language Support Procedures Reference Manual, section on BASIC, for more information about BASIC procedure prologues). 2) recognition of shareable image transfer vectors as transfer vectors instead of the original procedure entry points, and insertion of the .TRANSFER and .MASK pseudo-ops with appropriate moving of labels from the image's GST to the actual procedures as well as the .TRANSFER/.MASK pseudo-ops. 3) default label naming conventions for RMS control blocks changed to be of the form blktyp_xxxxxxxx, where xxxxxxxx is the hexadecimal address and blktyp is the type of RMS block (FAB, RAB, XABDAT, etc.) instead of just RMS_xxxxxxxx as before. 4) fix assorted minor typos. 5) recognize in certain limited cases when a symbolic condition code defined by a resident message vector section is being referenced by code, and filling in the symbolic condition code name automatically when recognized. If you have any suggestions, bug reports, or comments, please let me know. This product's capabilities increase as people request new capabilities. Happy hacking! Andrew Pavlin General Electric Company Government Electronics Systems Division Court Street Plant, Bldg. 3, Rm. 11 P.O. Box 4840 Syracuse, NY 13221 phone: (315)456-1087 Bitnet: PAVLIN%RSD.decnet@GE-CRD.ARPA ================================================================================ Note 47.4 Derniere version de DISM32 4 of 20 DECUSF::FOUCHET_F "Francois FOUCHET - OMF" 1 line 7-MAR-1990 18:04 -< Merci >- -------------------------------------------------------------------------------- Ok, comment je fais pour le recuperer ? ================================================================================ Note 47.5 Derniere version de DISM32 5 of 20 DECUSF::KERMA_G "THOMSON-CSF/Lab. Central de Rech." 3 lines 13-MAR-1990 13:12 -< 4.5 mieux que 4.4 >- -------------------------------------------------------------------------------- Sur le CD/Rom DECUS VS0103 j'ai trouvé dans le répertoire [VAX89A2.PAVLIN.VMSDS_F89] la version 4.5 ! Tu sais me joindre ... si tu es preneur ... ================================================================================ Note 47.6 Derniere version de DISM32 6 of 20 DECUSF::WERZ_P "Pascal WERZ, MagneTech, ORSAY" 2 lines 13-MAR-1990 13:44 -< DISM32/NOCDROM/TAPE=TK50 >- -------------------------------------------------------------------------------- CdRom, c'est bien, mais si je cherche une TK? Quelqu'un sait-il? Pascal ================================================================================ Note 47.7 Derniere version de DISM32 7 of 20 DECUSF::KERMA_G "THOMSON-CSF/Lab. Central de Rech." 20 lines 15-MAR-1990 10:51 -< DISM32v4.5 dans VMS: ? >- -------------------------------------------------------------------------------- Suite à un certain nombre de Mail, voici la liste de deux CD/Rom DECUS que j'ai : - DECUS CDROM Collection 4 (VS0087) : . L&T SIG Tape, Fall 1987 . OA SIG Tape, Fall 1987 . Tex Collection, Spring 1989 . VAX SIG Tapes (Spring and Fall 1988) . VAX SIG Tapes (Spring and Fall 1989) - DECUS CDROM Collection 5 (VS0103) : . DECUServe VAXnotes Conferences . KERMIT Distribution, May 1989 . L&T SIG Tape, Spring 1989 . RSX SIG Tape, Spring 1989 . Tex Collection, August 1989 . VAX SIG Tape, Spring 1989 Je veux bien copier DISM32v4.5 dans VMS: si la place est suffisante et la demande le justifie ... (pas avant lundi !) ================================================================================ Note 47.8 Derniere version de DISM32 8 of 20 DECUSF::WERZ_P "Pascal WERZ, MagneTech, ORSAY" 2 lines 15-MAR-1990 18:37 -------------------------------------------------------------------------------- Si la demande ne le justifie pas, es-tu d'accord si je t'envoie une TK? ================================================================================ Note 47.9 Derniere version de DISM32 9 of 20 DECUSF::MILLOT_P "Pascal Millot - LASH/ENTPE, Lyon" 1 line 22-MAR-1990 11:24 -< Moi z'aussi !?? >- -------------------------------------------------------------------------------- ================================================================================ Note 47.10 Derniere version de DISM32 10 of 20 DECUSF::JOLIN_R "Rémi JOLIN - T.A.T." 1 line 22-MAR-1990 17:37 -< Et pi moi.. >- -------------------------------------------------------------------------------- ================================================================================ Note 47.11 Derniere version de DISM32 11 of 20 DECUSF::KERMA_G "THOMSON-CSF/Lab. Central de Rech." 3 lines 22-MAR-1990 17:41 -< c'est fait ... >- -------------------------------------------------------------------------------- Je viens de transférer DISM32_045.Sav (SaveSet de 3400 blocs) dans VMS: Bon désassemblage à tous ... ================================================================================ Note 47.12 Derniere version de DISM32 12 of 20 DECUSF::KERMA_G "THOMSON-CSF/Lab. Central de Rech." 3 lines 23-MAR-1990 11:50 -< excuse ... >- -------------------------------------------------------------------------------- Et puis même que maintenant le fichier est déprotégé pour le World. J'avoue que je ne m'étais pas reconnecté après le transfert pour vérifier çà ... ================================================================================ Note 47.13 Derniere version de DISM32 13 of 20 DECUSF::JOLIN_R "Rémi JOLIN - T.A.T." 37 lines 23-MAR-1990 17:37 -< dism bugge !? >- -------------------------------------------------------------------------------- Je viens d'essayer cette derniere version de dism et j'ai des resultats assez farfelus : exemple : un programme qui donnait ce qui suit en dism 4.2 TSTL B^56(R1) BEQL LB_000050D8 PUSHL R0 PUSHL B^8(AP) PUSHL R2 CALLS S^#3,@B^56(R1) BLBC R0,LB_000050D8 CLRL L^L_000038C8 BRB LB_0000513C donne maintenant (dism 4.4) TSTL B^56(R1) BEQL LB_000050D8 PUSHL R0 PUSHL B^8(AP) PUSHL R2 CALLS S^#3,SP <==== pas mal n'est ce pas... BLBC R0,LB_000050D8 CLRL L^L_000038C8 BRB LB_0000513C ou bien (une autre fois) TSTL B^56(R1) BEQL LB_000050D8 PUSHL R0 PUSHL B^8(AP) PUSHL R2 CALLS S^#3,R0 <==== BLBC R0,LB_000050D8 CLRL L^L_000038C8 BRB LB_0000513C Donc, prudence... ================================================================================ Note 47.14 Derniere version de DISM32 14 of 20 DECUSF::KERMA_G "THOMSON-CSF/Lab. Central de Rech." 5 lines 23-MAR-1990 18:44 -< si vous le souhaitez ? >- -------------------------------------------------------------------------------- Sur le même CD il y a aussi la 4.4 ...(?)... Mise à part l'encombrement de VMS: je peux télécharger (à moins qu'une partie seulement vous intéresse comme juste les sources par exemple ...) Bon week-end ... ================================================================================ Note 47.15 Derniere version de DISM32 15 of 20 DECUSF::JOLIN_R "Rémi JOLIN - T.A.T." 5 lines 23-MAR-1990 19:39 -< la 4.5 dit 4.4 !! >- -------------------------------------------------------------------------------- Si j'ai ecrit 4.4, c'est parce que c'est ce que dit la version 4.5 que Gerard a mise sur vms: Le bug est dans la 4.5... et n'etait pas la en 4.2... Quand est-il apparu ? mystere... ================================================================================ Note 47.16 Derniere version de DISM32 16 of 20 DECUSF::FOUCHET_F "Francois FOUCHET - OMF" 14 lines 23-MAR-1990 21:31 -< Faites chauffer le patch >- -------------------------------------------------------------------------------- Pour corriger le probleme, il suffit de patcher DISMINSTR.MAR pour ajouter la sauvegarde restauration de R0 bousille par le MOV, puis par LIB$SIGNAL (deux fois pas de chance !). DO_REG_ADR: BITB #COD_REF,6(R3)[R6] ; test if operand is code type, BEQL 0$ ; no, skip error report. =>>> PUSHR #^M ; SAVE RO MOVL ILV_PTR,R0 ; yes, get opcode address, PUSHL ILV_QUEUE[R0] PUSHL #1 PUSHL #DISM__INDCALJSB ; report funny CALL/JMP/JSB mode, CALLS #3,G^LIB$SIGNAL =>>> POPR #^M ; RESTORE RO ================================================================================ Note 47.17 Derniere version de DISM32 17 of 20 DECUSF::WERZ_P "Pascal WERZ, MagneTech, ORSAY" 3 lines 30-MAR-1990 18:20 -< Pb DISM32.FOR >- -------------------------------------------------------------------------------- Quand je recompile DISM32.FOR, j'ai une Illegal directive sur PSECT_NUM=... et les PSECT_xxx qui suivent. Est-ce normal? (non je suppose...) ================================================================================ Note 47.18 Derniere version de DISM32 18 of 20 DECUSF::GERARD_G "G. Gerard ENST centre de calcul" 1 line 30-MAR-1990 20:09 -< mais si ... >- -------------------------------------------------------------------------------- C'est un *bug* fortan qui doit etre repare, en tous cas en V5.3 ... ================================================================================ Note 47.19 Derniere version de DISM32 19 of 20 DECUSF::FOUCHET_F "Francois FOUCHET - OMF" 18 lines 30-MAR-1990 22:29 -< En parlant de bugs >- -------------------------------------------------------------------------------- Tiens, a propos, j'ai trouve 4 bugs dans DISM32. Le premier consiste a crasher le decompilateur si le nombre d'images partageables linkees avec l'image a decompiler est consequent (j'en avais 17). Le second, qui ne crashe pas, vient de l'interpretation des DST de modules PASCAL (on ne rit pas) avec un masque qui depasse 2 caracteres. Le troisieme concerne le format d'affichage de numero de lignes sur plus de 4 caracteres (faut pas ecrire plus de 9999 lignes par module). Le dernier enfin concerne les DST. Je suis pas vraiment sur que ca soit de la faute de DISM32, mais le test de fin de DST est fait sur une longueur d'element a zero. Or, il se trouve que cette configuration est generee par le linker AVANT la fin de la DST, d'ou un arret premature de l'analyse. ================================================================================ Note 47.20 Derniere version de DISM32 20 of 20 DECUSF::GERARD_G "G. Gerard ENST centre de calcul" 3 lines 2-APR-1990 10:10 -< et macro ! >- -------------------------------------------------------------------------------- Sans oublier un bug ? de macro qui fait que le numero de ligne source ne peut etre > a 65535, ce qui rend le debug des progs desassembles par dism32 un peu ardu car il y a beaucoup d'erreurs a la ligne 65535