1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-27 20:47:38 +00:00

Fix use of UFA instruction in C library.

Patch out the call to FIXIFY in CC.  This subroutine uses the UFA
instruction which isn't implemented on a KS10.

Make the use of UFA an assembly time conditional in the C library.
Replace it with FIX on KS10.
This commit is contained in:
Lars Brinkhoff
2018-10-23 08:48:39 +00:00
parent be1dde5e40
commit 628a20654b
3 changed files with 35 additions and 10 deletions

View File

@@ -8,6 +8,8 @@ TITLE CRUN
.INSRT NC
.INSRT NM
IFNDEF KS10,KS10==0
.GLOBAL A,B,C,D,P,GO,.CCALL,.VCALL,.ACALL,.XCALL
PDLSIZ==20000 ; DESIRED PDL SIZE
@@ -352,17 +354,23 @@ I$MES4: ASCIZ/PURIFY FAILED/
.CODE
IFE KS10,[
EXPUNGE FIX
DEFINE FIX X,Y
UFA Y,[233000000000']
TLZ X,777000'
TERMIN
]
IENTRY FIXIFY
JUMPL A,FIXL
FADR A,[.499999]
UFA A,[233000000000']
TLZ B,777000'
FIX B,A
JRST @0
FIXL: MOVN A,A
FADR A,[.499999]
UFA A,[233000000000']
TLZ B,777000'
FIX B,A
MOVN B,B
JRST @0

View File

@@ -8,6 +8,8 @@ TITLE CFLOAT
.INSRT NC
.INSRT NM
IFNDEF KS10,KS10==0
; CONTAINS: LOG, EXP, COS, SIN, ATAN, SQRT, DTRUNCATE, DROUND, DABS
CENTRY LOG,[V]
@@ -183,24 +185,29 @@ ATAN3: MOVE A,B
SQRT2: 1.41421356
PI2: 3.1415926535/2
IFE KS10,[
EXPUNGE FIX
DEFINE FIX X,Y
UFA Y,[233000000000']
TLZ X,777000'
TERMIN
]
CENTRY DROUND,[V]
MOVE A,V
FADR A,[.499999]
JUMPL A,ROUND1
UFA A,[233000000000]
TLZ B,777000
FIX B,A
GO ROUND2
ROUND1: UFA A,[233000000000]
TLO B,777000
ROUND1: FIX B,A
ROUND2: MOVE A,B
RETURN
CENTRY DTRUNCATE,[V]
MOVE A,V
UFA A,[233000000000]
TLZ B,777000
FIX B,A
MOVE A,B
RETURN