Skip to main content

ASMCM0068S : No base register available

  • February 15, 2013
  • 0 replies
  • 0 views

Problem:

An Assembler module compiles correctly on the mainframe, but not in Mainframe Express (MFE). The registers defined as base registers by USING statements are not sufficiant to address the whole scope of the program.  For every block of operation code or data definition within a CSECT, which exceeds 4096 Byte, a new base register is required.  DSECT are addressed separately.

Resolution:

While developing a new module, you would add another general register (R2 to R11) to the set of base registers. If no register is available, the programmer has to reduce code, data structures, or text literals.  While maintaining a module in MFE, the source should not be changed.

The ASMCM0068 is caused by more code generated by macro expansion.  The IBM system macros are newly implemented for MFE, and may produce more code than the original macros.  Along with ASM10M25, Micro Focus introduced a new directive called INLINE, which is the default setting now.  It generates more code inline the macros for better IBM compatibility.  But it also enhances the program.   To reduce the generated code, enter to additional directive NOINLINE.

Old KB# 6671

#EnterpriseDeveloper
#MFDS