mirror of
https://github.com/PDP-10/its.git
synced 2026-04-05 13:41:09 +00:00
640 lines
6.5 KiB
Plaintext
640 lines
6.5 KiB
Plaintext
;
|
||
; C20SYS - SYSTEM-CALL INTERFACES (TOPS20)
|
||
;
|
||
|
||
TITLE C20SYS
|
||
.INSRT SS:<C>CINSRT
|
||
.INSRT SS:<C>MINSRT
|
||
|
||
CENTRY SYSGTJFN,[FLAGS,NAME]
|
||
|
||
MOVE A,FLAGS
|
||
MOVE B,NAME
|
||
GTJFN
|
||
JFCL ; LEAVE ERROR CODE IN A
|
||
RETURN
|
||
|
||
CENTRY SYSGNJFN,[HANDLE]
|
||
|
||
MOVE A,HANDLE
|
||
GNJFN
|
||
JFCL
|
||
RETURN
|
||
|
||
CENTRY SYSOPENF,[JFN,FLAGS]
|
||
|
||
MOVE A,JFN
|
||
MOVE B,FLAGS
|
||
OPENF
|
||
CAIA
|
||
MOVEI A,0
|
||
RETURN
|
||
|
||
CENTRY SYSSFPTR,[JFN,BYTENO]
|
||
|
||
MOVE A,JFN
|
||
MOVE B,BYTENO
|
||
SFPTR
|
||
CAIA
|
||
MOVEI A,0
|
||
RETURN
|
||
|
||
CENTRY SYRFPTR,[JFN]
|
||
|
||
MOVE A,JFN
|
||
RFPTR
|
||
SETO B,
|
||
MOVE A,B
|
||
RETURN
|
||
|
||
CENTRY SYSBIN,[SOURCE]
|
||
|
||
MOVE A,SOURCE
|
||
BIN
|
||
MOVE A,B
|
||
RETURN
|
||
|
||
CENTRY SYSBOUT,[DEST,BYTE]
|
||
|
||
MOVE A,DEST
|
||
MOVE B,BYTE
|
||
BOUT
|
||
RETURN
|
||
|
||
CENTRY SYSSIN,[SOURCE,PTR,COUNT,TBYTE]
|
||
|
||
MOVE A,SOURCE
|
||
MOVE B,PTR
|
||
MOVE C,COUNT
|
||
MOVE D,TBYTE
|
||
SIN
|
||
MOVE A,C
|
||
RETURN
|
||
|
||
CENTRY SYSSOUT,[JFN,PTR,COUNT,TBYTE]
|
||
|
||
MOVE A,JFN
|
||
MOVE B,PTR
|
||
MOVE C,COUNT
|
||
MOVE D,TBYTE
|
||
SOUT
|
||
MOVE A,C
|
||
RETURN
|
||
|
||
CENTRY JSOUT,[JFN,PTR,COUNT,TBYTE]
|
||
|
||
MOVE A,JFN
|
||
MOVE B,PTR
|
||
MOVE C,COUNT
|
||
MOVE D,TBYTE
|
||
SOUT
|
||
MOVE A,C
|
||
RETURN
|
||
|
||
CENTRY JBKJFN,[JFN]
|
||
|
||
MOVE A,JFN
|
||
BKJFN
|
||
TDZA A,A
|
||
SETO A,
|
||
SETCA A,
|
||
RETURN
|
||
|
||
CENTRY SYSGESTS,[JFN] ; GTSTS
|
||
|
||
MOVE A,JFN
|
||
GTSTS
|
||
MOVE A,B
|
||
RETURN
|
||
|
||
CENTRY JGTSTS,[JFN]
|
||
|
||
MOVE A,JFN
|
||
GTSTS
|
||
MOVE A,B
|
||
RETURN
|
||
|
||
CENTRY JSIBE,[JFN]
|
||
|
||
MOVE A,JFN
|
||
SIBE
|
||
CAIA
|
||
MOVEI B,0
|
||
MOVE A,B
|
||
RETURN
|
||
|
||
CENTRY SYSCLOSF,[JFN]
|
||
|
||
MOVE A,JFN
|
||
CLOSF
|
||
JFCL
|
||
RETURN
|
||
|
||
CENTRY SYSRDTTY,[BUF,SIZ,OPT]
|
||
|
||
MOVE A,BUF
|
||
MOVE B,SIZ
|
||
MOVE C,OPT
|
||
SETZ D,
|
||
RDTTY
|
||
SETO D,
|
||
MOVE A,D
|
||
RETURN
|
||
|
||
CENTRY SYSPSOUT,[STR]
|
||
|
||
MOVE A,STR
|
||
PSOUT
|
||
RETURN
|
||
|
||
CENTRY SYSDOBE,[JFN]
|
||
|
||
MOVE A,JFN
|
||
DOBE
|
||
RETURN
|
||
|
||
CENTRY SYSGYP,[JFN] ; GTTYP
|
||
|
||
MOVE A,JFN
|
||
SETO B,
|
||
GTTYP
|
||
ERJMP L2
|
||
L2: MOVE A,B
|
||
RETURN
|
||
|
||
CENTRY SYSDVCHR,[JFN,VALS]
|
||
|
||
MOVE A,JFN
|
||
DVCHR
|
||
MOVE D,VALS
|
||
MOVEM A,(D)
|
||
MOVEM B,1(D)
|
||
MOVEM C,2(D)
|
||
RETURN
|
||
|
||
CENTRY SYSRSCAN,[PTR]
|
||
|
||
MOVE A,PTR
|
||
RSCAN
|
||
SETO A,
|
||
RETURN
|
||
|
||
CENTRY SYSRLJFN,[JFN]
|
||
|
||
MOVE A,JFN
|
||
RLJFN
|
||
JFCL
|
||
RETURN
|
||
|
||
CENTRY SYSJFNS,[BUF,JFN,BITS]
|
||
|
||
MOVE A,BUF
|
||
MOVE B,JFN
|
||
MOVE C,BITS
|
||
JFNS
|
||
RETURN
|
||
|
||
CENTRY SYSGJI,[JOB,PTR,FIRST] ;GETJI
|
||
|
||
MOVE A,JOB
|
||
MOVE B,PTR
|
||
MOVE C,FIRST
|
||
SETZ D,
|
||
GETJI
|
||
SETO D,
|
||
MOVE A,D
|
||
RETURN
|
||
|
||
CENTRY SYSDIRST,[BUF,NUM]
|
||
|
||
MOVE A,BUF
|
||
MOVE B,NUM
|
||
SETZ C,
|
||
DIRST
|
||
SETO C,
|
||
MOVE A,C
|
||
RETURN
|
||
|
||
CENTRY SYSODCNV,[DAT,BITS,VEC]
|
||
|
||
MOVE B,DAT
|
||
MOVE D,BITS
|
||
ODCNV
|
||
MOVE A,VEC
|
||
MOVEM B,(A)
|
||
MOVEM C,1(A)
|
||
MOVEM D,2(A)
|
||
RETURN
|
||
|
||
CENTRY SYSIDTIM,[STR,BITS]
|
||
|
||
MOVE A,STR
|
||
MOVE B,BITS
|
||
IDTIM
|
||
SETO B,
|
||
MOVE A,B
|
||
RETURN
|
||
|
||
CENTRY SYSRTAD,[JFN,PTR,LEN] ; RFTAD
|
||
|
||
MOVE A,JFN
|
||
MOVE B,PTR
|
||
MOVE C,LEN
|
||
RFTAD
|
||
RETURN
|
||
|
||
CENTRY SYSFTAD,[JFN,PTR,LEN] ; SFTAD
|
||
|
||
MOVE A,JFN
|
||
MOVE B,PTR
|
||
MOVE C,LEN
|
||
SFTAD
|
||
RETURN
|
||
|
||
CENTRY SYSGAD ; GTAD
|
||
|
||
GTAD
|
||
RETURN
|
||
|
||
CENTRY JRUNTM,[PRCS,PRT,PCT]
|
||
MOVE A,PRCS
|
||
RUNTM
|
||
MOVEM A,@PRT
|
||
MOVEM C,@PCT
|
||
RETURN
|
||
|
||
CENTRY SYSRCOC,[JFN,PTR] ;RFCOC
|
||
|
||
MOVE A,JFN
|
||
RFCOC
|
||
MOVE A,PTR
|
||
MOVEM B,(A)
|
||
MOVEM C,1(A)
|
||
RETURN
|
||
|
||
CENTRY SYSSCOC,[JFN,PTR] ;SFCOC
|
||
|
||
MOVE A,PTR
|
||
MOVE B,(A)
|
||
MOVE C,1(A)
|
||
MOVE A,JFN
|
||
SFCOC
|
||
RETURN
|
||
|
||
CENTRY SYSDSMS,[MSEC] ;DISMS
|
||
|
||
MOVE A,MSEC
|
||
DISMS
|
||
RETURN
|
||
|
||
CENTRY SYSSMOD,[JFN,MODE] ;SFMOD
|
||
|
||
MOVE A,JFN
|
||
MOVE B,MODE
|
||
SFMOD
|
||
RETURN
|
||
|
||
CENTRY JSFMOD,[JFN,MODE]
|
||
|
||
MOVE A,JFN
|
||
MOVE B,MODE
|
||
SFMOD
|
||
RETURN
|
||
|
||
CENTRY JSTPAR,[JFN,MODE]
|
||
|
||
MOVE A,JFN
|
||
MOVE B,MODE
|
||
STPAR
|
||
RETURN
|
||
|
||
CENTRY SYSRMOD,[JFN] ;RFMOD
|
||
|
||
MOVE A,JFN
|
||
RFMOD
|
||
MOVE A,B
|
||
RETURN
|
||
|
||
CENTRY JRFMOD,[JFN]
|
||
|
||
MOVE A,JFN
|
||
RFMOD
|
||
MOVE A,B
|
||
RETURN
|
||
|
||
CENTRY JRTIW,[FRK,WRD]
|
||
|
||
MOVE A,FRK
|
||
RTIW
|
||
MOVE A,WRD
|
||
MOVEM B,(A)
|
||
MOVE A,C
|
||
RETURN
|
||
|
||
CENTRY JSTIW,[FRK,WRD1,WRD2]
|
||
|
||
MOVE A,FRK
|
||
MOVE B,WRD1
|
||
MOVE C,WRD2
|
||
STIW
|
||
RETURN
|
||
|
||
CENTRY JRPCAP,[FRK,WRD]
|
||
|
||
MOVE A,FRK
|
||
RPCAP
|
||
MOVE A,WRD
|
||
MOVEM C,(A)
|
||
MOVE A,B
|
||
RETURN
|
||
|
||
CENTRY JEPCAP,[FRK,WRD1,WRD2]
|
||
|
||
MOVE A,FRK
|
||
MOVE B,WRD1
|
||
MOVE C,WRD2
|
||
EPCAP
|
||
RETURN
|
||
|
||
CENTRY SYSCFIBF,[JFN]
|
||
|
||
MOVE A,JFN
|
||
CFIBF
|
||
RETURN
|
||
|
||
CENTRY SYGTFDB,[JFN,CPTR,PTR]
|
||
|
||
MOVE A,JFN
|
||
MOVE B,CPTR
|
||
MOVE C,PTR
|
||
GTFDB
|
||
RETURN
|
||
|
||
CENTRY SYSCHFDB,[JFN,MASK,STUFF]
|
||
|
||
MOVE A,JFN
|
||
MOVE B,MASK
|
||
MOVE C,STUFF
|
||
CHFDB
|
||
RETURN
|
||
|
||
CENTRY SYSDELF,[JFN]
|
||
MOVE A,JFN
|
||
DELF
|
||
JFCL
|
||
RETURN
|
||
|
||
CENTRY JDELDF,[BITS,DIRN]
|
||
MOVE A,BITS
|
||
MOVE B,DIRN
|
||
DELDF
|
||
RETURN
|
||
|
||
CENTRY SYSSPJFN,[PH,PIN,POUT]
|
||
MOVE A,PH
|
||
HRL B,PIN
|
||
HRR B,POUT
|
||
SPJFN
|
||
RETURN
|
||
|
||
CENTRY SYSGPJFN,[PH]
|
||
MOVE A,PH
|
||
GPJFN
|
||
MOVE A,B
|
||
RETURN
|
||
|
||
CENTRY JCFORK,[BITS,BLK]
|
||
MOVE A,BITS
|
||
MOVE B,BLK
|
||
CFORK
|
||
JFCL
|
||
RETURN
|
||
|
||
CENTRY JWFORK,[PH]
|
||
MOVE A,PH
|
||
WFORK
|
||
RETURN
|
||
|
||
CENTRY JKFORK,[PH]
|
||
MOVE A,PH
|
||
KFORK
|
||
RETURN
|
||
|
||
CENTRY JSFORK,[PH,SA]
|
||
MOVE A,PH
|
||
MOVE B,SA
|
||
SFORK
|
||
RETURN
|
||
|
||
CENTRY JRFORK,[PH]
|
||
MOVE A,PH
|
||
RFORK
|
||
RETURN
|
||
|
||
CENTRY JSFRKV,[PH,EN]
|
||
MOVE A,PH
|
||
MOVE B,EN
|
||
SFRKV
|
||
RETURN
|
||
|
||
CENTRY JRFSTS,[PH]
|
||
MOVE A,PH
|
||
RFSTS
|
||
RETURN
|
||
|
||
CENTRY JRFPC,[PH]
|
||
MOVE A,PH
|
||
RFSTS
|
||
MOVE A,B
|
||
RETURN
|
||
|
||
CENTRY JGET,[INFO,PNS]
|
||
MOVE A,INFO
|
||
MOVE B,PNS
|
||
GET
|
||
ERJMP GET$1
|
||
TDZA A,A
|
||
GET$1: SETO A,
|
||
RETURN
|
||
|
||
CENTRY JGEVEC,[PH]
|
||
MOVE A,PH
|
||
GEVEC
|
||
MOVE A,B
|
||
RETURN
|
||
|
||
CENTRY JRNAMF,[JFN1,JFN2]
|
||
MOVE A,JFN1
|
||
MOVE B,JFN2
|
||
RNAMF
|
||
CAIA
|
||
MOVEI A,0
|
||
RETURN
|
||
|
||
CENTRY JGTDAL,[DIRN,PNWORK,PNUSED,PNPERM]
|
||
MOVE A,DIRN
|
||
GTDAL
|
||
MOVEM A,@PNWORK
|
||
MOVEM B,@PNUSED
|
||
MOVEM C,@PNPERM
|
||
RETURN
|
||
|
||
CENTRY JGJINF,[PUSER,PDIR,PJOB,PTERM]
|
||
GJINF
|
||
MOVEM A,@PUSER
|
||
MOVEM B,@PDIR
|
||
MOVEM C,@PJOB
|
||
MOVEM D,@PTERM
|
||
RETURN
|
||
|
||
CENTRY JSSAVE,[PJ,TE,FLAGS]
|
||
MOVE A,PJ
|
||
MOVE B,TE
|
||
MOVE C,FLAGS
|
||
SSAVE
|
||
RETURN
|
||
|
||
CENTRY JPMAP,[SOURCE,DEST,BITS]
|
||
MOVE A,SOURCE
|
||
MOVE B,DEST
|
||
MOVE C,BITS
|
||
PMAP
|
||
RETURN
|
||
|
||
CENTRY JSEVEC,[PH,VW]
|
||
MOVE A,PH
|
||
MOVE B,VW
|
||
SEVEC
|
||
JFCL
|
||
RETURN
|
||
|
||
CENTRY JRFACS,[PH,BLK]
|
||
MOVE A,PH
|
||
MOVE B,BLK
|
||
RFACS
|
||
RETURN
|
||
|
||
CENTRY JSFACS,[PH,BLK]
|
||
MOVE A,PH
|
||
MOVE B,BLK
|
||
SFACS
|
||
RETURN
|
||
|
||
CENTRY JHALTF
|
||
HALTF
|
||
RETURN
|
||
|
||
CENTRY JRMAP,[PH,PN,PAC]
|
||
HRLZ A,PH
|
||
HRR A,PN
|
||
RMAP
|
||
MOVEM B,@PAC
|
||
RETURN
|
||
|
||
CENTRY JSPACS,[PH,PN,ACS]
|
||
HRLZ A,PH
|
||
HRR A,PN
|
||
MOVE B,ACS
|
||
SPACS
|
||
RETURN
|
||
|
||
CENTRY JAIC,[FRK,WRD]
|
||
MOVE A,FRK
|
||
MOVE B,WRD
|
||
MOVEI C,0
|
||
AIC
|
||
ERJMP AIC$1
|
||
MOVEI C,1
|
||
AIC$1: MOVEI A,(C)
|
||
RETURN
|
||
|
||
CENTRY JDIC,[FRK,WRD]
|
||
MOVE A,FRK
|
||
MOVE B,WRD
|
||
MOVEI C,0
|
||
DIC
|
||
ERJMP DIC$1
|
||
MOVEI C,1
|
||
DIC$1: MOVEI A,(C)
|
||
RETURN
|
||
|
||
CENTRY JIIC,[FRK,WRD]
|
||
MOVE A,FRK
|
||
MOVE B,WRD
|
||
MOVEI C,0
|
||
IIC
|
||
ERJMP IIC$1
|
||
MOVEI C,1
|
||
IIC$1: MOVEI A,(C)
|
||
RETURN
|
||
|
||
CENTRY JATI,[WRD]
|
||
MOVE A,WRD
|
||
MOVEI C,0
|
||
ATI
|
||
ERJMP ATI$1
|
||
MOVEI C,1
|
||
ATI$1: MOVEI A,(C)
|
||
RETURN
|
||
|
||
CENTRY JDTI,[WRD]
|
||
MOVE A,WRD
|
||
MOVEI C,0
|
||
DTI
|
||
ERJMP DTI$1
|
||
MOVEI C,1
|
||
DTI$1: MOVEI A,(C)
|
||
RETURN
|
||
|
||
CENTRY JEIR,[FRK]
|
||
MOVE A,FRK
|
||
MOVEI C,0
|
||
EIR
|
||
ERJMP EIR$1
|
||
MOVEI C,1
|
||
EIR$1: MOVEI A,(C)
|
||
RETURN
|
||
|
||
CENTRY JDIR,[FRK]
|
||
MOVE A,FRK
|
||
MOVEI C,0
|
||
DIR
|
||
ERJMP DIR$1
|
||
MOVEI C,1
|
||
DIR$1: MOVEI A,(C)
|
||
RETURN
|
||
|
||
CENTRY JSKPIR,[FRK]
|
||
MOVE A,FRK
|
||
SKPIR
|
||
TDZA A,A
|
||
MOVEI A,1
|
||
RETURN
|
||
|
||
CENTRY JRCM,[FRK]
|
||
MOVE A,FRK
|
||
RCM
|
||
RETURN
|
||
|
||
CENTRY JRWM,[FRK,LEVS]
|
||
MOVE A,FRK
|
||
RWM
|
||
MOVEM B,@LEVS
|
||
RETURN
|
||
|
||
CENTRY JWAIT
|
||
WAIT
|
||
RETURN
|
||
|
||
CENTRY JPRARG,[X,Y,Z]
|
||
MOVE A,X
|
||
MOVE B,Y
|
||
MOVE C,Z
|
||
PRARG
|
||
ERJMP PR$ERR
|
||
SKIPA A,C
|
||
PR$ERR: MOVNI A,1
|
||
RETURN
|
||
|
||
END
|
||
|