APAR status
Closed as program error.
Error description
Receiving errors on the PACK and UNPK instructions in the LPEX editor when editing Assembler source files. I noted the following errors in the LPEX editor for assembler PACK and UNPK assembler instructions. The following examples have been in production for many years and do work as expected but for some reason the LPEX editor does not like them. MIDTRERR EQU * MVC MESSAGE,MIDMSG1 MOVE DD NAME TO MSG MVC MESSAGE+44(8),DD4MIDT MOVE DD NAME TO MSG UNPK MESSAGE+31(7),EIBRESP UNPK EIBRESP TO MSG MVC MESSAGE+38(1),EIBRESP+3 . NC MESSAGE+31(8),ZEROFOXS . TR MESSAGE+31(8),HEXCHARS MAKE DISPLAYABLE UNPK MESSAGE+59(16),WRKACCT UNPK ACCT TO MSG Syntax: UNPK D1(L1,B1),D2(L2,B2). Error: Incorrect operand: MESSAGE+59(16). DOORBV DS 0H INT201 CLI BIT102L,X'00' DID WE GET A CPN? INT201 BNH DORETURN NO, WERE DONE RST404 MVI J2CPNIND,C'1' SET CPN INDICATOR TO 1 INT201 PACK J2ORIGAC,BIT102F(16) MOVE BIT102 TO ORIGACCT INT201 Syntax: PACK D1(L1,B1),D2(L2,B2). Error: Incorrect operand: BIT102F(16). According to our IBM documentation 16 is a valid operand length for the instructions. It seems some valid statements are being flagged as errors. Client is using the PACK and UNPACK instructions with an offset and length. When he specifies a length of 16 (double word), the statement is flagged as an error. If he changes it to a value less than 16 (such as 15), the error goes away. Explaination: The assembler parser is not handling machine instructions which have parameters whose format is D1(L1,B1). This is a valid bug, which has existed since the parser was created. UNPK and PACK are only two examples, this bug affects all instructions which support this type of parameter. So for now, a fix could be provided in next release after RDz 7.5.
Local fix
Problem summary
Machine instructions which specified a length of 16 caused the syntax checker in System z LPEX to produce an error. For example the following statement: UNPK MESSAGE+59(16),WRKACCT results in the error: Syntax: UNPK D1(L1,B1),D2(L2,B2). Error: Incorrect operand: MESSAGE+59(16).
Problem conclusion
The assembler syntax checker was not correctly validating length and displacement for machine instructions. The problem listed in this APAR has been resolved with IBM Rational Developer for System z V7.6.0.1 Fix Pack which is available from the Recommended Fixes support download page: http://www-1.ibm.com/support/docview.wss?rs=2294&uid=swg27006335
Temporary fix
Comments
APAR Information
APAR number
PK97320
Reported component name
RATL DEV FOR SY
Reported component ID
5724T0700
Reported release
751
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2009-09-28
Closed date
2009-12-16
Last modified date
2009-12-16
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
RATL DEV FOR SY
Fixed component ID
5724T0700
Applicable component levels
R760 PSY
UP
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSJK49","label":"IBM Developer for z Systems"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.5.1","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
27 October 2020