MS_code_conventions

During a primary address cycle, the two LSBs of the first register operand field are used to select the MS code. Symbols for the MS codes have been assigned (globally) as follows:

D==0 ; data space for device C==1 ; CSR space for device

DM==2 ; data space for broadcast CM==3 ; CSR space for broadcast

Thus an instruction to read Fastbus CSR space might be written as DM ; Data memory SLOT: DC 4 ; Primary address of module = 4 DC 0 ; secondary address =0 DC VAL_CSR0; address of location to be written to VAL_CSR0:DS 1 ; reserve space PM ; Program memory FR C,SLOT ; FASTBUS instruction to read CSR 0

Note that the standard FASTBUS call to perform this operation (e.g. in FORTRAN) is "CALL FRC(....)". The IBM assembler instruction looks like an "FRC" instruction (ignoring the space between the 'FR' and the 'C' ). Similarly, the "CALL FRD" equivalent instruction would appear in IBM assembler as

FR D,SLOT

and the broadcast read instruction "CALL FRCM" would be

FR CM,BROAD

It is requested that all BNL787 SSP programmers keep to this convention for ease of reading other people's code.

Converted from .HLP to .HTML by HLPTOHTML.