Story

Hardware

(Software)
Order code
Initial orders
Programing
Languages

People

Media

Support

Future

Links-










The ICT 1301 Resurrection Project.

The Order Code

The hardware order code for the 1301 was a set of decimal
( Yes Decimal ) Codes which are tabulated below.
The order code was designed to cover decimal arithmetic and ( due to the age of its design )
Old Sterling calulation functions as well.
Yes that's Pounds, Shillings and Pence calculations in hardware.

Order Code Listing

---: Opcode -
Function -
Graphic
---: 00 Do Nothing Yes
---: 11 Stop the program running Yes
---: 21 Set The Sterling Position register Yes
---: 22 Set the Decimal point register Yes
---: 30 Set the row binary register Yes
---: 31 Row Binarise the 1 stream in reg B Yes
---: 32 Row Binarise the 2 stream in reg B Yes
---: 33 Row Binarise the 4 stream in reg B Yes
---: 34 Row Binarise the 8 stream in reg B Yes
---: 35 Logical AND Register B and IAS Yes
---: 36 Logical OR Register B and IAS Yes
---: 37 Transfer from IAS to Register B Yes
---: 38 Send an input-output command No
Double Length 39 Send Mag Tape control command No
---: 40 Zeroise IAS Location Yes
---: 41 Store Register A in IAS Yes
---: 42 Store Register B in IAS Yes
---: 43 Store Register C in IAS Yes
---: 44 Transfer Register C to Register B Yes
---: 45 Block Move In IAS Yes
---: 54 Circulate left in Register B Yes
---: 55 Left Shift Reg B entering Zero's Yes
---: 56 Right Shift Reg B (Propogating Sign) Yes
---: 57 Shift Register B Right Yes
---: 60 Clear Add IAS and Reg B Yes
---: 61 Clear Sub IAS and Reg B Yes
---: 62 Add Register Reg B and IAS Yes
---: 63 Sub Register Reg B and IAS Yes
---: 64 Add Register Reg B to IAS Yes
---: 65 Subtract Register Reg B from IAS Yes
---: 66 Increment IAS Location Yes
---: 67 Decrement IAS Location Yes
---: 68 Compare IAS Location and Ragister B Yes
---: 69 Multiply IAS and Register B Yes
---: 70 Sterling Clear Add IAS and Reg B Yes
---: 71 Sterling Clear Sub IAS and Reg B Yes
---: 72 Sterling Add Register Reg B and IAS Yes
---: 73 Sterling Sub Register Reg B and IAS Yes
---: 74 Sterling Add Register Reg B to IAS Yes
---: 75 Sterling Subtract Register Reg B from IAS Yes
---: 76 Sterling Increment IAS Location Yes
---: 77 Sterling Decrement IAS Location Yes
---: 78 Sterling Compare IAS Location and Ragister B Yes
---: 79 Sterling Multiply IAS and Register B Yes
Double Length 80 Transfer IAS to Drum Yes
Double Length 81 Transfer Drum to IAS Yes
Double Length 82 Transfer IAS to Drum (whole channel) Yes
Double Length 83 Transfer Drum to IAS (whole channel) Yes
Double Length 84 Transfer IAS to Drum (Reserved Decade) Yes
Double Length 85 Transfer Drum to IAS (Reserved Decade) Yes
Double Length 86 Transfer IAS to Drum (Reserved Channel) Yes
Double Length 87 Transfer Drum to IAS (Reserved Channel) Yes
Unique to Flossie 28 Instruction premodifier No


Key to graphic displays, the Store ( IAS ) is represented in blue
The three data registers A,B and C are all 12 decimal digits long, and the
Mill is where the basic math unit performs simple addition and other basic functions.

The 1301 used a Binary Coded Decimal display of the contents of its registers, These registers were 12 digits long. The order code was also based on a decimal decode, and although some orders were 12 digits in length the majority of the orders were only 6 digits long. Therefore two 6 digit instructions were able to fit into a whole 12 digit word.


here we have an example of the 6 digits spread over the first control register,
and the significance of the bits within the register

Where the indicator test bit is set the indicator is specified by the two digits
in the Function field, a set indicator will cause the program to branch to the address
in the instruction


List of Indicators

Grouped by device

