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.