blob: 03d67eab1d4491db67a1001b14de6f083951f518 [file] [log] [blame] [raw]
Restoration comments May/2018
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