BMAC - GMAP macros for writing B subroutines.

Usage:

lodm   .bmac   Retrieve macros
bmac

Description:

.BMAC is a collection of GMAP macros which simplify the task of interfacing a GMAP subroutine to a B program.

BMAC is one of the macros contained in .BMAC. It sets up the environment expected for assembling subroutines for B. In particular, the TSS macros (.A6TSM) are loaded, the error linkage (.E.L.) is removed, and register names are set up.

It is the convention when writing subroutines for B that index registers be referred to as x1, x2, etc., not as 1, 2, etc. In a similar vein, for address registers, ar0, ar1, and so on, should be used rather than simple numbers.

Some registers are reserved and have special names. These are:

rd(ar4)  points to the current input IOV
wr(ar5)  points to the current output IOV
sp(ar7)  the stack pointer
cp(x6)   the co-routine pointer

For further detail on register use, see also "expl b bmac regs".

For use with the modifier field of EIS instructions, "ar", "rl", and "id" are to be used when the modifier field specifies address register modification, register length modification and indirection respectively. For EIS numeric descriptions, FS should be used to specify floating point, LS specifies leading signed, TS specifies trailing sign, and NS specifies no sign.

See Also:

expl b bmac regs
summary of register conventions

Copyright © 1996, Thinkage Ltd.