1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-11 23:53:12 +00:00

Add FP11 instructions to 11SIM.

This commit is contained in:
Lars Brinkhoff 2018-07-23 07:07:38 +02:00
parent 36b7df1aaa
commit 637b7810d2

View File

@ -1112,7 +1112,28 @@ I1TAB: I0000
REPEAT 64.,SETZ IBICB
REPEAT 64.,SETZ IBISB
REPEAT 64.,TRN ISUB
REPEAT 64.,I1ILL
I17000
ILDFPS
ISTFPS
MOVE ISTST
MOVE ICLRF
MOVE ITSTF
MOVE IABSF
MOVE INEGF
REPEAT 4,MOVE IMULF ;171000
REPEAT 4,MOVE IMODF ;171400
REPEAT 4,MOVE IADDF ;172000
REPEAT 4,MOVE ILDF ;172400
REPEAT 4,MOVE ISUBF ;173000
REPEAT 4,MOVE ICMPF ;173400
REPEAT 4,MOVE ISTF ;174000
REPEAT 4,MOVE IDIVF ;174400
REPEAT 4,MOVE ISTEXP ;175000
REPEAT 4,MOVE ISTCFI ;175400
REPEAT 4,MOVE ISTCFF ;176000
REPEAT 4,MOVE ILDEXP ;176400
REPEAT 4,MOVE ILDCFI ;177000
REPEAT 4,MOVE ILDCFF ;177400
I1ILL: ADDI TIME,15.
JSP A,IILL
@ -2479,6 +2500,144 @@ IBISB: ADDI TIME,23.
DPB MB,11BYTE(X)
IZZBND
;FP11 FLOATING POINT
;FP11 STATUS REGISTER
FPS: 0
ILF==100 ;LONG FLAG
FDF==200 ;DOUBLE FLAG
;FP11 ACCUMULATORS
FAC: BLOCK 6
I17000: CAIL I,170013
JRST I2ILL
JRST @.+1-170000(I)
ICFCC
ISETF
ISETI
I2ILL
I2ILL
I2ILL
I2ILL
I2ILL
I2ILL
ISETD
ISETL
ICFCC: MOVE TT,FPS
TRZ TT,777760
TRZ PS,17
ADDI PS,(TT)
JRST INEND
ISETF: MOVE TT,FPS
TRZ TT,FDF
MOVEM TT,FPS
JRST INEND
ISETI: MOVE TT,FPS
TRZ TT,ILF
MOVEM TT,FPS
JRST INEND
ISETD: MOVE TT,FPS
TRO TT,FDF
MOVE TT,FPS
JRST INEND
ISETL: MOVE TT,FPS
TRO TT,ILF
MOVE TT,FPS
JRST INEND
ILDFPS:
ISTFPS:
ISTST:
JRST IHALT
ICLRF: ADDI TIME,0.
XCT ODACWT-170400(I)
MOVE TT,FPS
TRZ TT,17
TRO TT,ZF ;SET ZERO FLAG
MOVEM TT,FPS
SKIPGE PDP11(MA)
JSP D,MTRAPW
HLLZS PDP11(MA) ;CLEAR TWO WORDS
HLLZS PDP11+1(MA)
JRST INEND
ITSTF: ADDI TIME,0.
XCT ODACRT-170500(I)
SKIPGE MB,PDP11(MA) ;LOAD TWO WORDS
JSP D,MTRAPR
AOS MA
SKIPGE T1,PDP11(MA)
JSP D,MTRAPR
MOVE TT,FPS
TRZ TT,17
TRNE MB,100000 ;CHECK SIGN BIT
TRO TT,NF ;SET NEGATIVE FLAG
TRZ MB,100000 ;CLEAR SIGN BIT
SKIPE MB
SKIPN T1
TRO TT,ZF ;SET ZERO FLAG
MOVEM TT,FPS
JRST INEND
IABSF: XCT ODACWT-170600(I)
SKIPGE MB,PDP11(MA)
JSP D,MTRPW
AOS MA
SKIPGE T1,PDP11(MA)
JSP D,MTRPW
TRZ MB,100000 ;CLEAR SIGN BIT
HRRM MB,PDP11(MA)
MOVE TT,FPS
TRZ TT,17
SKIPE MB
SKIPN T1
TRO TT,ZF ;SET ZERO FLAG
MOVEM TT,FPS
JRST INEND
INEGF: ADDI TIME,0.
XCT ODACWT-170700(I)
SKIPGE MB,PDP11(MA)
JSP D,MTRPW
AOS MA
SKIPGE T1,PDP11(MA)
JSP D,MTRPW
MOVE TT,FPS
TRZ TT,17
TRCE MB,100000 ;TOGGLE SIGN BIT
TRO TT,NF ;SET NEGATIVE FLAG
HRRM MB,PDP11(MA)
SKIPE MB
SKIPN T1
TRO TT,ZF ;SET ZERO FLAG
MOVEM TT,FPS
JRST INEND
IMULF:
IMODF:
IADDF:
ILDF:
ISUBF:
ICMPF:
ISTF:
IDIVF:
ISTEXP:
ISTCFI:
ISTCFF:
ILDEXP:
ILDCFI:
ILDCFF:
JRST IHALT
11BYTE: 1000,,PDP11(MA)
101000,,PDP11(MA)