mirror of
https://github.com/PDP-10/its.git
synced 2026-01-14 15:45:47 +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:
parent
be1dde5e40
commit
628a20654b
@ -1087,6 +1087,16 @@ respond "M IML" "\r"
|
||||
respond ":PDUMP" "games; ts maze\r"
|
||||
respond "*" ":kill\r"
|
||||
|
||||
# The old CLIB has a UFA instruction which doesn't work on a KS10.
|
||||
# Patch out the call to FIXIFY.
|
||||
respond "*" ":job cc\r"
|
||||
respond "*" ":load c; ts cc\r"
|
||||
respond "*" "55107/"
|
||||
respond "FIXIFY" "jfcl\r"
|
||||
respond "UNPURE" ":corblk pure,55107\r"
|
||||
respond "*" ":pdump c; ts cc\r"
|
||||
respond "*" ":kill\r"
|
||||
|
||||
# TJ6
|
||||
respond "*" ":midas sysbin;_tj6;tj6\r"
|
||||
expect ":KILL"
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user