DataMuseum.dk

Presents historical artifacts from the history of:

ICL Comet 32

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about ICL Comet 32

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦683dc0526⟧ TextFile

    Length: 1455 (0x5af)
    Types: TextFile
    Notes: UNIX file
    Names: »epdtoadr.3«

Derivation

└─⟦26887b7e0⟧ Bits:30009717 Comet 32 harddisk image
    └─⟦28c352965⟧ »/a« UNIX Filesystem
        └─⟦this⟧ »usr/man/man3/epdtoadr.3« 

TextFile

.ig
	@(#)epdtoadr.3	2.1	7/1/84
	@(#)Copyright (C) 1983 by National Semiconductor Corp.
..
.TH EPDTOADR 3
.SH NAME
epdtoadr \- convert external procedure descriptor to absolute address
.SH SYNOPSIS
.nf
.B epdtoadr(descriptor)
.B long descriptor;
.fi
.SH DESCRIPTION
.I Epdtoadr
converts an external procedure descriptor to an absolute address.  An
external procedure descriptor is a 32-bit value used by the CXP and CXPD
instructions to call a procedure.  Such descriptors are used by C for
procedure variables.
.PP
An external procedure descriptor consists of a mod value and an offset value.
The mod value is contained in the low 16 bits of the descriptor, and the
offset is contained in the high 16 bits.  The mod value is the address of
the module table entry for the called procedure.  The offset value is an
index into the module's program base.  The program base is a 32-bit number
located eight bytes into the module table entry.  The CXP and CXPD
instructions calculate the absolute address of the procedure to call by
adding the offset value to the program base value.  The
.I epdtoadr
function duplicates these calculations.
.PP
.I Epdtoadr
is useful when the address of a procedure is wanted for typeout
or to provide the data for BSR or JUMP instructions.
.PP
.SH BUGS
This is a nonstandard function.  Most other UNIX systems do not require any
conversion, since the value used to call a procedure is the same as the
address of the procedure.