18.08.2013 Views

(SYSLIB) Programming Reference Manual - Public Support Login ...

(SYSLIB) Programming Reference Manual - Public Support Login ...

(SYSLIB) Programming Reference Manual - Public Support Login ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CABSAD$, CRELAD$–Addressing Routines<br />

CSYMVL$<br />

CSYMVL$ is the function code that determines which of the absolute addressing<br />

routines are called by C$ABSAD. It must be enclosed by apostrophes.<br />

symbol<br />

Name of the symbol for which the routine computes a value. The symbol name may<br />

be from 1 to 12 characters selected from the set A through Z, 0 through 9, and the<br />

special character $. If given as a string, then the parameter must be surrounded by<br />

apostrophes on the procedure call. This parameter may also be given as the address<br />

of a two-word area that contains the name in Fieldata format, left-justified and spacefilled.<br />

If the parameter symbol is omitted, then the routine uses the value in registers A0<br />

and A1 for symbol. In this case, the name must be left-justified in the register pair<br />

and space-filled. The name must be in Fieldata format.<br />

pkt-addr<br />

See 6.1.<br />

Returns<br />

error<br />

normal<br />

Error conditions are the same as those for CBX$.<br />

Register A0 contains the value of the symbol, and register A1 contains a Segment<br />

Load Table (SLT$) pointer (as discussed for CABSAD$). If the symbol is absolute,<br />

register A1 is always zero. If the collection source uses the TYPE EXTDIAG<br />

statement, any externally defined symbol of the collection may be looked up.<br />

Otherwise, unreferenced symbols and symbols defined in SYS$*RLIB$ elements are<br />

excluded. If the symbol is not global, in other words, if it is defined instead by a<br />

locally included element, one of the local definitions is returned. The definition that<br />

is returned cannot be predicted.<br />

6.2. Relocatable Addressing Routines<br />

The CRELAD$ routines are called by the MASM procedure C$RELAD. C$RELAD is used<br />

to generate the calling sequence for the relocatable version, the common bank version,<br />

or the common bank version using the Auto Switch calling sequence. Section 3<br />

describes the advantages and disadvantages of using the different types of calls.<br />

Calling Format<br />

C$RELAD[,t] func-code [,p1,p2] [pkt-addr]<br />

error return<br />

normal return<br />

6–8 7833 1733–004

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!