Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

LBRET - Return from user label routine

Macro type: type R

The LBRET macro is only required when processing standard user labels. Standard user labels are:

  • UVL: user volume header label

  • UHL: user file header label

  • UTL: user trailer label

The EXRTN macro is used for nonstandard labels.

Format

Operation

Operands

LBRET

fcbadr / (1)
,0 / 1 / 2 / (0)
[,PARMOD = 24 / 31]

Operand descriptions

fcbaddr

Address of the FCB, same as the address of the FCB macro.

(1)
The address of the FCB is stored in register 1.

The second operand specifies a function code.

0
Label processing is terminated: for output files, the current label will not be written either.

1
Label processing is terminated: for input files, all subsequent labels in the group will be skipped; for output files, the current label will still be written.

2
Label processing is continued: for input files, the UVL and UTL labels are followed by further user labels which are to be read and processed by the program; for output files, the system returns control to the user program after a user label has been written. The user can write a maximum of 9 UVL and 256 UHL and UTL labels in this way. The system terminates label processing when these limits are reached.

(0)
The rightmost byte of register 0 contains the function code.

PARMOD

Specifies the generation mode for the macro.

Default value:

the value preset for the generation mode by means of the GPARMOD macro or by the assembler.

= 24
The macro is expanded in accordance with the format for the 24-bit interface. The object code is thus executable only in 24-bit addressing mode.

= 31
The macro is generated as addressing mode-independent.

Programming note

The LBRET macro destroys the contents of registers 0, 1, 14 and 15.