mirror of
https://github.com/rcornwell/sims.git
synced 2026-01-22 02:25:05 +00:00
I7000: Removed old documentation files.
This commit is contained in:
parent
35305fcf9f
commit
eef831ea76
@ -1,275 +0,0 @@
|
||||
To: Users
|
||||
From: Richard Cornwell
|
||||
Subj: IBM 701 Simulator Usage
|
||||
Date: 01-May-2006
|
||||
|
||||
COPYRIGHT NOTICE
|
||||
|
||||
The following copyright notice applies to both the SIMH source and binary:
|
||||
|
||||
Original code published in 1993-2007, written by Robert M Supnik
|
||||
Copyright (c) 1993-2007, Robert M Supnik
|
||||
IBM 701 simulator written by Richard Cornwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
ROBERT M SUPNIK OR RICHARD CORNWELL BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of Robert M Supnik or Richard
|
||||
Cornwell shall not be used in advertising or otherwise to promote the sale,
|
||||
use or other dealings in this Software without prior written authorization
|
||||
from both Robert M Supnik and Richard Cornwell.
|
||||
|
||||
This memorandum documents the IBM 701 simulator.
|
||||
|
||||
The IBM 701 also know as "Defense Calculator" was introduced by IBM
|
||||
on April 7, 1953. This computer was start of IBM 700 and 7000 line.
|
||||
Memory was 2048 36 bit words. Each instruction could be signed plus
|
||||
or minus, plus would access memory as 18 bit words, minus as 36 bit
|
||||
words. There was a expansion option to add another 2048 words of
|
||||
memory, but I can't find documentation on how it worked. Memory cycle
|
||||
time was 12 microseconds. The 701 was withdrawn from the market
|
||||
October 1, 1954 replaced by 704 and 702. A total of 19 machines were
|
||||
installed.
|
||||
|
||||
1. Simulator Files
|
||||
|
||||
To compile the IBM 701, you must define USE_INT64 and I701 as part of the
|
||||
compilation command line.
|
||||
|
||||
sim/ scp.h
|
||||
sim_console.h
|
||||
sim_defs.h
|
||||
sim_fio.h
|
||||
sim_rev.h
|
||||
sim_tape.h
|
||||
scp.c
|
||||
sim_fio.c
|
||||
sim_tape.c
|
||||
|
||||
sim/i7090/ i7090_defs.h
|
||||
i701_cpu.c 701 CPU, Channel, interface
|
||||
i7090_chan.c
|
||||
i701_sys.c
|
||||
i7090_cdr.c 701 specific peripherals
|
||||
i7090_cdp.c
|
||||
i7090_lpr.c
|
||||
i7090_drum.c
|
||||
i7000_defs.h Generic 7000 peripherals.
|
||||
i7000_chan.c
|
||||
i7000_mt.c
|
||||
|
||||
2. IBM 701 Features
|
||||
|
||||
The IBM 701 simulator is configured as follows:
|
||||
|
||||
device simulates
|
||||
name(s)
|
||||
|
||||
CPU 701 CPU with 2KW of memory
|
||||
CH 704 devices.
|
||||
MT 729 magnetic tape controller, channel A (required)
|
||||
CDR 711 card reader
|
||||
CDP 721 card punch
|
||||
LP 716 line printer
|
||||
DR0 733 drum
|
||||
|
||||
The 701 simulator implements several unique stop condition:
|
||||
|
||||
- undefined CPU instruction
|
||||
- divide check on a divide and halt instruction
|
||||
- write select of a write protected device
|
||||
|
||||
The LOAD command will load a card binary image file into memory. An
|
||||
octal dump file, or a psuedo assembly code.
|
||||
|
||||
2.1 CPU
|
||||
|
||||
Memory size is 2KW on a standard CPU.
|
||||
|
||||
CPU registers include the visible state of the processor as well as the
|
||||
control registers for the interrupt system.
|
||||
|
||||
name size comments
|
||||
|
||||
IC 15 program counter
|
||||
AC 38 accumulator
|
||||
MQ 36 multiplier-quotient
|
||||
SW1..SW6 1 sense switches 1..6
|
||||
SW 6 sense switches
|
||||
SL1..4 1 sense lights 1..4
|
||||
ACOVF 1 AC overflow indicator
|
||||
DVC 1 divide check indicator
|
||||
IOC 1 I/O check indicator
|
||||
|
||||
The CPU can maintain a history of the most recently executed instructions.
|
||||
This is controlled by the SET CPU HISTORY and SHOW CPU HISTORY commands:
|
||||
|
||||
SET CPU HISTORY clear history buffer
|
||||
SET CPU HISTORY=0 disable history
|
||||
SET CPU HISTORY=n enable history, length = n
|
||||
SHOW CPU HISTORY print CPU history
|
||||
SHOW CPU HISTORY=n print first n entries of CPU history
|
||||
|
||||
2.2 I/O Channels (CH)
|
||||
|
||||
The channel device on the 701 is only used by simulator, and has no controls
|
||||
or registers.
|
||||
|
||||
2.3 Peripherals
|
||||
|
||||
2.3.1 711 Card Reader (CDR)
|
||||
|
||||
The card reader (CDR) reads data from a disk file. Cards are simulated
|
||||
as ASCII lines with terminating newlines.
|
||||
|
||||
Card reader files can either be text (one character per column) or
|
||||
column binary (two characters per column). The file type can be
|
||||
specified with a set command:
|
||||
|
||||
SET CDR FORMAT=TEXT sets ascii text mode
|
||||
SET CDR FORMAT=BINARY sets for binary card images.
|
||||
SET CDR FORMAT=BCD sets for BCD records.
|
||||
SET CDR FORMAT=CBN sets for column binary BCD records.
|
||||
SET CDR FORMAT=AUTO Automaticly determines format.
|
||||
|
||||
or in the ATTACH command:
|
||||
|
||||
ATT CDR <file> attaches a file
|
||||
|
||||
The card reader can be booted with the:
|
||||
|
||||
BOOT CDR loads first 3 words of card.
|
||||
|
||||
Error handling is as follows:
|
||||
|
||||
error processed as
|
||||
|
||||
not attached report error and stop
|
||||
|
||||
end of file out of cards
|
||||
|
||||
OS I/O error report error and stop
|
||||
|
||||
2.3.2 721 Card Punch (CDP)
|
||||
|
||||
The card reader (CDP) writes data to a disk file. Cards are simulated
|
||||
as ASCII lines with terminating newlines.
|
||||
|
||||
Card punch files can either be text (one character per column) or
|
||||
column binary (two characters per column). The file type can be
|
||||
specified with a set command:
|
||||
|
||||
SET CDP FORMAT=TEXT sets ascii text mode
|
||||
SET CDP FORMAT=BINARY sets for binary card images.
|
||||
SET CDP FORMAT=BCD sets for BCD records.
|
||||
SET CDP FORMAT=CBN sets for column binary BCD records.
|
||||
SET CDP FORMAT=AUTO Automaticly determines format.
|
||||
|
||||
or in the ATTACH command:
|
||||
|
||||
ATT CDP <file> attaches a file
|
||||
|
||||
Error handling is as follows:
|
||||
|
||||
error processed as
|
||||
|
||||
not attached report error and stop
|
||||
|
||||
OS I/O error report error and stop
|
||||
|
||||
2.3.3 716 Line Printer (LP)
|
||||
|
||||
The line printer (LP) writes data to a disk file as ASCII text with
|
||||
terminating newlines. Currently set to handle standard signals to
|
||||
control paper advance.
|
||||
|
||||
SET LP NO/ECHO Sets echoing to console of lineprinter output.
|
||||
|
||||
Error handling is as follows:
|
||||
|
||||
error processed as
|
||||
|
||||
not attached report error and stop
|
||||
|
||||
OS I/O error report error and stop
|
||||
|
||||
The Printer supports the following SPRA n selection pulses for controlling
|
||||
spacing (spacing occurs before the line is printed):
|
||||
|
||||
SPRA 2 Single space.
|
||||
SPRA 1 To top of form.
|
||||
SPRA 3 Double space.
|
||||
SPRA 4 Triple space.
|
||||
SPRA 9 Suppress linefeed after print.
|
||||
|
||||
SPT Will skip if any printer line has been pulsed.
|
||||
|
||||
Defualt with no SPRA is to single space before printing.
|
||||
|
||||
|
||||
2.3.4 729 Magnetic Tape (MTA)
|
||||
|
||||
There are 10 tape devices.
|
||||
|
||||
Each individual tape drive support several options: MTA used as an example.
|
||||
|
||||
SET MTn ONLINE Sets the mag tape drive online.
|
||||
SET MTn OFFLINE Sets the mag tape drive offline and not ready.
|
||||
SET MTn REWIND Sets the mag tape to the load point.
|
||||
SET MTn LOCKED Sets the mag tape to be read only.
|
||||
SET MTn WRITEENABLE Sets the mag tape to be writeable.
|
||||
SET MTn LOW Sets mag tape to low density.
|
||||
SET MTn HIGH Sets mag tape to high density.
|
||||
|
||||
Options: Density LOW/HIGH does not change format of how tapes are written. And
|
||||
is only for informational purposes only.
|
||||
|
||||
Tape drives can be booted with:
|
||||
BOOT MTn
|
||||
|
||||
2.3.4 733 Drum (DR)
|
||||
|
||||
Up to 16 units can be attached to the CPU. Each drum is 2048K words in size.
|
||||
They are all stored in one file.
|
||||
|
||||
SET DR0 UNITS=n
|
||||
|
||||
Drum unit 0 can be booted with:
|
||||
|
||||
BOOT DR0
|
||||
|
||||
2.6 Symbolic Display and Input
|
||||
|
||||
The IBM 701 simulator implements symbolic display and input. Display is
|
||||
controlled by command line switches:
|
||||
|
||||
-c display as BCD character
|
||||
-m display instruction mnemonics
|
||||
|
||||
Input parsing is controlled by the first character typed in or by command
|
||||
line switches:
|
||||
|
||||
' or -c BCD character
|
||||
" or -s BCD string
|
||||
alphabetic instruction mnemonic
|
||||
numeric octal number
|
||||
|
||||
Instruction input uses standard 701 assembler syntax. There is one
|
||||
basic instruction classes, memory reference.
|
||||
|
||||
opcode address
|
||||
@ -1,441 +0,0 @@
|
||||
To: Users
|
||||
From: Richard Cornwell
|
||||
Subj: IBM 7070 Simulator Usage
|
||||
Date: 01-Dec-2006
|
||||
|
||||
COPYRIGHT NOTICE
|
||||
|
||||
The following copyright notice applies to both the SIMH source and binary:
|
||||
|
||||
Original code published in 1993-2007, written by Robert M Supnik
|
||||
Copyright (c) 1993-2007, Robert M Supnik
|
||||
IBM 7070 simulator written by Richard Cornwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
ROBERT M SUPNIK OR RICHARD CORNWELL BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of Robert M Supnik or Richard
|
||||
Cornwell shall not be used in advertising or otherwise to promote the sale,
|
||||
use or other dealings in this Software without prior written authorization
|
||||
from both Robert M Supnik and Richard Cornwell.
|
||||
|
||||
This memorandum documents the IBM 7070 simulator.
|
||||
|
||||
The IBM 7070 was introduced in June 1960, as a replacement to the IBM 650.
|
||||
It had core memory up to 10,000 10 digit words.
|
||||
The 7072 was introduced November 1962 and the 7074 on November 1961.
|
||||
The 7074 is a faster version of the 7070 with the addition of memory up
|
||||
to 40,000 10 digit words. The first 100 memory locations can be used as
|
||||
index registers. Most memory reference instructions allow for a field
|
||||
of digits to be selected to operate on and not modify the rest.
|
||||
|
||||
The 7070 is a decimal machine with each word consisting of 10 digits
|
||||
plus a sign. The sign can be plus, minus or alpha. Alpha data is stored
|
||||
5 characters to a word (2 digits per character).
|
||||
|
||||
|
||||
1. Simulator Files
|
||||
|
||||
To compile the IBM 7070, you must define USE_INT64 as part of the compilation
|
||||
command line.
|
||||
|
||||
sim/ scp.h
|
||||
sim_console.h
|
||||
sim_defs.h
|
||||
sim_fio.h
|
||||
sim_rev.h
|
||||
sim_sock.h
|
||||
sim_tape.h
|
||||
sim_timer.h
|
||||
sim_tmxr.h
|
||||
scp.c
|
||||
sim_console.c
|
||||
sim_fio.c
|
||||
sim_sock.c
|
||||
sim_tape.c
|
||||
sim_timer.c
|
||||
sim_tmxr.c
|
||||
|
||||
sim/i7090/ i7070_defs.h
|
||||
i7070_cpu.c 7070 CPU, Channel, interface
|
||||
i7070_chan.c
|
||||
i7070_sys.c
|
||||
i7000_defs.h Generic 7000 peripherals
|
||||
i7000_chan.c
|
||||
i7000_chron.c
|
||||
i7000_com.c
|
||||
i7000_dsk.c
|
||||
i7000_ht.c
|
||||
i7000_mt.c
|
||||
i7000_urec.c
|
||||
|
||||
2. IBM 7070 Features
|
||||
|
||||
The IBM 7070 simulator is configured as follows:
|
||||
|
||||
device simulates
|
||||
name(s)
|
||||
|
||||
CPU 7070 CPU with up to 30K of memory
|
||||
CH0* Unit record devices.
|
||||
CH1..CH4 7604 tape channels.
|
||||
CH5..CH7 7907 channels
|
||||
MTA 729 magnetic tape controller, channel A (required)
|
||||
MTB 729 additional magnetic tape controllers, channels B
|
||||
MTC 729 additional magnetic tape controllers, channels C
|
||||
MTD 729 additional magnetic tape controllers, channels D
|
||||
HTA 7340 hypertape controller.
|
||||
HTB 7340 additional hypertape controller.
|
||||
CDR 7500 card reader
|
||||
CDP 7550 card punch
|
||||
LP 7400 line printer
|
||||
DKn 1301/2302/7304 disk.
|
||||
COM 7750 communications control
|
||||
COML 7750 communications lines
|
||||
|
||||
Channels B through D, are mag tape channels 1,2,3,4.
|
||||
Channels E through H, are 7907 channels for disk, hypertape or 7750.
|
||||
|
||||
The 7090 simulator implements several unique stop condition:
|
||||
|
||||
- undefined CPU instruction
|
||||
- divide check
|
||||
- select of a non-existent device
|
||||
- write select of a write protected device
|
||||
- invalid file control format
|
||||
- invalid message to 7750
|
||||
- no buffer storage available for input character on 7750
|
||||
- no buffer storage available for output character on 7750
|
||||
- Index not plus or minus
|
||||
- Field overflow (CPU enabled).
|
||||
- Sign change (CPU enabled).
|
||||
|
||||
2.1 CPU
|
||||
|
||||
The CPU options include setting memory size and cpu type.
|
||||
|
||||
SET CPU 7070 Sets cpu to emualte 7070.
|
||||
SET CPU 7074 Sets cpu to emualte 7074.
|
||||
SET CPU 5K Sets memory to 5K
|
||||
SET CPU 10K Sets memory to 10K
|
||||
SET CPU 15K Sets memory to 15K*
|
||||
SET CPU 20K Sets memory to 20K*
|
||||
SET CPU 25K Sets memory to 25K*
|
||||
SET CPU 30K Sets memory to 30K*
|
||||
SET CPU NOFLOAT Disables floating point.
|
||||
SET CPU FLOAT Enables floating point.
|
||||
SET CPU NOEXTEND Disables extended memory support.
|
||||
SET CPU EXTEND Enables extended memory support.
|
||||
SET CPU TIMER Enables interval timer and interupt.
|
||||
SET CPU NOTIMER Disables interval timer.
|
||||
|
||||
Memory size is 10KW on a standard CPU, extended option must be enabled
|
||||
to use memory sizes over 10KW.
|
||||
|
||||
CPU registers include the visible state of the processor as well as the
|
||||
control registers for the interrupt system.
|
||||
|
||||
name size comments
|
||||
|
||||
IC 15 program counter
|
||||
AC1 40 accumulators 1
|
||||
AC2 40 accumulators 2
|
||||
AC3 40 accumulators 3
|
||||
SW1..SW4 1 sense switches 1..4
|
||||
SW 4 sense switches
|
||||
|
||||
The CPU can maintain a history of the most recently executed instructions.
|
||||
This is controlled by the SET CPU HISTORY and SHOW CPU HISTORY commands:
|
||||
|
||||
SET CPU HISTORY clear history buffer
|
||||
SET CPU HISTORY=0 disable history
|
||||
SET CPU HISTORY=n enable history, length = n
|
||||
SHOW CPU HISTORY print CPU history
|
||||
SHOW CPU HISTORY=n print first n entries of CPU history
|
||||
|
||||
2.2 I/O Channels (CH0..CH8)
|
||||
|
||||
The 7070 supports up to 8 channels. Channel models include
|
||||
|
||||
7604 standard multiplexor channel
|
||||
7907 advanced capabilities channel
|
||||
|
||||
Channels are fixed on the 7070.
|
||||
|
||||
Channel 0 is a puesdo channel for unit record devices.
|
||||
|
||||
Channels have the following registers:
|
||||
|
||||
name type size comments
|
||||
ADDR all 16 channel data address.
|
||||
CMD all 8 channel command.
|
||||
LIMIT all 15 channel word count.
|
||||
ASM all 40 current channel assembly register.
|
||||
LOCATION all 16 channel location counter.
|
||||
FLAGS all 32 channel device status.
|
||||
|
||||
For meaning of bits in FLAGS see i7000_defs.h.
|
||||
|
||||
2.3 Unit record devices.
|
||||
|
||||
2.3.1 7900 Inquiry Station (INQ)
|
||||
|
||||
The console is set up as inquiry station 1. Press escape to initiate a
|
||||
priorty interupt request. Pressing escape again will cancel request.
|
||||
|
||||
2.3.2 7500 Card Reader (CDR)
|
||||
|
||||
The card reader (CDR) reads data from a disk file. Cards are simulated
|
||||
as ASCII lines with terminating newlines.
|
||||
|
||||
Card reader files can either be text (one character per column) or
|
||||
column binary (two characters per column). The file type can be
|
||||
specified with a set command:
|
||||
|
||||
SET CDR FORMAT=TEXT sets ascii text mode
|
||||
SET CDR FORMAT=BINARY sets for binary card images.
|
||||
SET CDR FORMAT=BCD sets for BCD records.
|
||||
SET CDR FORMAT=CBN sets for column binary BCD records.
|
||||
SET CDR FORMAT=AUTO Automaticly determines format.
|
||||
SET CDR NOATTEN sets device to not signal ready status.
|
||||
SET CDR ATTENA sets device to used unit A attention.
|
||||
SET CDR ATTENB sets device to used unit B attention.
|
||||
|
||||
or in the ATTACH command:
|
||||
|
||||
ATT CDR <file> attaches a file
|
||||
|
||||
Error handling is as follows:
|
||||
|
||||
error processed as
|
||||
|
||||
not attached report error and stop
|
||||
|
||||
end of file out of cards
|
||||
|
||||
OS I/O error report error and stop
|
||||
|
||||
2.3.3 7550 Card Punch (CDP)
|
||||
|
||||
The card reader (CDP) writes data to a disk file. Cards are simulated
|
||||
as ASCII lines with terminating newlines.
|
||||
|
||||
Card punch files can either be text (one character per column) or
|
||||
column binary (two characters per column). The file type can be
|
||||
specified with a set command:
|
||||
|
||||
SET CDP FORMAT=TEXT sets ascii text mode
|
||||
SET CDP FORMAT=BINARY sets for binary card images.
|
||||
SET CDP FORMAT=BCD sets for BCD records.
|
||||
SET CDP FORMAT=CBN sets for column binary BCD records.
|
||||
SET CDP FORMAT=AUTO Automaticly determines format.
|
||||
SET CDP NOATTEN sets device to not signal ready status.
|
||||
SET CDP ATTENA sets device to used unit A attention.
|
||||
SET CDP ATTENB sets device to used unit B attention.
|
||||
|
||||
or in the ATTACH command:
|
||||
|
||||
ATT CDP <file> attaches a file
|
||||
|
||||
Error handling is as follows:
|
||||
|
||||
error processed as
|
||||
|
||||
not attached report error and stop
|
||||
|
||||
OS I/O error report error and stop
|
||||
|
||||
2.3.4 7400 Line Printer (LP)
|
||||
|
||||
The line printer (LP) writes data to a disk file as ASCII text with
|
||||
terminating newlines. Currently set to handle standard signals to
|
||||
control paper advance.
|
||||
|
||||
SET LP NO/ECHO Sets echoing to console of lineprinter output.
|
||||
SET LP NOATTEN sets device to not signal ready status.
|
||||
SET LP LINESPERPAGE=n Sets number of lines per page on printer.
|
||||
SET LP ATTENA sets device to used unit A attention.
|
||||
SET LP ATTENB sets device to used unit B attention.
|
||||
|
||||
Error handling is as follows:
|
||||
|
||||
error processed as
|
||||
|
||||
not attached report error and stop
|
||||
|
||||
OS I/O error report error and stop
|
||||
|
||||
|
||||
2.4 Mass storage devices.
|
||||
|
||||
2.4.1 729 Magnetic Tape (MTA-D)
|
||||
|
||||
These come in groups of 10 units each. The controller defines which channel
|
||||
the devices will be on.
|
||||
|
||||
Each individual tape drive support several options: MTA used as an example.
|
||||
|
||||
SET MTAn ONLINE Sets the mag tape drive online.
|
||||
SET MTAn OFFLINE Sets the mag tape drive offline and not ready.
|
||||
SET MTAn REWIND Sets the mag tape to the load point.
|
||||
SET MTAn LOCKED Sets the mag tape to be read only.
|
||||
SET MTAn WRITEENABLE Sets the mag tape to be writeable.
|
||||
SET MTAn LOW Sets mag tape to low density.
|
||||
SET MTAn HIGH Sets mag tape to high density.
|
||||
|
||||
Options: Density LOW/HIGH does not change format of how tapes are written. And
|
||||
is only for informational purposes only. Tapes can only be attached to
|
||||
channels 1 through 4.
|
||||
|
||||
Channel 1 support the read binary opcode to load binary tapes in octal format.
|
||||
|
||||
2.4.2 ChronoClock.
|
||||
|
||||
Disabled by default. This is a special 729 tape drive which returns the
|
||||
current time. It supports the option of setting the channel and drive
|
||||
that it will occupy. Note: You must disable the real 729 drive that is
|
||||
is replacing.
|
||||
|
||||
SET CHRON CHAN=n Set channel for chrono clock.
|
||||
SET CHRON UNIT=n Sets the unit for the chrono clock.
|
||||
|
||||
Example: To set Chronoclock to unit A9 do the following:
|
||||
|
||||
SET MTA9 DISABLE
|
||||
SET CHRON UNIT=9 CHAN=A
|
||||
|
||||
|
||||
2.5 7907 Devices
|
||||
|
||||
These devices must be attached to a 7907 channel to work.
|
||||
|
||||
2.5.1 1301/1302/2302/7320 Disk devices
|
||||
|
||||
The 7631 file control supports up to ten devices, which can be 7320
|
||||
drums, 1301 disks, 1302 disks, or 2302 disks. Unit types are specified
|
||||
with the SET command.
|
||||
|
||||
SET DKn TYPE=7320 unit n is a drum
|
||||
SET DKn TYPE=7320-2 unit n is a drum (two modules).
|
||||
SET DKn TYPE=1301 unit n is a 1301 disk
|
||||
SET DKn TYPE=130l-2 unit n is a 1301-2 disk (two modules).
|
||||
SET DKn TYPE=1302 unit n is a 1302 disk
|
||||
SET DKn TYPE=1302-2 unit n is a 1302-2 disk (two modules).
|
||||
SET DKn TYPE=2302 unit n is a 2302 disk
|
||||
|
||||
Units can be SET ENABLED or DISABLED. In addition, units can be
|
||||
set to enable or disable formatting:
|
||||
|
||||
SET DKn FORMAT enable formatting
|
||||
SET DKn NOFORMAT disable formatting
|
||||
SET DKn HA2 enable writing of home address 2
|
||||
SET DKn NOHA2 disable writing of home address 2
|
||||
SET DKn MODULE=n sets modules for unit, modules
|
||||
can only be even. 0 to 8.
|
||||
SET DKn CHAN=n sets channel for unit (A-D).
|
||||
SET DKn SELECT=n sets select on channel (0 or 1).
|
||||
|
||||
Formatting is disabled by default.
|
||||
|
||||
Error handling is as follows:
|
||||
|
||||
error processed as
|
||||
|
||||
not attached report error and stop
|
||||
|
||||
OS I/O error report error and stop
|
||||
|
||||
2.5.2 Hypertape 7340 Tape drive (HTA/B)
|
||||
|
||||
These come in groups of 10 units each. The controller defines which channel
|
||||
the devices will be on.
|
||||
|
||||
SET HTx CHAN=n Set magtape to channel n. x = A|B.
|
||||
SET HTx SELECT=n Sets the selection mode for the channel.
|
||||
|
||||
Each individual tape drive support several options: HTA used as an example.
|
||||
|
||||
SET MTAn LOCKED Sets the mag tape to be read only.
|
||||
SET MTAn WRITEENABLE Sets the mag tape to be writeable.
|
||||
|
||||
|
||||
2.5.3 7750 Communications Controller (COM and COML)
|
||||
|
||||
The 7750 is modelled as a terminal multiplexor with 33 lines. It consists
|
||||
of two device: COM is the multiplexor controller, and COML is the indivdual
|
||||
lines. For the first 32 lines, the 7750 performs input and output through
|
||||
Telnet sessions connected via a user-specified listening port. The ATTACH command
|
||||
specifies the port to be used for Telnet sessions:
|
||||
|
||||
ATTACH COM <port> set up listening port
|
||||
|
||||
where port is a decimal number between 1 and 65535 that is not being used
|
||||
for other TCP/IP activities.
|
||||
|
||||
Each line (each unit of COML) can be set to one of twp modes: KSR-35 and
|
||||
KSR-37. In KSR-35 mode, lower case input and output characters are converted
|
||||
automatically to upper case, and parity is ignored. In KSR-37 mode, lower
|
||||
case characters are left alone, and even parity is generated on input.
|
||||
KSR-37 is the default.
|
||||
|
||||
Once COM is attached and the simulator is running, the 7750 listens
|
||||
for connections on the specified port. It assumes that any incoming
|
||||
connection is a Telnet connections. The connections remain open until
|
||||
disconnected either by the Telnet client, a SET COM DISCONNECT command,
|
||||
or a DETACH COM command.
|
||||
|
||||
The 7750 implements the following special SHOW commands
|
||||
|
||||
SHOW COM CONNECTIONS displays current connections to the 7750
|
||||
SHOW COM STATISTICS displays statistics for active connections
|
||||
|
||||
The 7750 implements the following special SET commands:
|
||||
|
||||
SET COM DISCONNECT=n disconnect line n
|
||||
SET COMLn LOG=filename log output of line n to filename
|
||||
SET COMLn NOLOG disable logging and close log file
|
||||
SET COMLn KSR35 set line n to KSR-35
|
||||
SET COMLn KSR37 set line n to KSR-37
|
||||
SET COMLn 2741 set line n to 2741
|
||||
SET COM CHAN=n set channel for com controller.
|
||||
|
||||
The controller (COM) implements these registers:
|
||||
|
||||
name size comments
|
||||
|
||||
ENABLE 1 enable flag
|
||||
STATE 6 controller state
|
||||
MSGNUM 12 input message sequence number
|
||||
|
||||
|
||||
2.6 Symbolic Display and Input
|
||||
|
||||
The IBM 7070 simulator implements symbolic display and input. Display is
|
||||
controlled by command line switches:
|
||||
|
||||
-c display as BCD character
|
||||
-m display instruction mnemonics
|
||||
|
||||
Input parsing is controlled by the first character typed in or by command
|
||||
line switches:
|
||||
|
||||
-c BCD character
|
||||
-m alphabetic instruction mnemonic
|
||||
numeric decimal number.
|
||||
|
||||
Instruction input uses standard 7070 assembler syntax.
|
||||
@ -1,465 +0,0 @@
|
||||
To: Users
|
||||
From: Richard Cornwell
|
||||
Subj: IBM 7080 Simulator Usage
|
||||
Date: 01-May-2007
|
||||
|
||||
COPYRIGHT NOTICE
|
||||
|
||||
The following copyright notice applies to both the SIMH source and binary:
|
||||
|
||||
Original code published in 1993-2007, written by Robert M Supnik
|
||||
Copyright (c) 1993-2007, Robert M Supnik
|
||||
IBM 7080 simulator written by Richard Cornwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
ROBERT M SUPNIK OR RICHARD CORNWELL BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of Robert M Supnik or Richard
|
||||
Cornwell shall not be used in advertising or otherwise to promote the sale,
|
||||
use or other dealings in this Software without prior written authorization
|
||||
from both Robert M Supnik and Richard Cornwell.
|
||||
|
||||
This memorandum documents the IBM 7080 simulator.
|
||||
|
||||
|
||||
1. Simulator Files
|
||||
|
||||
sim/ scp.h
|
||||
sim_console.h
|
||||
sim_defs.h
|
||||
sim_fio.h
|
||||
sim_rev.h
|
||||
sim_sock.h
|
||||
sim_tape.h
|
||||
sim_timer.h
|
||||
sim_tmxr.h
|
||||
scp.c
|
||||
sim_console.c
|
||||
sim_fio.c
|
||||
sim_sock.c
|
||||
sim_tape.c
|
||||
sim_timer.c
|
||||
sim_tmxr.c
|
||||
|
||||
sim/i7090/ i7080_defs.h
|
||||
i7080_cpu.c 7080 CPU, Channel, interface.
|
||||
i7080_chan.c
|
||||
i7080_sys.c
|
||||
i7080_drum.c 702/5 Drum
|
||||
i7000_defs.h Generic 7000 peripherals
|
||||
i7000_chan.c
|
||||
i7000_chron.c
|
||||
i7000_com.c
|
||||
i7000_dsk.c
|
||||
i7000_ht.c
|
||||
i7000_mt.c
|
||||
i7000_urec.c
|
||||
|
||||
2. IBM 7080 Features
|
||||
|
||||
The IBM 7080 simulator is configured as follows:
|
||||
|
||||
device simulates
|
||||
name(s)
|
||||
|
||||
CPU 7080 CPU with up to 30K of memory
|
||||
CH0* 700 devices.
|
||||
CH1..CH4 754/7621 tape channels.
|
||||
CH5..CH7 7908 channels
|
||||
MTA 729 magnetic tape controller, channel 20
|
||||
MTB 729 magnetic tape controller, channel 21
|
||||
MTC 729 magnetic tape controller, channel 22
|
||||
MTD 729 magnetic tape controller, channel 23
|
||||
HTA 7340 hypertape controller.
|
||||
CDR 711 card reader
|
||||
CDP 721 card punch
|
||||
LP 716 line printer
|
||||
DR 733 drum for 702/705
|
||||
DKn 1301/2302/7304 disk.
|
||||
COM 7750 communications control
|
||||
COML 7750 communications lines
|
||||
|
||||
Channels B through D, are mag tape channels 1,2,3,4.
|
||||
Channels E & F, are 7908 channels for disk, hypertape or 7750.
|
||||
|
||||
The 7080 simulator implements several unique stop condition:
|
||||
|
||||
- undefined CPU instruction
|
||||
- undefined channel instruction
|
||||
- XEC nesting exceeds limit
|
||||
- divide check on a divide and halt instruction
|
||||
- select of a non-existent channel
|
||||
- 7607 select of a 7909 channel
|
||||
- write select of a write protected device
|
||||
- invalid file control format
|
||||
- invalid message to 7750
|
||||
- no buffer storage available for input character on 7750
|
||||
- no buffer storage available for output character on 7750
|
||||
|
||||
The LOAD command will load a card binary image file into memory.
|
||||
|
||||
2.1 CPU
|
||||
|
||||
The CPU options include setting memory size and cpu type.
|
||||
|
||||
SET CPU 702 Sets cpu to emualte 702.
|
||||
SET CPU 705 Sets cpu to emualte 705-I/II.
|
||||
SET CPU 7053 Sets cpu to emualte 705-III.
|
||||
SET CPU 7080 Sets cpu to emualte 7080.
|
||||
SET CPU 10K Sets memory to 10K
|
||||
SET CPU 20K Sets memory to 20K
|
||||
SET CPU 40K Sets memory to 40K
|
||||
SET CPU 80K Sets memory to 80K
|
||||
SET CPU 120K Sets memory to 120K
|
||||
SET CPU 160K Sets memory to 160K
|
||||
SET CPU NO/EMU40K Sets emulated memory limit to 40k
|
||||
SET CPU EMU705 Sets cpu to emulate a 705-I/II.
|
||||
SET CPU EMU7053 Sets cpu to emulate a 705-III.
|
||||
SET CPU PROGRAM Sets cpu to programable stop mode.
|
||||
SET CPU NONSTOP Sets cpu to Non-stop mode.
|
||||
|
||||
The 702 can support only 10k of memory. All 705's modes can support up to
|
||||
40K of memory. The 7080 can support up to 160k of memory. When in 7080 mode
|
||||
the machine starts as either a 705-I/II or a 705-III depending on mode
|
||||
of EMU705/EMU7053 switch. Also the EMU40K fixes the maximum memory for the
|
||||
7080 to 40K until it enters 80 mode with EEM instruction.
|
||||
|
||||
CPU registers include the visible state of the processor as well as the
|
||||
control registers for the interrupt system.
|
||||
|
||||
name size comments
|
||||
|
||||
IC 20 program counter
|
||||
A 256 accumulators 1
|
||||
SW911..SW916 1 sense switches 911..916
|
||||
SW 6 sense switches
|
||||
STOP 6 Stop flags
|
||||
STOPx 1 stop flags 900-905
|
||||
|
||||
If CPU set to PROGRAM and the stop flag is set to 1, and a 90x trigger is
|
||||
generated, the machine will stop. If flag is set to 0, no stop will occur.
|
||||
If CPU set to NONSTOP all errors must be checked by program.
|
||||
|
||||
The CPU can maintain a history of the most recently executed instructions.
|
||||
This is controlled by the SET CPU HISTORY and SHOW CPU HISTORY commands:
|
||||
|
||||
SET CPU HISTORY clear history buffer
|
||||
SET CPU HISTORY=0 disable history
|
||||
SET CPU HISTORY=n enable history, length = n
|
||||
SHOW CPU HISTORY print CPU history
|
||||
SHOW CPU HISTORY=n print first n entries of CPU history
|
||||
|
||||
2.2 I/O Channels (CH0..CH6)
|
||||
|
||||
The 7080 supports up to 10 channels. Channel 0 is for unit record devices.
|
||||
Channels 1 through 4 are for tape drives. These support the option of
|
||||
|
||||
SET CHn UREC tapes are on unit record device.
|
||||
SET CHn 7261 tapes are on Data Synchronizer.
|
||||
SET CHn 754 tapes are standard 705 drives.
|
||||
|
||||
Channels 5-10 are for 7908 devices. For CPU channels are defined as:
|
||||
Channel CPU address
|
||||
0 0-1999
|
||||
20 2000 or 0200
|
||||
21 2100 or 0210
|
||||
22 2200 or 0220
|
||||
23 2300 or 0230
|
||||
40 4000 7908 high speed channel.
|
||||
41 4100 7908 high speed channel.
|
||||
44 4400 7908 channel.
|
||||
45 4500 7908 channel.
|
||||
46 4600 7908 channel.
|
||||
47 4700 7908 channel.
|
||||
|
||||
Channels have the following registers:
|
||||
|
||||
name type size comments
|
||||
ADDR all 20 channel data address.
|
||||
CMD all 8 channel command.
|
||||
ASM all 32 current channel assembly register.
|
||||
FLAGS all 32 channel device status.
|
||||
|
||||
For meaning of bits in FLAGS see i7000_defs.h.
|
||||
|
||||
2.3 Unit record devices.
|
||||
|
||||
2.3.1 711 Card Reader (CDR)
|
||||
|
||||
The card reader (CDR) reads data from a disk file. Cards are simulated
|
||||
as ASCII lines with terminating newlines.
|
||||
|
||||
Card reader files can either be text (one character per column) or
|
||||
column binary (two characters per column). The file type can be
|
||||
specified with a set command:
|
||||
|
||||
SET CDR TEXT set text mode
|
||||
SET CDR BINARY set column binary mode
|
||||
SET CDR AUTO sets auto detect binary/text data.
|
||||
|
||||
or in the ATTACH command:
|
||||
|
||||
ATT CDR <file> attaches a file
|
||||
|
||||
The card reader can be booted with the:
|
||||
|
||||
BOOT CDR loads either the first 2 words or
|
||||
3 words depending on channel.
|
||||
|
||||
Error handling is as follows:
|
||||
|
||||
error processed as
|
||||
|
||||
not attached report error and stop
|
||||
|
||||
end of file out of cards
|
||||
|
||||
OS I/O error report error and stop
|
||||
|
||||
2.3.2 721 Card Punch (CDP)
|
||||
|
||||
The card reader (CDP) writes data to a disk file. Cards are simulated
|
||||
as ASCII lines with terminating newlines.
|
||||
|
||||
Card punch files can either be text (one character per column) or
|
||||
column binary (two characters per column). The file type can be
|
||||
specified with a set command:
|
||||
|
||||
SET CDP TEXT set text mode
|
||||
SET CDP BINARY set column binary mode
|
||||
SET CDP AUTO set auto detect binary/text data.
|
||||
|
||||
or in the ATTACH command:
|
||||
|
||||
ATT CDP <file> attaches a file
|
||||
|
||||
Error handling is as follows:
|
||||
|
||||
error processed as
|
||||
|
||||
not attached report error and stop
|
||||
|
||||
OS I/O error report error and stop
|
||||
|
||||
2.3.3 716 Line Printer (LP)
|
||||
|
||||
The line printer (LP) writes data to a disk file as ASCII text with
|
||||
terminating newlines. Currently set to handle standard signals to
|
||||
control paper advance.
|
||||
|
||||
SET LP NO/ECHO Sets echoing to console of lineprinter output.
|
||||
|
||||
Error handling is as follows:
|
||||
|
||||
error processed as
|
||||
|
||||
not attached report error and stop
|
||||
|
||||
OS I/O error report error and stop
|
||||
|
||||
2.3.4 729 Magnetic Tape (MTA-D)
|
||||
|
||||
These come in groups of 10 units each. The controller defines which channel
|
||||
the devices will be on.
|
||||
|
||||
Each individual tape drive support several options: MTA used as an example.
|
||||
|
||||
SET MTAn ONLINE Sets the mag tape drive online.
|
||||
SET MTAn OFFLINE Sets the mag tape drive offline and not ready.
|
||||
SET MTAn REWIND Sets the mag tape to the load point.
|
||||
SET MTAn LOCKED Sets the mag tape to be read only.
|
||||
SET MTAn WRITEENABLE Sets the mag tape to be writeable.
|
||||
SET MTAn LOW Sets mag tape to low density.
|
||||
SET MTAn HIGH Sets mag tape to high density.
|
||||
|
||||
Options: Density LOW/HIGH does not change format of how tapes are written. And
|
||||
is only for informational purposes only.
|
||||
|
||||
Tape drives can be booted with:
|
||||
BOOT MTAn
|
||||
|
||||
2.3.4 ChronoClock.
|
||||
|
||||
Disabled by default. This is a special 729 tape drive which returns the
|
||||
current time. It supports the option of setting the channel and drive
|
||||
that it will occupy. Note: You must disable the real 729 drive that is
|
||||
is replacing.
|
||||
|
||||
SET CHRON CHAN=n Set channel for chrono clock.
|
||||
SET CHRON UNIT=n Sets the unit for the chrono clock.
|
||||
|
||||
Example: To set Chronoclock to unit A9 do the following:
|
||||
|
||||
SET MTA9 DISABLE
|
||||
SET CHRON UNIT=9 CHAN=A
|
||||
|
||||
|
||||
2.4 7908 Devices
|
||||
|
||||
These devices must be attached to a 7908 channel to work.
|
||||
|
||||
2.4.1 1301/1302/2302/7320 Disk devices
|
||||
|
||||
The 7631 file control supports up to ten devices, which can be 7320
|
||||
drums, 1301 disks, 1302 disks, or 2302 disks. Unit types are specified
|
||||
with the SET command.
|
||||
|
||||
SET DKn TYPE=7320 unit n is a drum
|
||||
SET DKn TYPE=7320-2 unit n is a drum (two modules).
|
||||
SET DKn TYPE=1301 unit n is a 1301 disk
|
||||
SET DKn TYPE=130l-2 unit n is a 1301-2 disk (two modules).
|
||||
SET DKn TYPE=1302 unit n is a 1302 disk
|
||||
SET DKn TYPE=1302-2 unit n is a 1302-2 disk (two modules).
|
||||
SET DKn TYPE=2302 unit n is a 2302 disk
|
||||
|
||||
Units can be SET ENABLED or DISABLED. In addition, units can be
|
||||
set to enable or disable formatting:
|
||||
|
||||
SET DKn FORMAT enable formatting
|
||||
SET DKn NOFORMAT disable formatting
|
||||
SET DKn HA2 enable writing of home address 2
|
||||
SET DKn NOHA2 disable writing of home address 2
|
||||
SET DKn MODULE=n sets modules for unit, modules
|
||||
can only be even. 0 to 8.
|
||||
SET DKn CHAN=n sets channel for unit (40-47).
|
||||
|
||||
Formatting is disabled by default.
|
||||
|
||||
All Disk units support bootsrapping with boot command. Bootstrap code
|
||||
is build based on whether CPU is in CTSS mode or not.
|
||||
|
||||
BOOT DKn
|
||||
|
||||
Error handling is as follows:
|
||||
|
||||
error processed as
|
||||
|
||||
not attached report error and stop
|
||||
|
||||
OS I/O error report error and stop
|
||||
|
||||
2.4.2 Hypertape 7340 Tape drive (HTA/B)
|
||||
|
||||
These come in groups of 10 units each. The controller defines which channel
|
||||
the devices will be on.
|
||||
|
||||
SET HTx CHAN=n Set magtape to channel n. x = 40-47
|
||||
|
||||
Each individual tape drive support several options: HTA used as an example.
|
||||
|
||||
SET HTAn LOCKED Sets the mag tape to be read only.
|
||||
SET HTAn WRITEENABLE Sets the mag tape to be writeable.
|
||||
|
||||
NOTE: Hypertape drives may not be working correctly since there is
|
||||
very little documentation available on them.
|
||||
|
||||
Hypertape drives can be booted with:
|
||||
|
||||
BOOT HTxn
|
||||
|
||||
|
||||
2.4.3 7750 Communications Controller (COM and COML)
|
||||
|
||||
The 7750 is modelled as a terminal multiplexor with 33 lines. It consists
|
||||
of two device: COM is the multiplexor controller, and COML is the indivdual
|
||||
lines. For the first 32 lines, the 7750 performs input and output through
|
||||
Telnet sessions connected via a user-specified listening port. The ATTACH command
|
||||
specifies the port to be used for Telnet sessions:
|
||||
|
||||
ATTACH COM <port> set up listening port
|
||||
|
||||
where port is a decimal number between 1 and 65535 that is not being used
|
||||
for other TCP/IP activities.
|
||||
|
||||
Each line (each unit of COML) can be set to one of twp modes: KSR-35 and
|
||||
KSR-37. In KSR-35 mode, lower case input and output characters are converted
|
||||
automatically to upper case, and parity is ignored. In KSR-37 mode, lower
|
||||
case characters are left alone, and even parity is generated on input.
|
||||
KSR-37 is the default.
|
||||
|
||||
Once COM is attached and the simulator is running, the 7750 listens
|
||||
for connections on the specified port. It assumes that any incoming
|
||||
connection is a Telnet connections. The connections remain open until
|
||||
disconnected either by the Telnet client, a SET COM DISCONNECT command,
|
||||
or a DETACH COM command.
|
||||
|
||||
The 7750 implements the following special SHOW commands
|
||||
|
||||
SHOW COM CONNECTIONS displays current connections to the 7750
|
||||
SHOW COM STATISTICS displays statistics for active connections
|
||||
|
||||
The 7750 implements the following special SET commands:
|
||||
|
||||
SET COM DISCONNECT=n disconnect line n
|
||||
SET COMLn LOG=filename log output of line n to filename
|
||||
SET COMLn NOLOG disable logging and close log file
|
||||
SET COMLn KSR35 set line n to KSR-35
|
||||
SET COMLn KSR37 set line n to KSR-37
|
||||
SET COMLn 2741 set line n to 2741
|
||||
SET COM CHAN=n set channel for com controller.
|
||||
|
||||
The controller (COM) implements these registers:
|
||||
|
||||
name size comments
|
||||
|
||||
ENABLE 1 enable flag
|
||||
STATE 6 controller state
|
||||
MSGNUM 12 input message sequence number
|
||||
|
||||
2.6 Symbolic Display and Input
|
||||
|
||||
The IBM 7080 simulator implements symbolic display and input. Display is
|
||||
controlled by command line switches:
|
||||
|
||||
-c display as BCD character
|
||||
-m display instruction mnemonics
|
||||
|
||||
Input parsing is controlled by the first character typed in or by command
|
||||
line switches:
|
||||
|
||||
' or -c BCD character
|
||||
" or -s BCD string
|
||||
alphabetic instruction mnemonic
|
||||
numeric octal number
|
||||
|
||||
Instruction input uses standard 7090 assembler syntax. There are two
|
||||
basic instruction classes: memory reference and index reference.
|
||||
|
||||
Memory reference instructions have the format
|
||||
|
||||
memref{*} address{,tag}
|
||||
|
||||
Index reference instructions have the format
|
||||
|
||||
idxref{*} address,{tag},decrement
|
||||
|
||||
Specific instructions may disallow indirect addressing or limit the
|
||||
size of the tag, address, or decrement fields.
|
||||
|
||||
Channel (I/O) instructions have the same basic two formats.
|
||||
|
||||
2.7 Sim Load
|
||||
|
||||
The load command looks at the extension of the file to determine how to
|
||||
load the file.
|
||||
|
||||
.dck Loads autocode loader deck.
|
||||
.sym Loads a 7080 symbolic deck.
|
||||
address instruction.
|
||||
address BCD string
|
||||
address OCT octal, octal,....
|
||||
@ -1,589 +0,0 @@
|
||||
To: Users
|
||||
From: Richard Cornwell
|
||||
Subj: IBM 7090 Simulator Usage
|
||||
Date: 01-Dec-2005
|
||||
|
||||
COPYRIGHT NOTICE
|
||||
|
||||
The following copyright notice applies to both the SIMH source and binary:
|
||||
|
||||
Original code published in 1993-2005, written by Robert M Supnik
|
||||
Copyright (c) 1993-20054, Robert M Supnik
|
||||
IBM 7090 simulator written by Richard Cornwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
ROBERT M SUPNIK OR RICHARD CORNWELL BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of Robert M Supnik or Richard
|
||||
Cornwell shall not be used in advertising or otherwise to promote the sale,
|
||||
use or other dealings in this Software without prior written authorization
|
||||
from both Robert M Supnik and Richard Cornwell.
|
||||
|
||||
This memorandum documents the IBM 7090 simulator.
|
||||
|
||||
|
||||
1. Simulator Files
|
||||
|
||||
To compile the IBM 7090, you must define USE_INT64 as part of the compilation
|
||||
command line.
|
||||
|
||||
sim/ scp.h
|
||||
sim_console.h
|
||||
sim_defs.h
|
||||
sim_fio.h
|
||||
sim_rev.h
|
||||
sim_sock.h
|
||||
sim_tape.h
|
||||
sim_timer.h
|
||||
sim_tmxr.h
|
||||
scp.c
|
||||
sim_console.c
|
||||
sim_fio.c
|
||||
sim_sock.c
|
||||
sim_tape.c
|
||||
sim_timer.c
|
||||
sim_tmxr.c
|
||||
|
||||
sim/i7090/ i7090_defs.h
|
||||
i7090_cpu.c CPU, channel, interface
|
||||
i7090_chan.c
|
||||
i7090_sys.c
|
||||
i7090_cdr.c 7090 Specific peripherals
|
||||
i7090_cdp.c
|
||||
i7090_drum.c
|
||||
i7090_lpr.c
|
||||
i7090_hdrum.c CTSS drum
|
||||
i7000_defs.h Generic 7000 peripherals
|
||||
i7000_chan.c
|
||||
i7000_chron.c
|
||||
i7000_com.c
|
||||
i7000_dsk.c
|
||||
i7000_mt.c
|
||||
i7000_ht.c
|
||||
|
||||
|
||||
2. IBM 7090 Features
|
||||
|
||||
The IBM 7090 simulator is configured as follows:
|
||||
|
||||
device simulates
|
||||
name(s)
|
||||
|
||||
CPU 7090 CPU with 32KW/64KW of memory
|
||||
CLK interval timer (RPQ F89349) and Chronolog clock
|
||||
CH0* 704 devices.
|
||||
CH1 7607 channel (required)
|
||||
CH2..CH7 additional 7607, 7289, or 7909 channels
|
||||
MTA 729 magnetic tape controller, channel A (required)
|
||||
MTB 729 additional magnetic tape controllers, channels B
|
||||
MTC 729 additional magnetic tape controllers, channels C
|
||||
MT 729 additional magnetic tape controllers, 704 devices
|
||||
HTA 7340 hypertape controller.
|
||||
HTB 7340 additional hypertape controller.
|
||||
CDRn 711 card reader
|
||||
CDPn 721 card punch
|
||||
LPn 716 line printer
|
||||
DR0 733 drum
|
||||
HDn 7289 fast drum control
|
||||
DKn 1301/2302/7304 disk.
|
||||
COM 7750 communications control
|
||||
COML 7750 communications lines
|
||||
|
||||
Channels B through H, the corresponding magnetic tape controllers, and
|
||||
the file control, drum control , and communications control are initially
|
||||
set DISABLED. The file control, drum control, and communications control
|
||||
can be assigned to any channel in the range B through H.
|
||||
|
||||
The 7090 simulator implements several unique stop condition:
|
||||
|
||||
- undefined CPU instruction
|
||||
- undefined channel instruction
|
||||
- XEC nesting exceeds limit
|
||||
- divide check on a divide and halt instruction
|
||||
- select of a non-existent channel
|
||||
- 7607 select of a 7909 channel
|
||||
- write select of a write protected device
|
||||
- invalid file control format
|
||||
- invalid message to 7750
|
||||
- no buffer storage available for input character on 7750
|
||||
- no buffer storage available for output character on 7750
|
||||
|
||||
The LOAD command will load a card binary image file into memory.
|
||||
|
||||
2.1 CPU
|
||||
|
||||
The CPU options include setting memory size and cpu type. Also the special
|
||||
features required for used by the CTSS project:
|
||||
|
||||
SET CPU STANDARD Standard CPU
|
||||
SET CPU CTSS CTSS CPU
|
||||
|
||||
SET CPU 704 Sets cpu to emulate a 704
|
||||
SET CPU 709 Sets cpu to emulate 709 instructions
|
||||
SET CPU 7090 Sets cpu to emualte 7090.
|
||||
SET CPU 7094 Sets cpu to emualte 7094.
|
||||
SET CPU 4K Sets memory to 4K
|
||||
SET CPU 8K Sets memory to 8K
|
||||
SET CPU 16K Sets memory to 16K
|
||||
SET CPU 32K Sets memory to 32K
|
||||
SET CPU TRUEIO CPU executes I/O in cpu time.
|
||||
SET CPU FASTIO CPU detects I/O waits and shortens them
|
||||
SET CPU NOEFP Disables extended presicion floating point.
|
||||
SET CPU EFP Enables extended presicion floating point.
|
||||
SET CPU NOFPSM Disables floating point signifigance mode.
|
||||
SET CPU FPSM Enables floating point signifigance mode.
|
||||
SET CPU TIMER Enables interval timer and interupt.
|
||||
SET CPU NOTIMER Disables interval timer.
|
||||
|
||||
Memory size is 32KW on a standard CPU, 64KW on a CTSS CPU. Set notes below
|
||||
on seting up for CTSS.
|
||||
|
||||
CPU registers include the visible state of the processor as well as the
|
||||
control registers for the interrupt system.
|
||||
|
||||
name size comments
|
||||
|
||||
IC 15 program counter
|
||||
AC 38 accumulator
|
||||
MQ 36 multiplier-quotient
|
||||
ID 36 storage indicators
|
||||
KEYS 36 front panel keys
|
||||
XR1..XR7 15 index registers 1..7
|
||||
SW1..SW6 1 sense switches 1..6
|
||||
SW 6 sense switches
|
||||
SL1..4 1 sense lights 1..4
|
||||
ACOVF 1 AC overflow indicator
|
||||
MQOVF 1 MQ overflow indicator
|
||||
DVC 1 divide check indicator
|
||||
IOC 1 I/O check indicator
|
||||
TM 1 transfer trap enable
|
||||
CTM 1 copy trap enable
|
||||
STM 1 select trap enable
|
||||
FTM 1 floating point trap enable
|
||||
NMODE 1 storage nullification mode enable
|
||||
MTM 1 multiple-tag mode enable
|
||||
ENB 36 contents of interrupt enable register
|
||||
INST_BASE 1 (CTSS) instruction B-core flag
|
||||
DATA_BASE 1 (CTSS) data B-core flag
|
||||
BASE 14 (CTSS) relocation base block
|
||||
LIMIT 14 (CTSS) address limit block
|
||||
|
||||
The CPU can maintain a history of the most recently executed instructions.
|
||||
This is controlled by the SET CPU HISTORY and SHOW CPU HISTORY commands:
|
||||
|
||||
SET CPU HISTORY clear history buffer
|
||||
SET CPU HISTORY=0 disable history
|
||||
SET CPU HISTORY=n enable history, length = n
|
||||
SHOW CPU HISTORY print CPU history
|
||||
SHOW CPU HISTORY=n print first n entries of CPU history
|
||||
|
||||
2.2 I/O Channels (CH0..CH8)
|
||||
|
||||
The 7090 supports up to 8 channels. Channel models include
|
||||
|
||||
7607 standard multiplexor channel
|
||||
7289 high speed drum channel
|
||||
7909 advanced capabilities channel
|
||||
|
||||
Channel A is required and is always a 7607. Channel are represented by
|
||||
a number: A=1, B=2, C=3, D=4, E=5, F=6, G=7, H=8.
|
||||
|
||||
SET CHn 7607 Sets channel to be a 7607 type.
|
||||
SET CHn 7909 Sets channel to be a 7909 type.
|
||||
SET CHn 7289 Sets channel to be a 7289 type. (For CTSS Drum).
|
||||
|
||||
SET CHn FIXED Fixes channel to specific type.
|
||||
SET CHn AUTO Defualt, channel configures based on devices on it.
|
||||
|
||||
Generally there is no need to worry about channel configurations, in
|
||||
auto mode they will configure to correct type to support devices attached
|
||||
to them. Or you will get an error when you attempt to run the simulation
|
||||
if there is a conflict.
|
||||
|
||||
Channel 0 is a puesdo channel for 704 devices. Currently unit CR3, CP3, LP3,
|
||||
DR0, and MTD are set to this device.
|
||||
|
||||
Channels have the following registers:
|
||||
|
||||
name type size comments
|
||||
ADDR all 16 channel data address.
|
||||
CMD all 6 channel command. (S/1/2/3 & 18/19)
|
||||
WC all 15 channel word count.
|
||||
ASM all 36 current channel assembly register.
|
||||
LOCATION all 16 channel location counter.
|
||||
STATUS all 16 channel device status.
|
||||
SENSE 7909 16 additional device controls.
|
||||
COUNTER 7909 6 channel counter.
|
||||
SMS 7909 7 channel SMS register.
|
||||
|
||||
For meaning of bits in STATUS and SENSE see i7090_defs.h.
|
||||
|
||||
2.3 Channel 7607 Devices and 704 devices.
|
||||
|
||||
2.3.1 711 Card Reader (CDR)
|
||||
|
||||
The card reader (CDR) reads data from a disk file. Cards are simulated
|
||||
as ASCII lines with terminating newlines.
|
||||
|
||||
Card reader files can either be text (one character per column) or
|
||||
column binary (two characters per column). The file type can be
|
||||
specified with a set command:
|
||||
|
||||
SET CDRn FORMAT=TEXT sets ascii text mode
|
||||
SET CDRn FORMAT=BINARY sets for binary card images.
|
||||
SET CDRn FORMAT=BCD sets for BCD records.
|
||||
SET CDRn FORMAT=CBN sets for column binary BCD records.
|
||||
SET CDRn FORMAT=AUTO Automaticly determines format.
|
||||
SET CDRn CHAN=n Sets channel to n
|
||||
|
||||
or in the ATTACH command:
|
||||
|
||||
ATT CDRn <file> attaches a file
|
||||
|
||||
The card reader can be booted with the:
|
||||
|
||||
BOOT CDRn loads either the first 2 words or
|
||||
3 words depending on channel.
|
||||
|
||||
Error handling is as follows:
|
||||
|
||||
error processed as
|
||||
|
||||
not attached report error and stop
|
||||
|
||||
end of file out of cards
|
||||
|
||||
OS I/O error report error and stop
|
||||
|
||||
2.3.2 721 Card Punch (CDP)
|
||||
|
||||
The card reader (CDP) writes data to a disk file. Cards are simulated
|
||||
as ASCII lines with terminating newlines.
|
||||
|
||||
Card punch files can either be text (one character per column) or
|
||||
column binary (two characters per column). The file type can be
|
||||
specified with a set command:
|
||||
|
||||
SET CDPn FORMAT=TEXT sets ascii text mode
|
||||
SET CDPn FORMAT=BINARY sets for binary card images.
|
||||
SET CDPn FORMAT=BCD sets for BCD records.
|
||||
SET CDPn FORMAT=CBN sets for column binary BCD records.
|
||||
SET CDPn FORMAT=AUTO Automaticly determines format.
|
||||
SET CDPn CHAN=n Sets channel to n
|
||||
|
||||
or in the ATTACH command:
|
||||
|
||||
ATT CDPn <file> attaches a file
|
||||
|
||||
Error handling is as follows:
|
||||
|
||||
error processed as
|
||||
|
||||
not attached report error and stop
|
||||
|
||||
OS I/O error report error and stop
|
||||
|
||||
2.3.3 716 Line Printer (LP)
|
||||
|
||||
The line printer (LP) writes data to a disk file as ASCII text with
|
||||
terminating newlines. Currently set to handle standard signals to
|
||||
control paper advance.
|
||||
|
||||
SET LPn NO/ECHO Sets echoing to console of lineprinter output.
|
||||
SET LPn CHAN=n sets channel for this device
|
||||
|
||||
Error handling is as follows:
|
||||
|
||||
error processed as
|
||||
|
||||
not attached report error and stop
|
||||
|
||||
OS I/O error report error and stop
|
||||
|
||||
The Printer supports the following SPRA n selection pulses for controlling
|
||||
spacing (spacing occurs before the line is printed):
|
||||
|
||||
SPRA 2 Single space.
|
||||
SPRA 1 To top of form.
|
||||
SPRA 3 Double space.
|
||||
SPRA 4 Triple space.
|
||||
SPRA 9 Suppress linefeed after print.
|
||||
|
||||
SPT Will skip if any printer line has been pulsed.
|
||||
|
||||
Defualt with no SPRA is to single space before printing.
|
||||
|
||||
|
||||
2.3.4 729 Magnetic Tape (MTA-D)
|
||||
|
||||
These come in groups of 10 units each. The controller defines which channel
|
||||
the devices will be on.
|
||||
|
||||
SET MTx CHAN=n Set magtape to channel n. x = A|B|C|<nothing>.
|
||||
|
||||
Each individual tape drive support several options: MTA used as an example.
|
||||
|
||||
SET MTAn ONLINE Sets the mag tape drive online.
|
||||
SET MTAn OFFLINE Sets the mag tape drive offline and not ready.
|
||||
SET MTAn REWIND Sets the mag tape to the load point.
|
||||
SET MTAn LOCKED Sets the mag tape to be read only.
|
||||
SET MTAn WRITEENABLE Sets the mag tape to be writeable.
|
||||
SET MTAn LOW Sets mag tape to low density.
|
||||
SET MTAn HIGH Sets mag tape to high density.
|
||||
|
||||
Options: Density LOW/HIGH does not change format of how tapes are written. And
|
||||
is only for informational purposes only.
|
||||
|
||||
Online/Offline is part of a optional RPQ for the 7090 which adds the DRS/TRS
|
||||
instructions.
|
||||
|
||||
DRS drive Will set drive to offline after current command is
|
||||
finished. Drive is not unloaded and can be reenabled
|
||||
by setting it online.
|
||||
TRS drive Tests to see if the drive is online. If the drive
|
||||
is there and online it will skip the next instruction
|
||||
otherwise it takes the next instruction.
|
||||
|
||||
These instructions were put in since accessing a unloaded tape drive would
|
||||
hang the CPU.
|
||||
|
||||
Tape drives can be booted with:
|
||||
BOOT MTxn
|
||||
|
||||
2.3.4 ChronoClock.
|
||||
|
||||
Disabled by default. This is a special 729 tape drive which returns the
|
||||
current time. It supports the option of setting the channel and drive
|
||||
that it will occupy. Note: You must disable the real 729 drive that is
|
||||
is replacing.
|
||||
|
||||
SET CHRON CHAN=n Set channel for chrono clock.
|
||||
SET CHRON UNIT=n Sets the unit for the chrono clock.
|
||||
|
||||
Example: To set Chronoclock to unit A9 do the following:
|
||||
|
||||
SET MTA9 DISABLE
|
||||
SET CHRON UNIT=9 CHAN=A
|
||||
|
||||
|
||||
2.3.5 733 Drum (DR)
|
||||
|
||||
This is the drum for 704/709 and possible 7090. Up to 16 units can
|
||||
be attached to the CPU, all are on puesdo channel 0. Each drum is
|
||||
2048K words in size. They are all stored in one file.
|
||||
|
||||
SET DR0 UNITS=n
|
||||
|
||||
Drum unit 0 can be booted with:
|
||||
|
||||
BOOT DR0
|
||||
|
||||
Drum unit can be assigned to a 7607 channel, but this is unsupported
|
||||
by the operating systems. Drum channel is changed with:
|
||||
|
||||
SET DR0 CHAN=n where n is '*' or A-H. Channel '*' is
|
||||
the default which is the 704 psuedo channel.
|
||||
|
||||
|
||||
2.4 7909 Devices
|
||||
|
||||
These devices must be attached to a 7909 channel to work.
|
||||
|
||||
2.4.1 1301/1302/2302/7320 Disk devices
|
||||
|
||||
The 7631 file control supports up to ten devices, which can be 7320
|
||||
drums, 1301 disks, 1302 disks, or 2302 disks. Unit types are specified
|
||||
with the SET command.
|
||||
|
||||
SET DKn TYPE=7320 unit n is a drum
|
||||
SET DKn TYPE=7320-2 unit n is a drum (two modules).
|
||||
SET DKn TYPE=1301 unit n is a 1301 disk
|
||||
SET DKn TYPE=130l-2 unit n is a 1301-2 disk (two modules).
|
||||
SET DKn TYPE=1302 unit n is a 1302 disk
|
||||
SET DKn TYPE=1302-2 unit n is a 1302-2 disk (two modules).
|
||||
SET DKn TYPE=2302 unit n is a 2302 disk
|
||||
|
||||
Units can be SET ENABLED or DISABLED. In addition, units can be
|
||||
set to enable or disable formatting:
|
||||
|
||||
SET DKn FORMAT enable formatting
|
||||
SET DKn NOFORMAT disable formatting
|
||||
SET DKn HA2 enable writing of home address 2
|
||||
SET DKn NOHA2 disable writing of home address 2
|
||||
SET DKn MODULE=n sets modules for unit, modules
|
||||
can only be even. 0 to 8.
|
||||
SET DKn CHAN=n sets channel for unit (A-H).
|
||||
SET DKn SELECT=n sets select on channel (0 or 1).
|
||||
SET DKn CTSS sets disk to use CTSS bootstrap.
|
||||
SET DKn IBSYS sets disk to use IBSYS bootstrap.
|
||||
|
||||
Formatting is disabled by default.
|
||||
|
||||
All Disk units support bootsrapping with boot command. Bootstrap code
|
||||
is build based on whether CPU is in CTSS mode or not.
|
||||
|
||||
BOOT DKn
|
||||
|
||||
Error handling is as follows:
|
||||
|
||||
error processed as
|
||||
|
||||
not attached report error and stop
|
||||
|
||||
OS I/O error report error and stop
|
||||
|
||||
2.4.2 Hypertape 7340 Tape drive (HTA/B)
|
||||
|
||||
These come in groups of 10 units each. The controller defines which channel
|
||||
the devices will be on.
|
||||
|
||||
SET HTx CHAN=n Set magtape to channel n. x = A|B.
|
||||
SET HTx SELECT=n Sets the selection mode for the channel.
|
||||
|
||||
Each individual tape drive support several options: HTA used as an example.
|
||||
|
||||
SET MTAn LOCKED Sets the mag tape to be read only.
|
||||
SET MTAn WRITEENABLE Sets the mag tape to be writeable.
|
||||
|
||||
NOTE: Hypertape drives may not be working correctly since there is
|
||||
very little documentation available on them.
|
||||
|
||||
Hypertape drives can be booted with:
|
||||
|
||||
BOOT HTxn
|
||||
|
||||
|
||||
2.4.3 7750 Communications Controller (COM and COML)
|
||||
|
||||
The 7750 is modelled as a terminal multiplexor with 33 lines. It consists
|
||||
of two device: COM is the multiplexor controller, and COML is the indivdual
|
||||
lines. For the first 32 lines, the 7750 performs input and output through
|
||||
Telnet sessions connected via a user-specified listening port; the 33rd line
|
||||
is permanently attached to the simulator console window. The ATTACH command
|
||||
specifies the port to be used for Telnet sessions:
|
||||
|
||||
ATTACH COM <port> set up listening port
|
||||
|
||||
where port is a decimal number between 1 and 65535 that is not being used
|
||||
for other TCP/IP activities.
|
||||
|
||||
Each line (each unit of COML) can be set to one of twp modes: KSR-35 and
|
||||
KSR-37. In KSR-35 mode, lower case input and output characters are converted
|
||||
automatically to upper case, and parity is ignored. In KSR-37 mode, lower
|
||||
case characters are left alone, and even parity is generated on input.
|
||||
KSR-37 is the default.
|
||||
|
||||
Once COM is attached and the simulator is running, the 7750 listens
|
||||
for connections on the specified port. It assumes that any incoming
|
||||
connection is a Telnet connections. The connections remain open until
|
||||
disconnected either by the Telnet client, a SET COM DISCONNECT command,
|
||||
or a DETACH COM command.
|
||||
|
||||
The 7750 implements the following special SHOW commands
|
||||
|
||||
SHOW COM CONNECTIONS displays current connections to the 7750
|
||||
SHOW COM STATISTICS displays statistics for active connections
|
||||
|
||||
The 7750 implements the following special SET commands:
|
||||
|
||||
SET COM DISCONNECT=n disconnect line n
|
||||
SET COMLn LOG=filename log output of line n to filename
|
||||
SET COMLn NOLOG disable logging and close log file
|
||||
SET COMLn KSR35 set line n to KSR-35
|
||||
SET COMLn KSR37 set line n to KSR-37
|
||||
SET COMLn 2741 set line n to 2741
|
||||
SET COM CHAN=n set channel for com controller.
|
||||
|
||||
The controller (COM) implements these registers:
|
||||
|
||||
name size comments
|
||||
|
||||
ENABLE 1 enable flag
|
||||
STATE 6 controller state
|
||||
MSGNUM 12 input message sequence number
|
||||
|
||||
2.5 7289 High-Speed Drum (HD)
|
||||
|
||||
The 7289 (also known as the 7320A) high-speed drum was a late
|
||||
addition to CTSS. Very little is known about the device, other
|
||||
than what is used in the CTSS sources.
|
||||
|
||||
The drum can be changed to different channels with the
|
||||
SET HD0 CHAN=n where n is A-H. The channel must be configured
|
||||
as a 7289 type channel. Otherwise the drum will
|
||||
not work.
|
||||
|
||||
SET HD0 UNITS=n Sets the number of 256K drums on the unit.
|
||||
|
||||
|
||||
Error handling is as follows:
|
||||
|
||||
error processed as
|
||||
|
||||
not attached report error and stop
|
||||
|
||||
Drum data files are buffered in memory; therefore, end of file and OS
|
||||
I/O errors cannot occur.
|
||||
|
||||
|
||||
2.6 Symbolic Display and Input
|
||||
|
||||
The IBM 7090 simulator implements symbolic display and input. Display is
|
||||
controlled by command line switches:
|
||||
|
||||
-c display as BCD character
|
||||
-m display instruction mnemonics
|
||||
-l display as lisp pointer.
|
||||
|
||||
Input parsing is controlled by the first character typed in or by command
|
||||
line switches:
|
||||
|
||||
' or -c BCD character
|
||||
" or -s BCD string
|
||||
alphabetic instruction mnemonic
|
||||
numeric octal number
|
||||
|
||||
Instruction input uses standard 7090 assembler syntax. There are two
|
||||
basic instruction classes: memory reference and index reference.
|
||||
|
||||
Memory reference instructions have the format
|
||||
|
||||
memref{*} address{,tag}
|
||||
|
||||
Index reference instructions have the format
|
||||
|
||||
idxref{*} address,{tag},decrement
|
||||
|
||||
Specific instructions may disallow indirect addressing or limit the
|
||||
size of the tag, address, or decrement fields.
|
||||
|
||||
Channel (I/O) instructions have the same basic two formats.
|
||||
|
||||
2.7 Sim Load
|
||||
|
||||
The load command looks at the extension of the file to determine how to
|
||||
load the file.
|
||||
|
||||
.crd Loads a card image file into memory.
|
||||
standard 709 format + 1 card loader.
|
||||
.oct Loads an octal deck:
|
||||
address <blank> octal <blank> octal...
|
||||
.sym Loads a 709 symbolic deck.
|
||||
address instruction.
|
||||
address BCD string
|
||||
address OCT octal, octal,....
|
||||
Loading…
x
Reference in New Issue
Block a user