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:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user