Group:- Indicator -
Set by -
Cleared by
Unconditional Jump 00 004xxx instruction N/A
Mill 01 Mill result = Zero result not zero
---: 02 Mill result = Positive result not positive
---: 03 Mill result = Negative result not negative
System 06 IAS(Store) Parity error By testing
---: 07 Drum Parity error By testing
Programmed 10 thru 19 xx8000 instruction xx9000 instruction
Manual 20 thru 29 Manual indicator on Manual indicator off
Card Reader 35 Reader ready N/A
---: 36 Six coloums of data ready By testing
---: 37 Six coloums missed By testing
---: 38 check failure By testing
Line Printer 42 Printer ready N/A
---: 43 Index timimg By testing
---: 44 Char timing By testing
---: 45 Paper throw timimg By testing
---: 46 Paper trolly empty By testing
---: 47 Print counter error By testing
Card Punch 54 Punch ready N/A
---: 55 Index time By testing
---: 56 Check time By testing
---: 57 Punch Index missed N/A
---: 58 Check time missed N/A
Type Writer 50 paper supply low N/A
---: 51 T/W ready New instuction
---: 52 Request type in mode By testing
---: 53 Carriage at end Issue of C/R
---: 59 T/W Mech failure By testing
Paper Tape Reader 60 Ready By testing
---: 61 Parity error By testing
Paper Tape Punch 65 Paper supply low By testing
---: 66 Ready N/A
---: 67 Tape Punch error By testing
Write unit ready 70 Not Busy Busy with Write/Cancel
Write Master 71 Any of 76,77 or 74w all Unset
Read unit ready 72 Not Busy Busy with Read/Backsp
Read Master 73 Any of 75,76 or 77r All Unset
Single Error 74 Error on read/check read New order
Multiple error 75 more than 1 error new order
---: 76 Final End Of Tape By testing
---: 77 EEOT Marker or short blk By testing
---: 79 Write ring fitted By testing
Magnetic Tape Devices 80 Tape order Error By testing
---: 81 to 88 Deck 1 to 8 Ready N/A
---: 89 Deck Mechanicaly Ready By testing
Unique to Flossie 9x Ready By testing

Most computers need to observe several basic steps to run, these are:-

FETCH INSTRUCTIONS (from Store)
FETCH DATA (from Store)
COMPUTE DATA
KEEP RESULT
WRITE DATA (into Store)
STEP TO NEXT INSTRUCTION

To see how all these concepts came together here is a prototype animated display of the
machine fetching some instructions from store ( IAS ) and obeying them, although this is a first
attempt it would seem we have the basic's for further explanation of instructions using simple animation



The loop bieng obyed is as follows:-

Loc: Fn: Addr : Narrative:-

0000 37 0010 : Load the B register with the contents of location 10
____ 62 0009 : Add the contents of location 9 to B register

0001 42 0012 : Store reg B in location 12
____ 00 4000 : Jump back to location zero

This simple loop is repeated as animated starting with the fetching of the two instructions
and then the data paths opening and closing to show the data flow in the computer.
The whole thing is repeated five times, at a rate of about 2 frames per second.
If the Animation has stopped, press the refresh button to restart it.


Order Code Examples

Coding a 1960's computer




The following code is the " Ghost " code refered to in the diaries, it is annotated to act as an example of branching, testing and code flow in this elderly 1960's computer.

Loc: Fn: Addr : Narrative:-

0000 22 0010 : Set decimal point register to digit position 10
____ 37 0009 : Load the B register with the content of location 9


0001 69 0008 : Multiply the content of the B register by Location 8
____ 66 0008 : Increment location 8


0002 66 0009 : Increment Location 9
____ 29 4000 : Test Manual indicator No 29 and loop back to location zero


0003 00 4000 : If Manual Indicator 29 not set, loop back anyway
____ 00 0000 : Do nothing

Click here to see what it sounds like (WAV)


The Order Code Explained

A Link to the 1301 order code, even the function codes were decimal.

The above link supplies a downloadable copy of the full instruction set.








(Designed for 640 x 480, 800 x 600 or 1024 x 768 Resolution) a 'POPUP' and 'FRAMES' free zone

Legal Info = "Copyright Shedland Software design"
All Images, Graphics, Sounds, Applets, Text, JavaScripts, or Anything Else contained within the ict1301.co.uk WebSite, unless otherwise noted or documented, are the Property, Trademark, or Copyright of Shedlandrobotics 2005 to 2010 and may not be Copied, Reused, Sold, or otherwise Distributed without permission. So please ask !
(Web Masters please note) ) This site is updated monthly and its contents are liable to, and will change. Links to and from the site are both welcome and encouraged. However we consider it a common decency to seek permission first. If we know a link exists, we will endeavor to not make any changes, or notify you of any changes to your links.
All visitors to Shedland accept the the following limitations
This is a private web site, the views expressed are the Web Masters and content is placed here for information only. However the Web Master is not responsible for any inaccuracies, Typo's or Spelling mistakes, they are provided free gratis, and for the entertainment of the visitor.