Instructions marked with a * require the PLAN manual for a fuller description.
Instructions marked with a C may set the carry bit but cannot cause overflow.
The 043 order may set V or C. The carry register C is left clear by any order except 023, 117 and 123 unless that order sets C. Instructions marked with a V may cause overflow.
Arithmetic into Accumulators V 000 LDX X N(M) Load contents N(M) into X V 001 ADX X N(M) Add contents N(M) to X V 002 NGX X N(M) Load negative of contents N(M) into X V 003 SBX X N(M) Subtract contents N(M) from X C 004 LDXC X N(M) Load contents N(M) into X C 005 ADXC X N(M) Add contents N(M) to X C 006 NGXC X N(M) Load negative of contents N(M) into X C 007 SBXC X N(M) Subtract contents N(M) from X Arithmetic into Store V 010 STO X N(M) Store X in address N(M) V 011 ADS X N(M) Add X into address N(M)'s contents V 012 NGS X N(M) Store negative X into address N(M) V 013 SBS X N(M) Subtract X from address N(M)'s contents C 014 STOC X N(M) Store X in address N(M) C 015 ADSC X N(M) Add X into address N(M)'s contents C 016 NGSC X N(M) Store negative X into address N(M) C 017 SBSC X N(M) Subtract X from address N(M)'s contents Logical Operations into Accumulator 020 ANDX X N(M) X is result of ANDing X and contents N(M) 021 ORX X N(M) X is result of ORing X and contents N(M) 022 ERX X N(M) X is result of EXCLUSIVE ORing X and contents N(M) Interpret 023 OBEY N(M) Obey instruction in address N(M) Part Word into Accumulator 024 LDCH X N(M) Load character at address N(M) into X 025 IDEX X N(M) Load exponent (xe) from address N(M) into X Comparison 026 TXU X N(M) Set C if X different from contents N(M) 027 TXL X N(M) Set C if X less than contents N(M) Logical Operations into Store 030 ANDS X N(M) Contents N(M) is result of ANDing X and contents N(M) 031 ORS X N(M) Contents N(M) is result of ORing X and contents N(M) 032 ERS X N(M) Contents N(M) is result of EXCLUSIVE ORing X and contents N(M) Store Zero 033 STOZ N(M) Store zero in address N(M) Part Word Manipulation into Store 034 DCH X N(M) Lower 6 bits X stored in character address N(M) 035 DEX X N(M) Lower 9 bits X stored in exponent of address N(M) 036 DSA X N(M) Lower 12 bits X stored in address N(M) 037 DLA X N(M) Lower 15 bits X stored in address N(M) Multiplication V 040 MPY X N(M) Multiply X by contents address N(M) V 041 MPR X N(M) Multiply X by contents address N(M) and round * 042 MPA X N(M) Multiply and accumulate Character Conversion V 043 CDB X N(M) X is set to 10 times X plus contents of character address N(M) * 047 CBD X N(M) Binary to decimal Division * 044 DVD X N(M) Divide * 045 DVR X N(M) Divide and round * 046 DVS X N(M) Divide single length Branch on State of Accumulator 050 BZE X N Branch to address N if X=0 052 BNZ X N Branch to address N if X≠0 054 BPZ X N Branch to address N if X≥0 056 BNG X N Branch to address N if X<0 Indexing and Counting 060 BUX X N 15AM: Add 1 to xm part of X and subtract 1 from xc part. Branch to address N if xc≠0 060 BUX X N 22AM: Add 1 to xem part of X and branch to address N 062 BDX X N 15AM: Add 2 to xm part of X and subtract 1 from xc part. Branch to address N if xc≠0 062 BDX X N 22AM: Add 2 to xem part of X and branch and branch to address N 064 BCHX X N 15AM: Increment character address (xk:xm) of X by 1 and subtract 1 from xd. Branch to address N if xd≠0 064 BCHX X N 22AM: Increment character address and jump to address N Subroutine Linkage 070 CALL X N Call routine at address N leaving link in X V 072 EXIT X N Return to address N+X Miscellaneous Branch 074 BRN N X=0, branch to address N 074 BVS N X=1, branch to address N if V set 074 BVSR N X=2, branch to address N if V set and clear V 074 BVC N X=3, branch to address N if V clear 074 BVCR N X=4, branch to address N if V clear and clear V 074 BCS N X=5, branch to address N if C is set 074 BCC N X=6, branch to address N if C is clear V 074 BVCI N X=7, branch to address N if V is clear and invert V V 076 BFP N X=0, branch to address N if A1=0.0 V 076 BFP N X=1, branch to address N if A1≠0.0 V 076 BFP N X=2, branch to address N if A1≥0.0 V 076 BFP N X=3, branch to address N if A1<0.0 076 BFP N X=4, branch to address N if floating point overflow clear 076 BFP N X=5, branch to address N if floating point overflow set Arithmetic with Small Integers 100 LDN X N(M) Set X to N(M) V 101 ADN X N(M) Add N(M) to X 102 NGN X N(M) Set X to -N(M) V 103 SBN X N(M) Subtract N(M) from X 104 LDNC X N(M) Set X to N(M) C 105 ADNC X N(M) Add N(M) to X C 106 NGNC X N(M) Set X to -N(M) C 107 SBNC X N(M) Subtract N(M) from X Shifting 110 SLC X N(M) Nt=0, shift X left Ns places circular 110 SLL X N(M) Nt=1, shift X left Ns places logical V 110 SLA X N(M) Nt=2, shift X left Ns places arithmetic 111 SLC2 X N(M) Nt=0, shift X, X+1 left Ns places circular 111 SLL2 X N(M) Nt=1, shift X, X+1 left Ns places logical V 111 SLA2 X N(M) Nt=2, shift X, X+1 left Ns places arithmetic 112 SRC X N(M) Nt=0, shift X right Ns places circular 112 SRL X N(M) Nt=1, shift X right Ns places logical V 112 SRA X N(M) Nt=2, shift X right Ns places arithmetic 112 SRAV X N(M) Nt=3, shift X right Ns places arithmetic on overflow 113 SRC2 X N(M) Nt=0, shift X, X+1 right Ns places circular 113 SRL2 X N(M) Nt=1, shift X, X+1 right Ns places logical V 113 SRA2 X N(M) Nt=2, shift X, X+1 right Ns places arithmetic 113 SRAV2 X N(M) Nt=3, shift X, X+1 right Ns places arithmetic on overflow Floating Point Normalise 114 NORM X N(M) Normalise X 115 NORM X N(M) Normalise X, X+1 Logical Operations with Small Integers 120 ANDN X N(M) X is set to X AND N(M) 121 ORN X N(M) X is set to X OR N(M) 122 ERN X N(M) X is set to X EXCLUSIVE OR N(M) Miscellaneous 123 NULL Null operation 124 LDCT X N(M) Sets xc of X to N(M), xm of X to zero * 125 MODE N(M) Set zero suppression mode 126 MOVE X N(M) Transfer N(M) words from address X to address X+1 127 SUM X N(M) X is sum of N(M) words from address X+1 Floating Point 130 FLOAT X N(M) Set A1 to contents N(M) floated 131 FIX X N(M) Fix contents A1 and store in N(M) 132 FAD X N(M) Add contents N(M) to A1 (X=0) 133 FSB X N(M) Subtract contents N(M) from A1 (X=0) 133 FSB X N(M) Contents A1 becomes contents N(M) minus A1 (X=4) 134 FMPY X N(M) Multiply contents N(M) by A1 (X=0) 135 FDVD X N(M) Divide contents A1 by N(M) (X=0) 135 FDVD X N(M) A1 becomes contents N(M) divided by A1 (X=4) 136 LFP N(M) A1 set to contents N(M) 136 LFPZ A1 set to zero, X=1 137 SFP N(M) Store A1 in address N(M) 137 SFPZ N(M) Store A1 in address N(M) and set A1 = 0, X=1 Peripheral Control 150 SUSBY X Suspend if specified peripheral is active 151 REL X Release a specified peripheral 152 DIS X Disengage a specified peripheral 154 CONT X N(M) Read more program from a specified peripheral 155 SUSDP X N(M) Suspend and dump program on specified peripheral 156 ALLOT X Allocate a specified peripheral 157 PERI X N(M) Peripheral transfer depending on control area Interrupt and Delete 160 SUSTY N(M) X=0, Suspend and type message on console typewriter 160 DISTY N(M) X=1, Display message 160 DELTY N(M) X=2, Delete program and type message 161 SUSWT X=0, Suspend and wait 161 DISP X=1, Display 161 DEL X=2, Delete * 162 SUSMA 163 AUTO X N(M) Activate member X at N(M) 164 SUSAR Suspend member awaiting reactivation 164 SUSIN Suspend member awaiting flag-setting interrupt 165 GIVE X N(M)=0, Give date in binary in X 165 GIVE X N(M)=1, Give date in characters in X, X+1 165 GIVE X N(M)=2, Give time in characters in X, X+1 165 GIVE X N(M)=3, Give current core store location in X 165 GIVE X N(M)=4, Alter core store allocation to that specified by X 165 GIVE X N(M)=5, Give details of executive and central processor 165 GIVE X N(M)=8, Give current address mode and branch mode in X 165 GIVE X N(M)=9, Alter address mode and branch mode to that given in X 165 GIVE X N(M)=10, Give mill time (in microseconds) used by current core image in X, X+1 165 GIVE X N(M)=11, Give the time in seconds since midnight as a mid-point number in X, X+1 165 GIVE X N(M)=12, Alter size of the active part of the core image to the value contained in X: this has the same effect as GIVE with N(M)=3 under GEORGE 4. 165 GIVE X N(M)=16, Report on the status of an area of the current core image, as specified in X, X+1. 'Status' refers to read/write/execute permission, shareability and an indication of whether the area has been used. This is only applicable to GEORGE 4 environments. 165 GIVE X N(M)=17, Change the permission to that specified in X, X+1. This is only applicable to GEORGE 4 environments. 165 GIVE X N(M)=18, Give the permission specified in X, X+1 (in addition to any current permission). This is only applicable to GEORGE 4 environments. 165 GIVE X N(M)=19, Withhold the permission specified in X, X+1. 166 RRQ N(M) X=0, read request block into N(M) 166 RRQ N(M) X=1, replace request block from address N(M) Special (available on 1906A but not all 1900's) 066 BCT N Subtract 1 from xm part of X and branch N if nonzero 116 MVCH X N(M) Transfer N(M) characters 117 SMO X N(M) Supplementary modifier to next instruction. The following mnemonics for handling R-TRUSTED programs exist in PLASYD (but not in PLAN): 160 RMS X=7, request console message. This is not implemented for programs running under GEORGE 3/4 164 ACT X=7, N(M)=0, activate the program under control (PUC) 167 SPP Set up parameters for PUC
For further information on these, see User Notice 4 to the Central Processors Manual (ICL Technical Publication 4095).