mirror of
https://github.com/PDP-10/its.git
synced 2026-01-13 07:19:57 +00:00
Assembler for TT2500.
The assembler is written in Maclisp. The main entry point is ZAP which expects a symbol with a value cell pointing to the source code.
This commit is contained in:
parent
47fb5ba074
commit
4af63f786b
2
Makefile
2
Makefile
@ -29,7 +29,7 @@ SRC = syseng sysen1 sysen2 sysen3 sysnet kshack dragon channa \
|
||||
moon teach ken lmio1 llogo a2deh chsgtv clib sys3 lmio turnip \
|
||||
mits_s rab stan_k bs cstacy kp dcp2 -pics- victor imlac rjl mb bh \
|
||||
lars drnil radia gjd maint bolio cent shrdlu vis cbf digest prs jsf \
|
||||
decus bsg muds54 hello rrs
|
||||
decus bsg muds54 hello rrs 2500
|
||||
DOC = info _info_ sysdoc sysnet syshst kshack _teco_ emacs emacs1 c kcc \
|
||||
chprog sail draw wl pc tj6 share _glpr_ _xgpr_ inquir mudman system \
|
||||
xfont maxout ucode moon acount alan channa fonts games graphs humor \
|
||||
|
||||
@ -837,6 +837,15 @@ respond "?" "1700\r"
|
||||
expect ":KILL"
|
||||
respond "*" ":link sys1; ts llogo, llogo; ts llogo\r"
|
||||
|
||||
# 2500 assembler
|
||||
respond "*" ":complr\r"
|
||||
respond "_" "\007"
|
||||
respond "*" "(load 'ioc)"
|
||||
respond_load "(maklap)"
|
||||
respond "_" "2500;zap\r"
|
||||
respond "_" "\032"
|
||||
type ":kill\r"
|
||||
|
||||
# TEACH;TS XLISP
|
||||
|
||||
respond "*" ":complr\r"
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
11logo/system.327 197204202249.37
|
||||
11logo/tyi.152 197204202303.30
|
||||
11logo/zend.67 197204182114.19
|
||||
2500/zap.1 197702191722.49
|
||||
acount/-read-.-this- 197803240506.02
|
||||
acount/turist.policy 198710200503.52
|
||||
agb/c.dis 197606210311.16
|
||||
|
||||
450
src/2500/zap.1
Normal file
450
src/2500/zap.1
Normal file
@ -0,0 +1,450 @@
|
||||
;ZAP
|
||||
;SYMBOLS IN ZAP:
|
||||
; A SYMBOL IN ZAP HAS AS ITS VALUE A PROGRAM&
|
||||
; THE PROGRAM IS EVALUATED BY RECURSIVE CALLS TO ZAP-EVAL.
|
||||
; IF THE ARGUMENT TO ZAP-EVAL IS NUMERIC, IT IS RETURNED AS THE VALUE.
|
||||
; IF NIL, THIS SPECIFIES THE NULL VALUE.
|
||||
; IF A SYMBOL, ITS VALUE IS RUN AS A PROGRAM AND RETURNED.
|
||||
; IF A LIST, CAR OF THE LISP IS THE FUNCTION AND THE REST OF THE LIST
|
||||
; ARGUMENTS, LISP STYLE. UNLESS OTHERWISE NOTED BELOW, ALL FUNCTIONS
|
||||
; EVALUATE THEIR ARGS (LISP STYLE) AND ACTUALLY DO SOMETHING ONLY
|
||||
; AFTER THE EVALUATION OF THEIR ARGUMENTS HAS FINISHED.
|
||||
; IF THE PROGRAM IS STORED AS THE ZAP-MACRO PROPERTY OF THE SYMBOL, IT IS EXPECTED
|
||||
; TO RETURN A LIST A VALUES TO BE STORED IN SUCCESSIVE MEMORY LOCATIONS.
|
||||
|
||||
(SETQ FILE-LIST-FLAG T) ;CREATE A FILE OF EACH LISTING
|
||||
|
||||
(SETQ SIM-FLAG T) ;FOR USE WITH SIMULATOR
|
||||
|
||||
(SETQ FREQ-FLAG NIL) ;FREQUENCY OF EACH INSRTUCTION PRINTED
|
||||
|
||||
(SETQ ZAP-FLAG NIL) ;FOR ROM LOADER
|
||||
|
||||
(SETQ ERCHECK-FLAG T) ;ENABLE WARNINGS OF SYMBOL OVERLAPS
|
||||
|
||||
(SETQ PO-FLAG T) ;ENABLE LISTING ON PASS 2
|
||||
|
||||
(DECLARE (EXPR-HASH T))
|
||||
|
||||
(SSTATUS TERPRI T)
|
||||
|
||||
;(VALRET '/:TCTYP/ WIDTH/ 500000/./ PADCR/=0/
|
||||
;:VP/
|
||||
;)
|
||||
|
||||
;(SETQ LINEL 1176) ;LISAP DOES LIKE ANY MORE
|
||||
|
||||
|
||||
|
||||
(SETQ DEFUN T)
|
||||
|
||||
(DEFUN LOGAND (X Y) (BOOLE 1 X Y))
|
||||
|
||||
|
||||
|
||||
(DECLARE (SPECIAL ZAP-SYMTAB I-MEM-LOC PO-FLAG ERCHECK-FLAG
|
||||
TEML TEMLR READER PASS1 SYM-LIST
|
||||
FILE-LIST-FLAG ZAP-FLAG I-MEM-NAME LAST-SYM LOADER-L CLIST SIM-FLAG FREQ-FLAG
|
||||
WD CURRENT-WORD )
|
||||
(*FEXPR ZAP LC LR)
|
||||
(MAPEX T)
|
||||
(FIXSW T))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
(DEFUN ZAP FEXPR (NAME)
|
||||
(PROG (I-MEM-LOC I-MEM-NAME START-ADR
|
||||
LAST-SYM T-ZAP-1 U-PROG )
|
||||
(COND (FILE-LIST-FLAG (UWRITE)(IOC R)))
|
||||
(SETQ I-MEM-NAME (CAR NAME))
|
||||
(SETQ U-PROG (EVAL I-MEM-NAME))
|
||||
(SETQ START-ADR (COND ((CADR NAME))(0)))
|
||||
(SETQ I-MEM-LOC START-ADR)
|
||||
(SETQ ZAP-SYMTAB NIL)
|
||||
(SETQ T-ZAP-1 U-PROG)
|
||||
L1 (COND ((NULL T-ZAP-1) (GO L2)))
|
||||
(ZAP-PASS1 (CAR T-ZAP-1))
|
||||
(SETQ T-ZAP-1 (CDR T-ZAP-1))
|
||||
(GO L1)
|
||||
L2 (SETQ I-MEM-LOC START-ADR)
|
||||
(SET I-MEM-NAME NIL)
|
||||
(SETQ T-ZAP-1 U-PROG)
|
||||
L3 (COND ((NULL T-ZAP-1) (GO L4)))
|
||||
(ZAP-PASS2 (CAR T-ZAP-1))
|
||||
(SETQ T-ZAP-1 (CDR T-ZAP-1))
|
||||
(GO L3)
|
||||
L4 (COND (FILE-LIST-FLAG (APPLY 'UFILE (LIST I-MEM-NAME 'LIST))(IOC T)))
|
||||
(COND (ZAP-FLAG (ZAPPER START-ADR (EVAL I-MEM-NAME))))
|
||||
(COND (SIM-FLAG (FILLARRAY 'IM (EVAL I-MEM-NAME))))
|
||||
(COND (FREQ-FLAG (FREQS)))
|
||||
(PRINT '(ALL DID))
|
||||
(BREAK 'FINISH 'T)
|
||||
(RETURN T)))
|
||||
|
||||
|
||||
|
||||
|
||||
(DEFUN ZAP-PASS1 (WD)
|
||||
(PROG (CURRENT-WORD)
|
||||
(SETQ PASS1 T)
|
||||
(SETQ CURRENT-WORD WD) ;FOR DEBUGGING
|
||||
(COND ((ATOM WD)
|
||||
(SETQ LAST-SYM WD)
|
||||
(SETQ ZAP-SYMTAB
|
||||
(CONS (CONS WD I-MEM-LOC)
|
||||
ZAP-SYMTAB)))
|
||||
((GET (CAR WD) 'ZAP-MACRO) ;CHECK FOR ZAP-MACRO PROP
|
||||
(SETQ I-MEM-LOC
|
||||
(+ (LENGTH (EVAL (GET (CAR WD) 'ZAP-MACRO))) I-MEM-LOC)))
|
||||
((EQ (CAR WD) 'START )(OR SIM-FLAG (SETQ I-MEM-LOC (CADR WD))))
|
||||
((EQ (CAR WD) '&) NIL )
|
||||
((EQ (CAR WD) 'ZAP-MACRO )
|
||||
(PUTPROP (CADR WD) (CADDR WD) 'ZAP-MACRO) )
|
||||
((EQ (CAR WD) 'CALL)
|
||||
(ZAP-DEFSYM (CADR WD)
|
||||
(CADDR WD)))
|
||||
(T (GO W1)) )
|
||||
X (RETURN NIL)
|
||||
W1 (SETQ I-MEM-LOC (1+ I-MEM-LOC))
|
||||
(RETURN NIL)))
|
||||
|
||||
|
||||
(DEFUN ZAP-DEFSYM (VAL SYM)
|
||||
(PROG (TM)
|
||||
(COND ((SETQ TM (SYM-EVAL SYM))
|
||||
(COND ((NOT (EQUAL VAL TM))
|
||||
(PRINT (LIST SYM TM 'MULT-DEFINED-SYM ))
|
||||
(BREAK 'LOOSE 'T))))
|
||||
(T (SETQ ZAP-SYMTAB
|
||||
(CONS (CONS SYM VAL)
|
||||
ZAP-SYMTAB))) )
|
||||
(RETURN NIL)))
|
||||
|
||||
(DEFUN SYM-EVAL (SYM)
|
||||
(PROG (TM)
|
||||
(COND ((SETQ TM (GET SYM 'ZAP-SYM))
|
||||
(COND ((NULL (GET SYM 'USE))(PUTPROP SYM 1 'USE))
|
||||
(T (PUTPROP SYM (1+ (GET SYM 'USE) ) 'USE)))
|
||||
(RETURN TM)))
|
||||
(SETQ TM ZAP-SYMTAB)
|
||||
L (COND ((NULL TM) (RETURN NIL))
|
||||
((EQ (CAAR TM) SYM)
|
||||
(RETURN (CDAR TM))))
|
||||
(SETQ TM (CDR TM))
|
||||
(GO L)))
|
||||
|
||||
|
||||
;##
|
||||
(DEFUN ZAP-PASS2 (WD)
|
||||
(PROG NIL
|
||||
(SETQ PASS1 NIL)
|
||||
(COND ((ATOM WD)
|
||||
(SETQ LAST-SYM WD)
|
||||
(COND ((NOT (EQUAL
|
||||
(SYM-EVAL WD)
|
||||
I-MEM-LOC))
|
||||
(PRINT '(MY SYMBOLS ARE DIFFERENT FROM PASS1))(BREAK 'LOOSE2 'T))))
|
||||
((EQ (CAR WD) 'ZAP-MACRO ))
|
||||
((EQ (CAR WD) 'CALL )(TYO 11)(PRINT WD))
|
||||
((EQ (CAR WD) 'START )(OR SIM-FLAG (SETQ I-MEM-LOC (CADR WD))))
|
||||
((EQ (CAR WD) '&)(TYO 11)(PRINT WD))
|
||||
((GET (CAR WD) 'ZAP-MACRO)
|
||||
(LOAD-ZAP-MACRO (EVAL (GET (CAR WD) 'ZAP-MACRO ))))
|
||||
(T (LOAD-MEM-WITH WD)))
|
||||
X (RETURN NIL)))
|
||||
|
||||
(DEFUN LOAD-ZAP-MACRO (LL)
|
||||
(COND ((NULL LL) NIL)
|
||||
(T (LOAD-MEM-WITH (CAR LL))(LOAD-ZAP-MACRO (CDR LL)) ) ))
|
||||
|
||||
(DEFUN LOAD-MEM-WITH (WD)
|
||||
(PROG (V)
|
||||
(SETQ V (WORD-EVAL WD))
|
||||
(COND ((< V -177776)(PRINT '(THIS LOOKS TOO SMALL)))
|
||||
((> V 177777)(PRINT '(THIS LOOKS TOO BIG)))
|
||||
((> V 777777)(PRINT '(THIS REALLY LOOKS TOO BIG)))
|
||||
((> V 7777777) (PRINT '(THIS HAS GOTTA BE TOO BIG)))
|
||||
((< 0 V)(SETQ V (LOGAND V 177777))))
|
||||
(COND (PO-FLAG
|
||||
(TYO 15)
|
||||
(TYO 11)
|
||||
(COND ((= I-MEM-LOC (SYM-EVAL LAST-SYM))
|
||||
(PRINC LAST-SYM)
|
||||
(COND ((< (LENGTH (EXPLODE LAST-SYM)) 8)(TYO 11))))
|
||||
((TYO 11)))
|
||||
(TYO 11)
|
||||
(PRINC I-MEM-LOC)
|
||||
(TYO 11)
|
||||
(PRINC V)
|
||||
(TYO 11)
|
||||
(PRINC WD)
|
||||
))
|
||||
(SET I-MEM-NAME (APPEND (EVAL I-MEM-NAME) (LIST V)))
|
||||
(SETQ I-MEM-LOC (1+ I-MEM-LOC))
|
||||
(RETURN NIL)))
|
||||
|
||||
|
||||
(DEFUN WORD-EVAL (WD)
|
||||
(PROG (COMBINED-VALUE FIELD-VALUE CURRENT-WORD ERCHECK-VALUE)
|
||||
(SETQ COMBINED-VALUE 0) ;CAUTION& COMBINED-VALUE CAN BE A BIGNUM
|
||||
(SETQ ERCHECK-VALUE 0) ;IF NO FIELD OVERLAP THIS SHOULD BE SAME
|
||||
(SETQ CURRENT-WORD WD) ;SO CAN SEE IT WHEN STUFF COMPILED
|
||||
L (COND ((AND ERCHECK-FLAG
|
||||
(NULL WD)
|
||||
(NOT (EQUAL COMBINED-VALUE ERCHECK-VALUE)))
|
||||
(PRINT (LIST '(BYTE OVERLAP WARNING ONLY) CURRENT-WORD ))
|
||||
(RETURN COMBINED-VALUE))
|
||||
((OR (EQ (CAR WD) '&) (NULL WD)) (RETURN COMBINED-VALUE))
|
||||
((NUMBERP (CAR WD))
|
||||
(SETQ FIELD-VALUE (CAR WD)))
|
||||
((ATOM (CAR WD))
|
||||
(SETQ FIELD-VALUE (ZAP-SYM-RUN (CAR WD)))) )
|
||||
(SETQ COMBINED-VALUE (PLUS COMBINED-VALUE FIELD-VALUE))
|
||||
(SETQ ERCHECK-VALUE (BOOLE 7 ERCHECK-VALUE FIELD-VALUE))
|
||||
(SETQ WD (CDR WD))
|
||||
(GO L)
|
||||
))
|
||||
|
||||
|
||||
(DEFUN ZAP-SYM-RUN (SYM)
|
||||
(PROG (TEM)
|
||||
(COND ( PASS1 (RETURN 0))
|
||||
((NULL (SETQ TEM (SYM-EVAL SYM)))
|
||||
(PRINT (APPEND '(I AM SORRY BUT I CAN NOT FIND ) (LIST SYM )))
|
||||
(RETURN 0))
|
||||
(T (RETURN (ZAP-EVAL TEM))))))
|
||||
|
||||
(DEFUN ZAP-EVAL (EXP) ;EXP A SYMBOL "PROGRAM".RETURNS A NUMBERIC VALUE OR NIL
|
||||
(COND ((NULL EXP) 0)
|
||||
((NUMBERP EXP) EXP)
|
||||
((ATOM EXP) (ZAP-SYM-RUN EXP))
|
||||
(T (EVAL EXP))) )
|
||||
|
||||
; FUNCTIONS TO LOAD 2500 MEMORY
|
||||
|
||||
|
||||
|
||||
(DEFUN JMP (N)(PROG (CLIST)
|
||||
(ZOUT 320116)
|
||||
(ZOUT 0)
|
||||
(ZOUT (+ N 50000))
|
||||
(ZOUT (- (+ N 320116)))
|
||||
(SETQ CLIST (REVERSE CLIST))
|
||||
PLOOP (COND ((NULL CLIST)(RETURN 'FINI)))
|
||||
(COND ((= (CAR CLIST) 177) (TYO 77))
|
||||
((TYO (CAR CLIST))))
|
||||
(SETQ CLIST (CDR CLIST))
|
||||
(GO PLOOP)))
|
||||
|
||||
|
||||
(DEFUN LOAD (TYP ADR L)
|
||||
(PROG (CLIST CHECK-SUM CNT FONT)
|
||||
BLOCK (TERPRI)
|
||||
(SETQ CNT (LENGTH L))
|
||||
(SETQ FONT (> ADR 167777))
|
||||
(COND ((< CNT 1)(RETURN 'FINI))
|
||||
((> CNT 100)(SETQ CNT 100)))
|
||||
(COND (FONT (SETQ CNT (* 2 CNT))))
|
||||
(ZOUT 320116) ; FLAG
|
||||
(ZOUT TYP)
|
||||
(ZOUT ADR)
|
||||
(ZOUT CNT)
|
||||
(SETQ CHECK-SUM (+ TYP ADR CNT))
|
||||
LOOP (ZOUT (CAR L))
|
||||
(SETQ CHECK-SUM (+ CHECK-SUM (CAR L)))
|
||||
(SETQ L (CDR L))
|
||||
(SETQ CNT (1- CNT))
|
||||
(COND (FONT (SETQ CNT (1- CNT))))
|
||||
(COND ((> CNT 0)(GO LOOP)))
|
||||
(SETQ ADR (+ ADR 100))
|
||||
(COND (FONT (SETQ ADR (+ ADR 100))))
|
||||
(ZOUT (- CHECK-SUM))
|
||||
(SETQ CLIST (REVERSE CLIST))
|
||||
PLOOP (COND ((NULL CLIST)(GO BLOCK)))
|
||||
(COND ((= (CAR CLIST) 177) (TYO 77))
|
||||
((TYO (CAR CLIST))))
|
||||
(SETQ CLIST (CDR CLIST))
|
||||
(GO PLOOP)))
|
||||
|
||||
(DEFUN ZOUT (NUM)
|
||||
(PROG NIL
|
||||
(SETQ NUM (LOGAND 777777 NUM))
|
||||
(SETQ CLIST (CONS (+ 100 (LOGAND 77 (LSH NUM -14))) CLIST ))
|
||||
(SETQ CLIST (CONS (+ 100 (LOGAND 77 (LSH NUM -6))) CLIST ))
|
||||
(SETQ CLIST (CONS (+ 100 (LOGAND 77 NUM)) CLIST ))
|
||||
(RETURN T)))
|
||||
|
||||
(DEFUN ZAPPER (START L)
|
||||
(PROG (CTR CLIST FOO)
|
||||
(SETQ FOO (SETQ CTR (LENGTH L)))
|
||||
LOOP (COND ((NULL L) (GO DONE)))
|
||||
(RAM-OUT (CAR L)) ;DATA
|
||||
(SETQ L (CDR L))
|
||||
(GO LOOP)
|
||||
DONE (RAM-OUT CTR) ;BLOCK LENGTH
|
||||
(RAM-OUT (PLUS START CTR)) ;START ADR
|
||||
(RAM-OUT 147577) ;START WORD
|
||||
(SET I-MEM-NAME ( IMPLODE CLIST))))
|
||||
|
||||
|
||||
|
||||
(DEFUN RAM-OUT (NUM)
|
||||
(PROG NIL
|
||||
(SETQ NUM (LOGAND 177777 NUM))
|
||||
(SETQ CLIST (CONS (ASCII (+ 100 (LOGAND 17 NUM))) CLIST))
|
||||
(SETQ CLIST (CONS (ASCII (+ 100 (LOGAND 17 (LSH NUM -4)))) CLIST ))
|
||||
(SETQ CLIST (CONS (ASCII (+ 100 (LOGAND 17 (LSH NUM -10)))) CLIST ))
|
||||
(SETQ CLIST (CONS (ASCII (+ 100 (LOGAND 17 (LSH NUM -14)))) CLIST))
|
||||
(RETURN T) ))
|
||||
|
||||
(DEFUN TRIG-TABLE NIL
|
||||
(PROG (A OUT)
|
||||
(SETQ A 181.)
|
||||
LOOP (SETQ OUT (CONS (FIX (TIMES 177777 (SIN (TIMES .01745329 A)))) OUT))
|
||||
(SETQ A (1- A))
|
||||
(COND ((> A -1)(GO LOOP))(T (RETURN OUT))) ))
|
||||
|
||||
|
||||
;-- INITIAL SYMS
|
||||
|
||||
|
||||
|
||||
(DEFUN OPER-TYPE (CODE TYPE)
|
||||
(PROG (A B )
|
||||
(SETQ A (LIST CODE (LSH (ZAP-EVAL (CADR WD)) 6 )))
|
||||
(COND ((NULL A)(PRINT (APPEND '(NOT ENOUGH ARGS IN) WD)))
|
||||
((= TYPE 1)(SETQ WD (CDR WD))(RETURN (WORD-EVAL A)))) ;INC TYP
|
||||
(SETQ B (ZAP-EVAL (CADDR WD)))
|
||||
(COND ((= TYPE 3))
|
||||
((> B 17)(PRINT '(B ADDRESS TOO BIG FOR AN OPER)))
|
||||
((< B 0)(SETQ B (LOGAND B 17))))
|
||||
(COND ((NULL B)(PRINT (APPEND '(NOT ENOUGH WORDS IN) WD)))
|
||||
((> TYPE 1)(SETQ WD (CDDR WD))(RETURN (WORD-EVAL (CONS B A))))
|
||||
)))
|
||||
|
||||
(DEFPROP PUT (COND ((< (ZAP-EVAL (CADDR WD)) 10)(PRINT '(USE GET INSTEAD)) 0 )
|
||||
(T (OPER-TYPE 076000 3)) ) ZAP-SYM )
|
||||
|
||||
(DEFUN BRANCH-TYPE (CODE)
|
||||
(PROG2 ()
|
||||
(WORD-EVAL (LIST CODE (LOGAND 3777(1- (- (ZAP-EVAL(CADR WD)) I-MEM-LOC )))))
|
||||
(SETQ WD NIL)))
|
||||
|
||||
(DEFUN DIS-TYPE ()
|
||||
(PROG2 ()
|
||||
(PLUS 72000 (COND ((EQ (CADR WD) 'BUS) 0)
|
||||
((EQ (CADR WD) 'FLAGS) 400)
|
||||
((EQ (CADR WD) 'INTS) 1000)
|
||||
((EQ (CADR WD) 'STARS) 1400)
|
||||
(T (PRINT (CONS (CADR WD)'(UNKNOWN))) 0 ))
|
||||
(LSH (- 17 (CADDR WD)) 4))
|
||||
(SETQ WD NIL)))
|
||||
|
||||
(DEFPROP + (PROG2 ()
|
||||
(+ (ZAP-EVAL (CADR WD))(WORD-EVAL (CDDR WD)))
|
||||
(SETQ WD NIL)) ZAP-SYM)
|
||||
(DEFPROP * (PROG2 ()
|
||||
(* (ZAP-EVAL (CADR WD))(WORD-EVAL (CDDR WD)))
|
||||
(SETQ WD NIL)) ZAP-SYM)
|
||||
|
||||
(DEFPROP - (PROG2 ()
|
||||
(COND ((NULL (CDDR WD))(- (ZAP-EVAL (CADR WD))))
|
||||
(T (- (ZAP-EVAL (CADR WD))(WORD-EVAL (CDDR WD)))))
|
||||
(SETQ WD NIL)) ZAP-SYM)
|
||||
;
|
||||
(DEFPROP DIS (DIS-TYPE) ZAP-SYM)
|
||||
(DEFPROP ADD (OPER-TYPE 004060 2) ZAP-SYM )
|
||||
(DEFPROP SUB (OPER-TYPE 006000 2) ZAP-SYM )
|
||||
(DEFPROP INC (OPER-TYPE 006040 1) ZAP-SYM )
|
||||
(DEFPROP DEC (OPER-TYPE 004020 1) ZAP-SYM )
|
||||
(DEFPROP XADD (OPER-TYPE 004040 2) ZAP-SYM )
|
||||
(DEFPROP AND (OPER-TYPE 000040 2) ZAP-SYM )
|
||||
(DEFPROP IOR (OPER-TYPE 002000 2) ZAP-SYM )
|
||||
(DEFPROP XOR (OPER-TYPE 002020 2) ZAP-SYM )
|
||||
(DEFPROP NOR (OPER-TYPE 000060 2) ZAP-SYM )
|
||||
(DEFPROP ANDN (OPER-TYPE 000020 2) ZAP-SYM )
|
||||
(DEFPROP ARS (OPER-TYPE 006060 2) ZAP-SYM )
|
||||
(DEFPROP ROT (OPER-TYPE 004000 2) ZAP-SYM )
|
||||
(DEFPROP MROT (OPER-TYPE 002040 2) ZAP-SYM )
|
||||
(DEFPROP ADDI (OPER-TYPE 005060 2) ZAP-SYM )
|
||||
(DEFPROP SUBI (OPER-TYPE 007000 2) ZAP-SYM )
|
||||
(DEFPROP INCI (OPER-TYPE 007040 1) ZAP-SYM )
|
||||
(DEFPROP DECI (OPER-TYPE 005020 1) ZAP-SYM )
|
||||
(DEFPROP XADDI (OPER-TYPE 005040 2) ZAP-SYM )
|
||||
(DEFPROP ANDI (OPER-TYPE 001040 2) ZAP-SYM )
|
||||
(DEFPROP IORI (OPER-TYPE 003000 2) ZAP-SYM )
|
||||
(DEFPROP XORI (OPER-TYPE 003020 2) ZAP-SYM )
|
||||
(DEFPROP NORI (OPER-TYPE 001060 2) ZAP-SYM )
|
||||
(DEFPROP ANDNI (OPER-TYPE 001020 2) ZAP-SYM )
|
||||
(DEFPROP ARSI (OPER-TYPE 007060 2) ZAP-SYM )
|
||||
(DEFPROP ROTI (OPER-TYPE 005000 2) ZAP-SYM )
|
||||
(DEFPROP MROTI (OPER-TYPE 003040 2) ZAP-SYM )
|
||||
(DEFPROP LOD (OPER-TYPE 001000 1) ZAP-SYM )
|
||||
(DEFPROP CMP (OPER-TYPE 016000 2) ZAP-SYM )
|
||||
(DEFPROP CMPI 017000 ZAP-SYM )
|
||||
(DEFPROP T 10000 ZAP-SYM)
|
||||
(DEFPROP IFC 30000 ZAP-SYM)
|
||||
(DEFPROP GET (OPER-TYPE 074000 3) ZAP-SYM )
|
||||
(DEFPROP READ (OPER-TYPE 020000 2) ZAP-SYM )
|
||||
(DEFPROP WRITE (OPER-TYPE 024000 2) ZAP-SYM )
|
||||
(DEFPROP CREAD (OPER-TYPE 021000 2) ZAP-SYM )
|
||||
(DEFPROP CWRITE (OPER-TYPE 025000 2) ZAP-SYM )
|
||||
(DEFPROP READI (OPER-TYPE 022040 2) ZAP-SYM )
|
||||
(DEFPROP WRITEI (OPER-TYPE 026040 2) ZAP-SYM )
|
||||
(DEFPROP CREADI (OPER-TYPE 023040 2) ZAP-SYM )
|
||||
(DEFPROP CWRITEI (OPER-TYPE 027040 2) ZAP-SYM )
|
||||
(DEFPROP READD (OPER-TYPE 020020 2) ZAP-SYM )
|
||||
(DEFPROP WRITED (OPER-TYPE 024020 2) ZAP-SYM )
|
||||
(DEFPROP CREADD (OPER-TYPE 021020 2) ZAP-SYM )
|
||||
(DEFPROP CWRITED (OPER-TYPE 025020 2) ZAP-SYM )
|
||||
(DEFPROP JUMP 050000 ZAP-SYM )
|
||||
(DEFPROP PUSHJ 040000 ZAP-SYM )
|
||||
(DEFPROP POPJ 076016 ZAP-SYM )
|
||||
(DEFPROP POPJI 076716 ZAP-SYM)
|
||||
(DEFPROP BEQ (BRANCH-TYPE 134000 ) ZAP-SYM )
|
||||
(DEFPROP BNE (BRANCH-TYPE 130000 ) ZAP-SYM )
|
||||
(DEFPROP BPL (BRANCH-TYPE 124000 ) ZAP-SYM )
|
||||
(DEFPROP BMI (BRANCH-TYPE 120000 ) ZAP-SYM )
|
||||
(DEFPROP BCC (BRANCH-TYPE 100000 ) ZAP-SYM )
|
||||
(DEFPROP BCS (BRANCH-TYPE 104000 ) ZAP-SYM )
|
||||
(DEFPROP BVS (BRANCH-TYPE 110000 ) ZAP-SYM )
|
||||
(DEFPROP BVC (BRANCH-TYPE 114000 ) ZAP-SYM )
|
||||
(DEFPROP BIS (BRANCH-TYPE 150000 ) ZAP-SYM )
|
||||
(DEFPROP BIC (BRANCH-TYPE 154000 ) ZAP-SYM )
|
||||
(DEFPROP BFS (BRANCH-TYPE 170000 ) ZAP-SYM )
|
||||
(DEFPROP BFC (BRANCH-TYPE 174000 ) ZAP-SYM )
|
||||
(DEFPROP BXCI (BRANCH-TYPE 160000 ) ZAP-SYM )
|
||||
(DEFPROP BXSI (BRANCH-TYPE 164000 ) ZAP-SYM )
|
||||
(DEFPROP NOP (OPER-TYPE 10000 1) ZAP-SYM)
|
||||
(DEFPROP ERROR (+ I-MEM-LOC 050000 ) ZAP-SYM )
|
||||
(DEFPROP XR 23 ZAP-SYM)
|
||||
(DEFPROP ER (AND (PRINT '(USE XR NOT ER)) 13) ZAP-SYM)
|
||||
(DEFPROP MAGIC 76014 ZAP-SYM)
|
||||
(DEFPROP XCOR 21 ZAP-SYM)
|
||||
(DEFPROP YCOR 20 ZAP-SYM)
|
||||
(DEFPROP UART 24 ZAP-SYM)
|
||||
(DEFPROP DSR 25 ZAP-SYM)
|
||||
(DEFPROP KEY 26 ZAP-SYM)
|
||||
(DEFPROP SCROLL 22 ZAP-SYM)
|
||||
(DEFPROP CHARTV (OPER-TYPE 76015 1) ZAP-SYM)
|
||||
|
||||
(NULL (SETQ SYM-LIST '(
|
||||
DIS ADD SUB INC DEC XADD AND IOR
|
||||
XOR NOR ANDN ARS ROT MROT ADDI SUBI
|
||||
INCI DECI XADDI ANDI IORI XORI NORI ANDNI
|
||||
ARSI ROTI MROTI LOD CMP CMPI T IFC
|
||||
GET READ WRITE CREAD CWRITE READI WRITEI CREADI
|
||||
CWRITEI READD WRITED CREADD CWRITED JUMP PUSHJ POPJ
|
||||
POPJI BEQ BNE BPL BMI BCS BCC BVS
|
||||
BVC BIS BIC BFS BFC BXSI BXCI NOP
|
||||
ERROR XR ER MAGIC TEXT XCOR YCOR CLEARCLOCK
|
||||
UART DSR KEY PUT
|
||||
)))
|
||||
|
||||
(DEFUN FREQ (N) (COND ((GET N 'USE)(PRINT (LIST N (GET N 'USE))))))
|
||||
(DEFUN FREQS () (PROG2 (MAPCAR 'FREQ SYM-LIST) T ) )
|
||||
(PRINT '(NOT FOR DEBUGGING HARDWARE))
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user