Register
1
2 Use Virtual address
Real address
7. When describing an area of storage in mainline code, a copy file, or a macro,
DSECT is issued containing DS instructions.
8. Meaningful names are used instead of self-defining terms: for example,
5,X'02',C'I' to represent a quantity (absolute address, displacement, length,
should be symbolic and defined by an equate (EQU) listing. For example:
VMSTATUS EQU X'02' To set a bit, use: 01 BYTE,BIT
where BYTE = name of field, BIT is an EQU symbol.
To reset a bit, use:
NI BYTE,255-BIT
To set multiple bits, use: 01 BYTE,BIT1+BIT2
etc ....
All registers are referred to as: RO, R1, ... , R15.
All lengths of fields or control blocks are symbolic, that is, length of VMBLOK is: VMBLOKSZ EQU *-VMBLOK 9. Avoid absolute relative addressing in branches and data references, (that is,
location counter value (*) or symbolic label plus or minus a self-defining term
used to form a displacement). 10. When using a single operation to reference multiple values, specify each value
referenced, for example:
LM R2,R4,CONT SET R2=CONI SET R3=CON2 SETR4=CON3 CONI DC F'I' CON2 DC F'2' CON3 DC F'3' CP Conventions 277
CP Loadlist Requirements
11. Do not use PRINT NOGEN or PRINT OFF in source code.
12. MODULE NAMES: Control Section Names and External References are as follows:
Control Section or Module Name
The first three letters of module name are the assigned component code.
Example: DMK
The next three letters of the module name identify the module and must be
unique.
Example: DSP This three-letter, unique module identifier is the label of the TITLE card.
Each entry point or external reference must be prefixed by the six letter unique
identifier of the module.
Example: DMKDSPCH 13. TITLE CARD: DSP TITLE 'DMKDSP VM/SP DISPATCHER VERSION v LEVEL l'
14. ERROR MESSAGES: There should be no insertions into the message at execution time and the
length of the message should be resolved by the assembler. If insertions must
be made, the message must be assembled as several DC statements, and the
insert positions must be individually labeled.
15. For all RX instructions use a comma (,) to specify the base register when
indexing is not being used, that is:
L R2,AB(,R4)
16. To determine whether you are executing in a virtual machine or in a real
machine, issue the Store Processor ID (STIDP) instruction. If STIDP is issued
from a virtual machine, the version number (the first byte of the CPUID field)
returned will be X'FF'. The CP loadlist EXEC contains a list of CP modules used by the VMFLOAD pro­
cedures when punching the text decks that will make up the CP system. All mod­
ules following DMKCPE in the list are pageable CP modules. Each 4K page in this
area may contain one or more modules. The module grouping is governed by the
order in which they appear in the loadlist. An SPB7 (Set Page Boundary) card, a
loader control card placed in the text file, forces the loader to start this module at
7 A 12-2-9 multipunch must be in column 1 of an SPB card and the characters SPB in columns 2,3,
and 4 respectively.
278 VM/SP System Programmer's Guide
Previous Page Next Page