simh-testsetgenerator/I650/sw/it/00_readme.txt
Roberto Sancho Villa 08027162ca I650: Update IBM 650 simulator to Release 4
- Integration with updated sim_card API
- Addition of MT (Mag Tape) device
- Addition of DSK (Disk) device
- Build time simulator test
2020-05-15 05:57:01 -07:00

59 lines
1.9 KiB
Text

Restoration comments May/2018
By Roberto Sancho
Internal Translator (IT Compiler)
From Bitsavers Manual CarnegieInternalTranslator.pdf
The run_it.ini script uses P1 run-time package that
provides floating point +,-,/,* PUNCH and READ, that's
all. In particular, it does not provides power functions
so using power operator in IT program will crash the
object program in run-time.
To allow the use of IT power operator, replace _P1
package by _P2, _P3 or _P4 (depending on what is needed)
In the original listing found in manual, some opcodes has
a different name of the standard SOAP II ones.
They have been changed to regular SOAP names
Mnemonic in Standard SOAP
original listing equivalent mnemonic
AAB -> AML
SAB -> SML
NZA -> NZE
RAB -> RAM
RSB -> RSM
RDS -> RD1
IT compiler generates also these opcodes in object
program, to be assembled by IT modified y SOAP I. As
SOAP I is not available, the IT compiler has been
modified to produce standard SOAP II opcodes.
These modifications are done in lines 394-410, file
it_compiler_listing.txt with a comment to signal it.
Also all the correction to the listing stated in the
manual has been applied. They are stated at the
end of it_compiler_listing.txt file.
Original listing in manual describes the modifications
to apply to standard SOAP I deck in order to assemble
IT compiler produced SOAP code (soap_patch_listing.txt).
As SOAP I is not available, an equivalent set of modifications
has been written to be applies to SOAP II in order to
allow to assemble IT produced compiled code (soapII_patch.txt)
Floating point numbers are encoded as
2300000049 = 0.23
1000000050 = 1.0
1500000052 = 150.0