1
0
mirror of https://github.com/PDP-10/its.git synced 2026-02-18 13:37:10 +00:00

Update PDP-10 info file with KS10 information.

This commit is contained in:
Lars Brinkhoff
2020-04-14 14:07:22 +02:00
parent cce28434a5
commit 31c1ae881c

View File

@@ -58,10 +58,10 @@ PDP-10 Node: Intro, Up: Top, Previous: Top, Next: Memory
Introduction to PDP-10 Assembly Language Programming
The PDP-10 is a general purpose stored program computer. There are four
The PDP-10 is a general purpose stored program computer. There are five
different processors (computers) in the PDP-10 family (the PDP-6, the KA10,
the KI10 and the KL10). This file discusses primarily the KA-10 version,
which is what most of the ITS systems are.
the KI10, the KL10, and the KS10). This file discusses primarily the KA-10
version, which is what most of the ITS systems are.
There are three principal aspects of assembly language programming:
the machine instructions, the assembler, and the operating system.
@@ -835,16 +835,16 @@ DIVB C(AC) <- C(AC AC+1) / C(E); C(AC+1) <- remainder;

PDP-10 Node: KL-Only, Previous: Fixed Point, Up: Top, Next: Floating Point
This node describes some instructions that only KL-10's have. This
means that the only ITS machine which has them is MC. You should
probably not use them even if you expect to run on MC, so that your
program can be moved.
This node describes some instructions that only KL-10s and KS10s
have. Before the arrival of the KS10, the only ITS machine which had
them was MC. You should probably not use them even if you expect to
run on MC or a KS10, so that your program can be moved.
Double word Move instructions (KI10 and KL10)
Double word Move instructions (KI10, KL10, and KS10)
There are four double word move instructions. These are suitable for
manipulating KI10 and KL10 double precision floating point numbers,
and for KL10 double precision integers.
manipulating KI10, KL10, and KS10 double precision floating point
numbers, and for KL10/KS10 double precision integers.
DMOVE C(AC AC+1) <- C(E E+1)
DMOVEM C(E E+1) <- C(AC AC+1)
@@ -857,7 +857,7 @@ precision floating point numbers!
If a program is written that may be have to be run on a KA10, the use
of all double word instructions should be avoided.
Double Precision Integer Arithmetic (KL10 only)
Double Precision Integer Arithmetic (KL10 and KS10 only)
There are four instructions for double precision integer arithmetic.
None of these instructions have any modifier: they all operate on
@@ -911,16 +911,16 @@ word with a zero fraction and non-zero exponent can produce extreme
loss of precision if used as an operand in a floating point addition
or subtraction.
In KI10 (and KL10) double precision floating point, a second word is
In KI10, KL10, and KS10 double precision floating point, a second word is
included which contains in bits 1:35 an additional 35 fraction bits.
The additional fraction bits do not significantly affect the range of
representable numbers, rather they extend the precision.
The KA10 lacks double precision floating point hardware, however
there are several instructions by which software may implement double
The KA10 lacks double precision floating point hardware, however there
are several instructions by which software may implement double
precision. These instructions are DFN, UFA, FADL, FSBL, FMPL, and
FDVL. Users of the KL10 are strongly advised to avoid using these
intructions.
FDVL. Users of the KL10 and KS10 are strongly advised to avoid using
these intructions.
In the PDP-6 floating pointing is somewhat different. Consult a wizard.
@@ -952,7 +952,7 @@ Other floating point instructions:
FSC (Floating SCale) will add E to the exponent of the number in AC
and normalize the result. One use of FSC is to convert an integer in
AC to floating point (but FLTR, available in the KI and KL is better)
AC to floating point (but FLTR, available in the KI, KL, and KS is better)
To use FSC to float an integer, set E to 233 (excess 200 and shift
the binary point 27 bits). The integer being floated must not have
more than 27 significant bits. FSC will set AROV and FOV if the
@@ -1131,11 +1131,11 @@ fetched. The POS field is changed by subtracting the size field from
it. If the result of the subtraction is greater than or equal to
zero, store the difference in the POS field. If the difference is
negative, add 1 to the Y field (in the KA10 and PDP-6 if Y contains
777777 then this will carry into the X field; in the KI10 and KL10 the
carry out is suppressed) and set POS field to 44-SIZE (44 is octal).
The effect of this is to modify the byte pointer to address the next
byte (of the same size) that follows the byte addressed by the
original pointer.
777777 then this will carry into the X field; in the KI10, KL10, and
KS10 the carry out is suppressed) and set POS field to 44-SIZE (44 is
octal). The effect of this is to modify the byte pointer to address
the next byte (of the same size) that follows the byte addressed by
the original pointer.
ILDB - Increment and Load Byte. Increment the byte pointer contained
at the effective address. Then perform a LDB function using