lodm .bmac Retrieve macros bmac
.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.
Copyright © 1996, Thinkage Ltd.