TAL Reference Manual

Compiler Directives
TAL Reference Manual526371-001
16-52
INNERLIST Directive
!Default NOINHIBITXX in effect
STRUCT .EXT xstruct[0:9];!XSTRUCT has NOINHIBITXX attribute
BEGIN
STRING array[0:9];
END;
INT index;
STRING var;
?INHIBITXX !Set INHIBITXX attribute for}
! for next declaration
STRING .EXT xstruct2 (xstruct);
!XSTRUCT2 has INHIBITXX attribute
PROC my_proc MAIN;
BEGIN
@xstruct2 := @xstruct;
var := xstruct[index].array[0];
!Generate efficient addressing
! because XSTRUCT has NOINHIBITXX
! attribute, but if Binder
! relocates this declaration
! beyond G[63], the addressing
! code is incorrect
var := xstruct2[index].array[0];
!Generate inefficient addressing
! because XSTRUCT2 has INHIBITXX
END; ! attribute; the addressing is
! correct even when the
! declaration is relocated beyond
! G[63]
INNERLIST Directive
INNERLIST lists the instruction code mnemonics (and the compiler’s RP setting) for
each statement.
The default is NOINNERLIST.
VST1632.vsd
POPINNERLIST
PUSHINNERLIST
NOINNERLIST
INNERLIST