ICL 1900 Series George 3 Operating System Commands

ALTER (AL)

Function

Resets the contents of a location in the core image.

Format

  1. ALTER number,number

  2. ALTER number,instruction

  3. ALTER PURE,number,number

  4. 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.

  1. A function code must be prefixed by an apostrophe (') and must be a three digit octal number (for example '033, '155).

  2. The function, accumulator and operand fields must be seperated by at least one space character.

  3. 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).

  4. 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.

  5. Permanent PlAN macro instructions are not recognised.

  6. The accumulator field must be a digit in the range 0 to 7.

  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.

  8. In the case of branch instructions, the following operand formats are permissible:-

Error Messages

UNKNOWN INSTRUCTION NMEMONIC
INSTRUCTION FORMAT ERROR
INVALID ACCUMULATOR FIELD
INVALID OPERAND FIELD
INVALID MODIFIER FIELD