While attempting to add a new BIT field to an ACF2 LID record, assembling the ACFFDR produces the following error:
** ASMA028E Invalid displacement
** ASMA435I Record xx in ACF2.CAX1MAC0(LIDREC) on volume: xxxxx
To resolve the error for the LIDREC assembly, the total amount of bytes defined in the LIDREC cannot exceed 1024. This is then broken down into four sections with the total byte limits in decimal and hex as follows:
Byte Limits:
ACFLID Reserved Space: 320(DECIMAL), 140(HEX) BYTES
USERLID Fields Space: 192(DECIMAL), C0(HEX) BYTES
ACFXLID Extended Reserved: 320(DECIMAL), 140(HEX) BYTES
USERXLID Fields Extended Space: 92(DECIMAL), C0(HEX) BYTES
Example:
When looking above the assembly error in the joblog, the following equation can be seen:
000402 956+ DS 0S(1024-(*-LIDREC))
Convert the hexadecimal placement to decimal format. In this case, * is 402 hex which is 1026 decimal. LIDREC starts at 0. So the equation now is:
(1024-(1026-0))
In this example, the error is occurring because the addition of the new LID field(s) is 2 decimal bytes over the limit of the LID record.