mirror of
https://github.com/kenrector/sds-kit.git
synced 2026-02-01 14:22:21 +00:00
471 lines
13 KiB
Plaintext
471 lines
13 KiB
Plaintext
* S3
|
|
S9300 EQU 0
|
|
X0 EQU S9300
|
|
X2 EQU 2-S9300
|
|
CAB OPD 010400000
|
|
CBA OPD 016500000
|
|
GAX OPD 016600000
|
|
CXA OPD 016700000
|
|
GBX OPD 017000000
|
|
GNA OPD 017100000
|
|
SKE OPD 017200000
|
|
SKR OPD 017000000
|
|
MUL OPD 017400000
|
|
DIV OPD 017500000
|
|
ADM OPD 017600000
|
|
XMA OPD 017700000
|
|
AORG 2
|
|
$CW RES 1
|
|
DW1 RES 31
|
|
ORG 0
|
|
$CHR RES 1
|
|
$EDCT RES 1
|
|
$ALN RES 1
|
|
$DWC RES 1
|
|
CHAR RES 1
|
|
IFRM FORM 3,6,1,14
|
|
EDWE HLT LBUF
|
|
EDWL BRU LBUF+1
|
|
EDWV HLT LBUF+3
|
|
$EDW RES 1
|
|
TEMP RES 1
|
|
PTYP RES 1
|
|
PLOC RES 1
|
|
QLOC RES 1
|
|
$ICW RES 1
|
|
CHKS RES 1
|
|
REL RES 1
|
|
SREL RES 1
|
|
PREL RES 1
|
|
$LBUF RES 0
|
|
RES 3
|
|
$EREF1 RES 0
|
|
RES 1
|
|
$EREF2 RES 0
|
|
RES 4
|
|
$CBUF RES 0
|
|
RES 12
|
|
$TBFE RES 0
|
|
RES 8
|
|
$CBFE RES 0
|
|
$DLY1 DATA 060606060
|
|
ERRA DATA 054
|
|
DATA 'O'
|
|
DATA 024
|
|
DATA 025
|
|
DATA 031
|
|
DATA 043
|
|
DATA 047
|
|
DATA 051
|
|
DATA 063
|
|
DATA 064
|
|
$ERRC DATA ERRA-ERRC+0200000
|
|
DATA 060000000
|
|
DATA 0600000
|
|
DATA 06000
|
|
DATA 017000000
|
|
DATA 0170000
|
|
DATA 01700
|
|
ETBL RES 0
|
|
$EDC HLT 0
|
|
SUB =060
|
|
LDB Z
|
|
EDC1 EXU EDCS EXECLUTE SHIFT
|
|
MIN EDC1 STEP SHIFT
|
|
ADM *EDW ADD CHARACTER TO MEMORY
|
|
BRR EDC EXIT
|
|
EDCS LSH 18 1ST CHAR
|
|
LSH 12 2ND CHAR
|
|
LSH 6 3RD CHAR
|
|
BRU EDC2 LAST CHAR IN WORD
|
|
EDC2 LDB EDCX RESET EXC
|
|
STB EDC1
|
|
ADM *EDW STORE LAST CHAR
|
|
MIN EDW STEP WORD
|
|
BRR EDC EAT
|
|
EDCX EXU EDCS
|
|
$EDS HLT 0
|
|
STA EDW WORD POSITION
|
|
RSH 15
|
|
ADD EDCX
|
|
STA EDC1 CHAR POSITION
|
|
BRR EDS EXIT
|
|
ELN HLT 0
|
|
LDA ALN ALPNABETIC LINE NO.
|
|
ADD =0666667
|
|
STA ALN
|
|
ETR DLY1
|
|
RSH 3
|
|
CNA
|
|
ADD ALN SUBTRACT ZONE FROM NON-ZONEBITS
|
|
ETR =017171717
|
|
STA ALN SAVE ALPHANUMERIC LINE NUMBER
|
|
LDX =00200000-3,X0
|
|
ELN1 SKA ETBL,X2 TEST FOR 0
|
|
BRU ELN2
|
|
MRG ETBL-3,X2 REPLACE0WITHBLANK
|
|
BRX ELN1,X0
|
|
ELN2 LDB DLY1
|
|
RCY 12
|
|
STA CBUF-2
|
|
STB CBUF-1
|
|
BRR ELN EXIT
|
|
* RELOCATABLE B1NARY OUTPUT
|
|
*
|
|
$OUTP HLT 0
|
|
LDX CTYP,X0
|
|
LDA DWC
|
|
ETR =077777
|
|
SKG Z
|
|
BRU OUTP2 (DWC) = 0, RESET ONLY
|
|
CXA
|
|
SKE PTYP
|
|
BRU OUTP1 TYPE CHANGE, FLUSH AND RESET
|
|
LDA =24
|
|
SKG DWC
|
|
BRU OUTP1 (DWC) = 24, FLUSH AND RESET
|
|
LDA PTYP
|
|
SKE Z
|
|
BRU *TYP,X2 (PTYP) + 0
|
|
LDA PLOC (PIYP) = 0
|
|
ADD =1
|
|
SKE LOC
|
|
BRU OUTP1 (PLOC)+1NOT = (LOC), FLUSH AA
|
|
BRU *TYP,X2 (PLOC)+1= (LOC)
|
|
OUTP1 BRM FLUSH
|
|
OUTP2 BRM RESET
|
|
BRU *TYP,X2
|
|
ENDM LDA WORD
|
|
ETR =077777
|
|
MRG LBRU
|
|
STA WORD (WORD):= BRU0,0++(WORD)
|
|
LDA MLOC
|
|
STA QLOC (QLOC) := (MLOC)
|
|
*
|
|
DATA LDX DWC,X0
|
|
LDA LOC
|
|
STA PLOC (PLOC) := (LOC)
|
|
LDA WORD
|
|
STA DW1+1,X2 (DW1(DWC+1)) := (WORD)
|
|
LDA WMOD
|
|
ETR =2
|
|
LDB Z
|
|
RSH 2,X2 B22(WMOD)*2**(22-(DWC))
|
|
CBA
|
|
MRG REL
|
|
STA REL (KEL) :=IREL)++(A)
|
|
SKN STYP SKIP IF SPECIAL IY WORD
|
|
BRU $+5
|
|
LDB =1
|
|
LDA Z
|
|
RCY 0,X2
|
|
ADM SREL (SKEL) := I**(24-DWC)++(SREL)
|
|
CLR
|
|
SKE PMOD
|
|
LDB =1
|
|
RCY 1,X2
|
|
ADM PREL
|
|
MIN DWC (DWC):=(DWC)+1
|
|
BRR OUTP EXI1
|
|
*
|
|
FLUSH HLT ENTRY
|
|
LDA PTYP RECORD TYPE OF RECORD BEING FLUSHED
|
|
SKG Z
|
|
BRU $+3 (PTYP) =0
|
|
SKE =3
|
|
BRU FLUSH1 (PTYP) = 1 OR 2
|
|
MIN DWC INCLUDE LOAD-ADDRESS WORD IN COUNT
|
|
LDA QLOC
|
|
STA DW1 STORE LOAD ADDRESS
|
|
LDX DWC,X0
|
|
LDA REL
|
|
SKE Z
|
|
BRU $+2
|
|
BRU FLSH2
|
|
STA DW1,X2 STORE RELOCATION INDICATOR WRD
|
|
EAX 1,X2
|
|
MIN DWC INCLUDE LOAD-RELOCAT1ON WORD IN COUNT
|
|
LDA =02000000
|
|
ADM DW1 (M) := 1, (RELOCATION WORD PRESENT)
|
|
FLSH2 LDA SREL
|
|
SKE Z
|
|
BRU $+2
|
|
BRU FLSH3
|
|
STA DW1,X2
|
|
EAX 1,X2
|
|
MIN DWC INCLLUDE SPECIAL RELOC W0R0 IN COUNT
|
|
LDA =020000000
|
|
ADM DW1 (M) := 8+ (M)
|
|
FLSH3 LDA PREL
|
|
SKE Z
|
|
BRU $+2
|
|
BRU FLUSH1
|
|
STA DW1,X2
|
|
EAX 1,X2
|
|
MIN DWC
|
|
LDA =010000000
|
|
ADM DW1
|
|
* FORM RECORD CONTROL WDRD
|
|
FLUSH1 LDA PTYP RECORD TYPE
|
|
LDB Z
|
|
LSH 6
|
|
ADD =1 INDLUDE CONTROL WORD IN COUNT
|
|
ADD DWC NR OF WORDS IN RECORD
|
|
LSH 15
|
|
MRG =050000 RECORD MODE (BINARY)
|
|
STA CW
|
|
* COMPUTE CHECKSUM AND WR1TE RECORD
|
|
BRM CHKSUM CDMPUTE FOLDED CHECKSUM
|
|
MRG CW INSERT CHECKSUM IN CONTROL WORD
|
|
STA CW STORE COMPLETED RECORD CONTROL WORD
|
|
BRM WRITR WRITE ONE RECORD
|
|
LDA Z
|
|
STA DWC (DWC) :=0
|
|
BRR FLUSH EXIT
|
|
*
|
|
* SUBROUTINE TO COMPUTE FOLDED CHECKSUM
|
|
CHKSUM HLT ENYRY
|
|
LDA CW
|
|
RSH 15
|
|
ETR =077 (A) = NR WORDS IN RECORD
|
|
SUB =2
|
|
STA ICN
|
|
LDA =DW1 ADDRESS OF 2D WORD
|
|
STA ICW
|
|
LDA CW
|
|
ETR =077770000 EXTRACT CHECKSUM
|
|
EOR =077770000 ODD PARITY CHECKSUM
|
|
EOR *ICW
|
|
MIN ICW INCREMENT ADDRESS
|
|
SKR ICN
|
|
BRU $-3
|
|
LDB Z (A) = 24-BIT CHECKSUM OF WORDS 1 THRU
|
|
LCY 12
|
|
STB CHKS
|
|
LDB Z
|
|
RCY 12
|
|
EOR CHKS (A) = COMPLETED 12-BIT CHECKSUM
|
|
BRR CHKSUM EXIT
|
|
ICN DATA 0
|
|
*
|
|
*
|
|
*
|
|
RESET HLT ENTRY
|
|
LDA LOC
|
|
STA QLOC (QLOC):=(LOC)
|
|
LDA Z
|
|
STA REL (KEL) :=0
|
|
STA SREL (SREL) T=0
|
|
STA PREL
|
|
LDX CTYP,X0
|
|
STX PTYP,X0
|
|
BRR RESET EXIT
|
|
*
|
|
ENDN LDA Z
|
|
LDB CW
|
|
LSH 3
|
|
SKE =3
|
|
BRU $+2
|
|
BRR OUTP
|
|
LDA =3
|
|
STA PTYP
|
|
LDA MLOC
|
|
STA QLOC
|
|
BRM FLUSH
|
|
BRR OUTP
|
|
*
|
|
* INSERT 3 WORD REF OR DEF ITEM IN CURRENT OUTPUT RECORD
|
|
DEF LDX DWC,X0 ENTRY
|
|
LDA *WORD
|
|
STA DW1,X2 STORE 1ST 4 CHARS OF LABEL
|
|
MIN WORD
|
|
LDA *WORD
|
|
ETR =077770000
|
|
MRG =06060
|
|
STA DW1+1,X2 STORE LAST .2 CHARS OF LABEL
|
|
LDB Z
|
|
LDA STYP
|
|
LSH 22
|
|
STA ICN
|
|
LDA *WORD
|
|
ETR =2
|
|
XAB
|
|
MIN WORD
|
|
LDA *WORD
|
|
ETR =077777
|
|
BRM SKB
|
|
HLT =2
|
|
MRG =0100000 SET ADDRESS RELOCATION FLAG
|
|
MRG ICN SET SUB-TYPE
|
|
DEF1 STA DW1+2,X2
|
|
LDA =3
|
|
ADM DWC (DWC) := (DWC)+3
|
|
BRR OUTP EXIT
|
|
*
|
|
REF EQU DEF
|
|
* CURRENT RECORD IMAGE
|
|
TYP HLT DATA
|
|
HLT DEF EXTERNAL REF OR DEF
|
|
HLT POP
|
|
HLT ENDM
|
|
HLT ENDN
|
|
LBRU BRU 0
|
|
POP LDX DWC,X0
|
|
LDA CNTR
|
|
STA WORD
|
|
LDA *WORD
|
|
STA DW1,X2
|
|
MIN WORD
|
|
LDA *WORD
|
|
* blank card in tech manual
|
|
ETR =077770000
|
|
MRG =' '
|
|
STA DW1+1,X2
|
|
MIN WORD
|
|
LDA *WORD
|
|
BRU DEF1
|
|
$READ HLT 0
|
|
BRM INPUT
|
|
LDA =CBUF
|
|
STA CHAR SETBEGINNINGOFLIPE
|
|
LDA GETX
|
|
STA GETS SET BEGINNINGOF WORD
|
|
BRM ELN
|
|
BRM GET GET 1STCHARACTEROFLINE
|
|
BRR READ EXIT
|
|
$FLD HLT 0
|
|
LDA =7
|
|
STA TEMP
|
|
FLD1 BRM GET
|
|
SKE =' '
|
|
BRR FLD
|
|
SKR TEMP
|
|
BRU FLD1
|
|
BRR FLD EXIT
|
|
$GET HLT 0
|
|
LDA *CHAR LOAD CHARACTER
|
|
GETS EXU GETT EXECUTE SHIFT
|
|
MIN GETS
|
|
GET1 ETR =077
|
|
STA CHR
|
|
CAX
|
|
BRR GET
|
|
GETT RSH 18 1ST CMAR
|
|
RSH 12 2ND CHAR
|
|
RSH 6 3RD CHAR
|
|
BRU GET2 END WORD
|
|
$GET2 LDB GETX
|
|
STB GETS RESET EXU
|
|
MIN CHAR STEP WORD
|
|
BRU GET1
|
|
GETX EXU GETT
|
|
$TCHR HLT 0
|
|
STB TEMP
|
|
BRM GET GET CHAR
|
|
LDB TEMP
|
|
BRM SKB
|
|
HLT CTT,X2 TEST FOR MATCM
|
|
MIN TCHR CHARACTER IS O.K.
|
|
BRR TCHR EXIT
|
|
$EDIT HLT 0
|
|
BRM EDE EDIT ERRORS
|
|
BRM EDL EDIT LOCATION
|
|
LDA EDWV
|
|
BRM EDS
|
|
LDA WORD
|
|
STA WRD1 DATA WORD
|
|
BRM EDR EDIT BY FORM
|
|
BRM PRNT PRINT LINE
|
|
BRM OUTP OUTPUT WORD
|
|
BRR EDIT EXIT
|
|
$EDTV HLT 0
|
|
BRM EDE EDIT ERRORS
|
|
LDA EDWV VALUE WORD POSITON
|
|
BRM EDS
|
|
LDA =7
|
|
STA CNTR 7 CHARACTERS LEFT IN B
|
|
LDA WORD DATA
|
|
RSH 21 LEAVE 1ST CHAR IN A
|
|
ETR =7
|
|
BRM EDF EDIT FIELD
|
|
BRM PRNT PR1NT LINE
|
|
BRR EDTV EXIT
|
|
$EDTL HLT 0
|
|
BRM EDE ED1T ERRORS
|
|
BRM EDL EDIT LOCATION
|
|
BRM PRNT PRINT LINE
|
|
BRR EDTL EXIT
|
|
$EDE HLT 0
|
|
LDA EDWE ERRORWORD POSITION
|
|
BRM EDS
|
|
LDA Z
|
|
XMA VERR RESET V ERRORFLAG
|
|
ADM UERR U SET IF V SET
|
|
LDX ERRC,X0 ERROR COUNT
|
|
EDE1 LDA ERRC,X2 ERROR LISTING CHAR
|
|
LDB VERR,X2
|
|
BRM SKB
|
|
HLT M1
|
|
BRM EDC INSERT ERRORCODE
|
|
LDB Z
|
|
STB VERR,X2 RESET FLAG
|
|
BRX EDE1,X0 TEST NEXTFLAG
|
|
BRR EDE EXIT
|
|
EDL HLT 0
|
|
LDA EDWL LOC WORD POS1TION
|
|
BRM EDS
|
|
LDA =4
|
|
STA CNTR MORE CHARACTERS INB
|
|
LDA LOC
|
|
ETR ADDR
|
|
RSH 12
|
|
BRM EDF EDIT LOC
|
|
BRR EDL EXIT
|
|
EDR HLT 0
|
|
LDB =040000000
|
|
EDR3 BRM FLDC CDUNT BITS FIELD
|
|
BRU EDR1 NO MORE FIELDS
|
|
RSH 23
|
|
DIV =3
|
|
BRM SKB
|
|
HLT =3
|
|
BRU EDR2
|
|
SUB =1
|
|
LDB =3
|
|
EDR2 STA CNTR OCTAL CHARACTERS IN FIELD
|
|
CBX BITS IN 1ST CHAR
|
|
LDA Z
|
|
LDB WRD1 DATA WORD
|
|
LSH 0,X2 1ST CHAR IN A
|
|
BRM EDF EDIT FIELD
|
|
LDA =060
|
|
BRM EDC INSERT TRAILING BLANK
|
|
LDB Z
|
|
BRU EDR3 D0 NEXT FIELD
|
|
EDR1 BRR EDR EXIT
|
|
EDF HLT 0
|
|
BRU EDF1
|
|
EDF2 LDA Z
|
|
LSH 3 NEW OCTAL CHAR
|
|
EDF1 STB WRD1
|
|
BRM EDC INSERT CHAR INIMAGE
|
|
LDB WRD1
|
|
SKR CNTR TLST FOREND FIELD
|
|
BRU EDF2
|
|
BRR EDF EXIT
|
|
$FLDC HLT 0
|
|
LDA WRD2 FORM WORD
|
|
EOR =040000000
|
|
LDX =22,X0
|
|
NOD 24 CDUNT BITS IN FIELD
|
|
LSH 1
|
|
STA WRD2 NEW FORM WORD
|
|
STX CNTR,X0
|
|
LDA =23
|
|
SUB CNTR
|
|
ETR =077777
|
|
SKG =24
|
|
MIN FLDC
|
|
FLC1 BRR FLDC EXIT
|
|
END
|