The expandmacro_ply.exe is a command on Windows written by Python(then convert to exe), which can expand the HLASM macro statement and can show the steps it be expanded. What can you do by it? 1.Learn how does one macro be expanded by specifed parameter --debug=true. 2. Show the expansion or compare the result given different parameters for one macro. Get the help information without parameter. C:\Users\mzhai>expandmacro_ply.exe usage: expandmacro_ply --maclib= path of maclib. First of all, You'd better download all macros in SYS1.MACLIB on one LPAR. --call= CALL_MACRO_STRING --sysndx=1 SYSNDX's value --debug=False if debug==true, more comment given eg: expandmacro_ply.exe --maclib=d:/test/sysmac23 --call=" CALL BINAALG" --sysndx=3 --debug=true Show the expansion. C:\Users\mzhai>EXPANDMACRO_PLY --maclib=d:/test/sysmac23 --call=" CPOOL BUILD,PCELLCT=10,SCELLCT=20,CSIZE=40,SP=2 +++++++++++++++++++++++++++++++++ BAS 1,*+48 .BRANCH AROUND PARAMETER LIST DC AL4(10) .PRIMARY CELL COUNT DC AL4(20) .SECONDARY CELL COUNT DC AL4(40) .CELL SIZE DC AL1(2) .SUBPOOL ID DC AL1(0) .KEY DC BL2'0000000000000000' .FLAGS DC AL4(0) .TCB ADDRESS DC XL24'00' .HEADER ESAR 15 .SAVE SECONDARY ASN STM 15,12,16(13) .SAVE REGISTERS L 15,16(0,0) .CVT ADDRESS L 15,772(,15) .ADDRESS SYSTEM LINKAGE TABLE L 15,76(,15) .OBTAIN PC NUMBER PC 0(15) .PC TO IGVCPBDP L 2,16(0,13) .RESTORE SECONDARY ASN SSAR 2 .RESTORE SECONDARY ASN LM 1,12,24(13) .RESTORE REGISTERS Show how does CPOOL macro run. C:\Users\mzhai>EXPANDMACRO_PLY --maclib=d:/test/sysmac23 --call=" CPOOL BUILD, PCELLCT=10,SCELLCT=20,CSIZE=40,SP=2,MF=(E,CPOOL_X)" --debug=true line 2 : meet:MACRO, GOTO:3 given paras : [('FUNC', '', 'KEY_PARA'), ('AREAPTR', '', 'KEY_PARA'), ('DCB', '', 'KEY_PARA'), ('MF', 'L', 'KEY_PARA')] paras in macro prototype: [('MF', 'S', 'KEY_PARA'), ('FUNC', '', 'KEY_PARA'), ('BYPASS_LLA', '', 'KEY_PARA'), ('HIDE', '', 'KEY_PARA'), ('EXIT_SCOPE', '', 'KEY_PARA'), ('CONCAT', '', 'KEY_PARA'), ('EXIT_OPTION', '', 'KEY_PARA'), ('OPTION', '', 'KEY_PARA'), ('SUBPOOL', '', 'KEY_PARA'), ('CONN_INTENT', '', 'KEY_PARA'), ('DCB', '', 'KEY_PARA'), ('CONN_ID', '', 'KEY_PARA'), ('AREAPTR', '', 'KEY_PARA'), ('AREA', '', 'KEY_PARA'), ('DE_LIST', '', 'KEY_PARA'), ('ENTRY_GAP', '', 'KEY_PARA'), ('MEM_DATA', '', 'KEY_PARA'), ('NAME_LIST', '', 'KEY_PARA'), ('NAME', '', 'KEY_PARA'), ('PDSDE', '', 'KEY_PARA'), ('EXIT_DST', '', 'KEY_PARA'), ('EXIT_PREV_DSTPTR', '', 'KEY_PARA'), ('EXT_ATTR', '', 'KEY_PARA'), ('RETCODE', '', 'KEY_PARA'), ('RSNCODE', '', 'KEY_PARA')] SET LOCAL_MAP MF->S SET LOCAL_MAP FUNC-> SET LOCAL_MAP BYPASS_LLA-> SET LOCAL_MAP HIDE-> SET LOCAL_MAP EXIT_SCOPE-> SET LOCAL_MAP CONCAT-> SET LOCAL_MAP EXIT_OPTION-> SET LOCAL_MAP OPTION-> SET LOCAL_MAP SUBPOOL-> SET LOCAL_MAP CONN_INTENT-> SET LOCAL_MAP DCB-> SET LOCAL_MAP CONN_ID-> SET LOCAL_MAP AREAPTR-> SET LOCAL_MAP AREA-> SET LOCAL_MAP DE_LIST-> SET LOCAL_MAP ENTRY_GAP-> SET LOCAL_MAP MEM_DATA-> SET LOCAL_MAP NAME_LIST-> SET LOCAL_MAP NAME-> SET LOCAL_MAP PDSDE-> SET LOCAL_MAP EXIT_DST-> SET LOCAL_MAP EXIT_PREV_DSTPTR-> SET LOCAL_MAP EXT_ATTR-> SET LOCAL_MAP RETCODE-> SET LOCAL_MAP RSNCODE-> line 3 : meet MACRO PROTOTYPE, GOTO:28 ... .... line 960 : DEFINE GLOBAL VARS DESCSECT--> line 961 : meet COMMENT, GOTO:962 line 962 : SET VAR var to set: &DESCSECT expr :'YES' --> YES SET VAR : DESCSECT-->YES line 963 : meet statement: IGWDES call subMac:IGWDES--------------------->>> ... .... There are some BUGs I have found. If you are interesting to the Source code or find some BUGs or other questions, please mail to MZhai@rocketsoftware.com.
- 粉丝: 1638
- 资源: 13
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助