ICL 1900 Series George 3 Operating System Commands
ALTER (AL)
Function
Resets the contents of a location in the core image.
Format
- ALTER number,number
- ALTER number,instruction
- ALTER PURE,number,number
- ALTER PURE,number,instruction
Formats 3 and 4 are significant only in GEORGE 4.
The first number parameter in each case gives the address of the
location to be altered, and the following parameter gives the new contents
of the location either as a number or as an instruction. The instruction
can be in the form either of a PLAN mnemonic or of a function code.
The string PURE, which may be abbreviated to P, is significant only in
GEORGE 4. It must be present if the location to be altered does not have
write permission. The command will not, however, alter a location in a
pure area which can be shared. If the user requires to do this he will
have to load his own private copy of the program. This can be achieved by
specifying the character string PRIVATE as a parameter to the
LOAD command.
Forbidden contexts
NO CORE IMAGE
Execution
The contents of the loction are altered as indicated.
Note: If a location in an overlay of an overlay program is ALTERed, it
will be overwritten when the overlay is next brought into core.
Examples
| ALTER 100,0 |
The contents of word 100 are set to zero |
| ALTER 90,LDX 0 1 |
The contents of word 90 are set to LDX 0 1 |
| ALTER 88,[87] |
The contents of word 88 are set to the contents of word 87 |
| ALTER 142,SUSWT #4142 |
The contents of word 142 are set to SUSWT 2HAB |
| ALTER 174,'020 6 4(2) |
The contents of word 174 are set to ANDX 6 4(2) |
| ALTER 91,SUSBY MT4 |
The contents of word 91 are set to SUSBY MT4 |
| ALTER P,4170,LDN 1 2 |
The contents of word 4170, which does not have write permission, are
set to LDN 1 2 |
Error Messages
It is clearly not possible to present the full facilities of a compiler
in allowing the instruction option, and consequently the formats adopted
may differ from the PLAN format. The following notes are produced to
clarify certain points.
- A function code must be prefixed by an apostrophe (') and must be a
three digit octal number (for example '033, '155).
- The function, accumulator and operand fields must be seperated by at
least one space character.
- In the case where an accumulator field and/or an operand field is not
required for a particular nmemonic (for example, NULL, BRN) an error
will be flagged if one is supplied. The same principle is normally
applied in the case of function codes, although in the cases where a
mnemonic implicitly defines the accumulator field, this must be
explicitly specified in the case of the function codes (for example
'074, '161).
- If a function code is specofied for which there is no corresponding
PLAN mnemonic, the accumulator and operand fields are assumed to be
necessary for the instruction. The modifier field is optional. No
error checking is carried out in this case beyond checking that the
accumulator field lies within the range 0 to 7 and the operand field
lies within the range 0 to 4095.
- Permanent PlAN macro instructions are not recognised.
- The accumulator field must be a digit in the range 0 to 7.
- The operand field can be a number in the normal GEORGE 3 sense (except
for branch instructions, see below) or a peripheral name (where
applicable). Alphabetic operand fields (for example SUSWT or DEL) are
not allowed. Modification is allowed where appropriate and the modifier
must be a digit in the range 1 to 3 enclosed in parentheses immediately
after the operand.
- In the case of branch instructions, the following operand formats are
permissible:-
- an unsigned integer (for Direct Branch Mode (DBM))
- a signed integer as in Extended Branch Mode (EBM)(for example,
+4, -16)
- an unsigned integer enclosed in parentheses, indicating a
replaced branch as in EBM (for example (427))
- a signed integer prefixed by a *. This is converted into an
absolute address in DBM format. (For example AL 100,BRN *-10
will result in [100] = #03500132).
Error Messages
UNKNOWN INSTRUCTION NMEMONIC
INSTRUCTION FORMAT ERROR
INVALID ACCUMULATOR FIELD
INVALID OPERAND FIELD
INVALID MODIFIER FIELD