A large commit.
[pdp8.git] / sw / src / life / intr.pa
CommitLineData
81e70d48
PH
1/********************************************************************
2/********************************************************************
3/ INTERRUPT HANDLING
4
5 PAGE
6
7IHAND, DCA INTAC / SAVE AC
8 RAR
9 DCA INTLNK / AND LINK
10
11 KSF / SKIP IF KEYBOARD FLAG SET
12 SKP
13 JMP TTIHAN / HANDLE TELETYPE INPUT
14
15 TSF / SKIP IF PRINTER FLAG SET
16 SKP
17 JMP TTOHAN / HANDLE TELETYPE OUTPUT
18
19 HLT / OH, AN UNKNOWN INTERRUPT!
20
21IEND, CLA CLL / RESTORE LINK
22 TAD INTLNK
23 RAL
24 TAD INTAC / RESTORE AC
25 ION / SWITCH ON INTERRUPT AGAIN
26 JMP I INTR / RETURN FROM INTERRUPT
27
28/ INTERRUPT TIME BACKUPS OF AC AND LINK
29INTAC, 0 / INTERRUPT BACKUP AC
30INTLNK, 0 / INTERRUPT BACKUP OF LINK
31
32/********************************************************************
33/ TELETYPE INPUT HANDLER
34
35TTIHAN,
36 KRB / READ AND CLEAR FLAG
37 AND K177 / MASK TO 7 BITS - I HATE PARITY!
38 DCA KBCHAR / SAVE FOR USE
39
40 TAD KBCHAR
41 TAD CKDMPS
42 SNA
43 JMS I XDUMPS / SOURCE DUMP (DEBUG)
44
45 CLA CLL
46 TAD KBCHAR
47 TAD CKDMPT
48 SNA
49 JMS I XDUMPT / TARGET DUMP (DEBUG)
50
51 CLA CLL
52 TAD KBCHAR
53 TAD CKDUMP
54 SNA
55 JMS I XDUMP / NORMAL DUMP
56
57 CLA CLL
58 TAD KBCHAR
59 TAD CKKILL
60 SNA
61 JMP I XEXIT
62
63 CLA CLL
64 TAD KBCHAR
65 TAD CKHALT
66 SNA
67 HLT
68
69 JMP IEND
70
71K177, 177
72KBCHAR, 0
73
74/ COMMAND KEYS
75
76CKDUMP, -104 / D
77CKDMPS, -123 / S
78CKDMPT, -124 / T
79
80CKKILL, -3 / CTRL-C
81CKHALT, -10 / CTRL-H
82