From: SMTP%"MACRO32%WKUVX1.BITNET@uu7.psi.com" 22-JUL-1993 08:36:40.23 To: EVERHART CC: Subj: Re: CHMx codes X-Listname: "VMS Internals, MACRO, & BLISS Discussions" Warnings-To: <> Errors-To: MacroMan%WKUVX1.BITNET@uu7.psi.com Sender: MacroMan%WKUVX1.BITNET@uu7.psi.com From: Reply-To: MACRO32%WKUVX1.BITNET@uu7.psi.com X-Newsgroups: vmsnet.internals Subject: Re: CHMx codes Date: 22 Jul 1993 08:42:09 +0200 Organization: PTT Telecom B.V. The Netherlands Lines: 61 Message-Id: <22lcs1$hjb@hdxu03.telecom.ptt.nl> Nntp-Posting-Host: hdxu03.telecom.ptt.nl To: MACRO32@WKUVX1.BITNET X-Gateway-Source-Info: USENET In article sasjzs@vms.sas.com writes: > >The subject line doesn't say all that much about it. >Can anyone tell me where to find the CHMx codes? >IE. If you see the instruction CHMK #5, where to find out >what routine the 5 refers to. I'm looking specificially >for CHMS codes in this case, but have wanted to know the >CHMK codes before too. I know the CHMS vectors are handled >differently (CTL$GL_CMSUPR?) than the CHMK vectors, but >I can't find any obvious mapping between the numbers and >the routines. I've looked all through the [v55.sys*.lis] >files and don't see any obvious place where it is layed out. > >Any help will be greatly appreciated. > I use a utility which is based on SDA's EXAMINE/INSTRUCTION, e.g. to find the number for $ASSIGN, type SDA> EXAMINE/INSTRUCTION EXE$ASSIGN+2 To find the service when you know the number, follow these steps : 1 - build a file with system services and RMS services ( $ help/out=system_services.txt system_services $ help/out=rms_services.txt rms ) 2 - manually edit system_services.txt and rms_services.txt so that every line contains one service. 3 - process these textfiles with some DCL : $ open /read sysfile system_services.txt $ open /write anafile analsys.commands $ write anafile "set output chm.dat" $again_0: $ read sysfile line /end=end_0 $ line = f$edit( line,"compress,trim") $ write anafile "examine/instr exe''line'+2" $ goto again_0 $end_0: $ close sysfile $ open /read rmsfile rms_services.txt $again_1: $ read rmsfile line /end=end_1 $ line = f$edit( line,"compress,trim") $ write anafile "examine/instr rms''line'+2" $ goto again_1 $end_1: $ close rmsfile $ close anafile $ set mess /nof/noi/nos/not $ analyze /system @analsys.commands exit $ set message/f/i/s/t 4 - now you've got a CHM.DAT with all the information, which you can SEARCH. Repeat above procedure with every VMS update. Dirk Jetten dirk%ptt-iat@nluug.nl *** THINK, OR THWIM ***