X-Git-Url: http://gitweb.hachti.de/?a=blobdiff_plain;f=sw%2Fsrc%2Flife%2Fintr.pa;fp=sw%2Fsrc%2Flife%2Fintr.pa;h=4a3d1e625a90c99565c5fc4d933d97d802cafb19;hb=81e70d488b71bf995c459ca3a02c025993460ffa;hp=0000000000000000000000000000000000000000;hpb=07ec0278333ed187ac242dedcff13c56cf1b0b91;p=pdp8.git diff --git a/sw/src/life/intr.pa b/sw/src/life/intr.pa new file mode 100644 index 0000000..4a3d1e6 --- /dev/null +++ b/sw/src/life/intr.pa @@ -0,0 +1,82 @@ +/******************************************************************** +/******************************************************************** +/ INTERRUPT HANDLING + + PAGE + +IHAND, DCA INTAC / SAVE AC + RAR + DCA INTLNK / AND LINK + + KSF / SKIP IF KEYBOARD FLAG SET + SKP + JMP TTIHAN / HANDLE TELETYPE INPUT + + TSF / SKIP IF PRINTER FLAG SET + SKP + JMP TTOHAN / HANDLE TELETYPE OUTPUT + + HLT / OH, AN UNKNOWN INTERRUPT! + +IEND, CLA CLL / RESTORE LINK + TAD INTLNK + RAL + TAD INTAC / RESTORE AC + ION / SWITCH ON INTERRUPT AGAIN + JMP I INTR / RETURN FROM INTERRUPT + +/ INTERRUPT TIME BACKUPS OF AC AND LINK +INTAC, 0 / INTERRUPT BACKUP AC +INTLNK, 0 / INTERRUPT BACKUP OF LINK + +/******************************************************************** +/ TELETYPE INPUT HANDLER + +TTIHAN, + KRB / READ AND CLEAR FLAG + AND K177 / MASK TO 7 BITS - I HATE PARITY! + DCA KBCHAR / SAVE FOR USE + + TAD KBCHAR + TAD CKDMPS + SNA + JMS I XDUMPS / SOURCE DUMP (DEBUG) + + CLA CLL + TAD KBCHAR + TAD CKDMPT + SNA + JMS I XDUMPT / TARGET DUMP (DEBUG) + + CLA CLL + TAD KBCHAR + TAD CKDUMP + SNA + JMS I XDUMP / NORMAL DUMP + + CLA CLL + TAD KBCHAR + TAD CKKILL + SNA + JMP I XEXIT + + CLA CLL + TAD KBCHAR + TAD CKHALT + SNA + HLT + + JMP IEND + +K177, 177 +KBCHAR, 0 + +/ COMMAND KEYS + +CKDUMP, -104 / D +CKDMPS, -123 / S +CKDMPT, -124 / T + +CKKILL, -3 / CTRL-C +CKHALT, -10 / CTRL-H +