Planet MVS Dave's unofficial HLASM web page Dave's HLASM tips |
Attend the HLASM sessions at the Share or OS/390 EXPO conferences. They have been presented in the past by John R. Ehrman, the father of the HLASM. If you can't wait for the next conference, maybe you still have the IBM video from 1992 where he introduced the HLASM to the masses. |
John Ehrman speaking (Sorry: bad image) |
First, the HL Assembler's Toolkit Feature Release 2 requires OS/2 only for the Program Understanding Tool component; the other five components (disassembler, cross-reference, debugger, macros, and comparison utility) all run on mainframe operating systems (MVS, OS390, VM, and VSE).
Second, it was announced with HLASM R3 that the Program Understanding Tool will also support Windows, with delivery planned for 4Q 1998. The standard Toolkit package will be generally available Sept. 25, 1998.
Third, another part of HLASM R3's Toolkit is a set of enhancements to the Cross-Reference Facility, including what are called "Control Flow" reports. These reports list external references and entry points, and can be sorted both by "caller" and by "callee" (reference or definition).
The XREF facility also provides some information that I think would fit your definition of "demographics", as it can handle collections of many modules in a single invocation. (XREF also handles C/C++, but I don't know offhand if you can analyze a mix of assembler and C++ modules in a single run; I haven't tried it, and can't tell from a quick reading of the documentation.)
There was a brief discussion about the HLASM Program Understanding
Tool late last year, and I thought I ought to correct a few
misconceptions about it.
I am the current developer for the brand new ASMPUT, which will be replacing the current OS/2 version very soon now, and which offers the same functionality for Windows (95/98 and NT). The code has been virtually re-written from scratch giving us a single, integrated application with a (hopefully) easy to use user interface. The tool will provide the same sort of graphical analysis of the code flow in your program, plus in this new version we've included a fairly extensive code and register flow analysis which will highlight potential bugs in your code that aren't detected by the assembler. For example, say you make a mistake and type "DS H" instead of "DS 0H" when defining a label. The tool will highlight this letting you know that you've coded a storage definition in the middle of your code. Of course it can detect whether you branch around your storage declarations, and will not flag them. There are heaps of other potential errors that are detected, including the use of registers before they have any values set, unreachable code, bad operand alignments that the assembler doesn't detect, wild branches to low memory, and so on... Anyway, enough advertising...I just thought the news group might like to know that the Program Understanding Tool is alive and kicking... |
CWJESTAB Macro and Copy Code Source Summary Con Source Volume Members L1 ABENDAID.SORCMAC PPXA17 CWINIT RELEASE L2 SYS1.SMPMTS ESA43R $BUFFER $DAS $HASPEQU $HCCT $IOT $SCAT $SDB $SJB L4 SYS1.HASPSRC ESA43D $HFAME $PDDB $TAB $TQE $XECB L5 SYS1.MACLIB SYS1R3 IOSDIEDB IOSDIOBE POST L6 SYS1.MODGEN SYS1R3 IFGRPL IFGRPLVS
Want to know how I did this animated GIF? See my 3270 Demo page. |
EXEC PGM=ASMLANGX,PARM='PROG1 (ASM LOUD ERROR DEBUG'The port of TCP/IP for MVS is the same way.
EXEC PGM=ASMLANGX,PARM='&M (ASM LOUD ERROR DEBUG'I got a member called "&M" in the ASMLANGX PDS which doesn't follow normal TSO/ISPF naming standards.
Ed's public-domain HLASM enhancements are now completely current with PK01283 for both HLASM 1.4 and HLASM 1.5. He also improved the FLOWASM program and save area stack manipulation code in the STKSAVE macro. They are available in this TSO XMIT file: asmmods.xmi (courtesy of Phoenix Software).
This is an XMIT file that you will either need to view using XMIT manager on Windows or upload to your mainframe into a FB LRECL=80 dataset and extracted using the RECEIVE TSO command.
The attached document has some references to a VSAMIO module that was in use when this document was written. I do not have access to those macros. However, I can supply the "Perform" macros if you want them.
Dave's HLASM tips web page IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. |