home *** CD-ROM | disk | FTP | other *** search
/ ftp.update.uu.se / ftp.update.uu.se.2014.03.zip / ftp.update.uu.se / pub / pdp8 / pdp-8 / fromnichols / os8v3f.exe / RESOV1.MA < prev    next >
Text File  |  1995-07-27  |  6KB  |  334 lines

  1. /1
  2.     .EXTERNAL PUTNAM,PUTSP,GETTYP,PUTO
  3.     .ENTRY KIND
  4.     .GLOBAL TYPTBL
  5.     PDHRT=37
  6.     XR1=11
  7.     TEMP=26
  8.     PDHIT=30
  9.     BLOC=36
  10.     UN=6
  11.  
  12.     .RSECT OV,LEVEL=1,OVERLAY=1
  13.     FIELD 1
  14.  
  15. GETD77,    0
  16.     TAD (7707
  17.     DCA MASK
  18.     TAD (-6704    /V3C
  19.     JMS SRCH
  20.     RTR
  21.     RAR
  22.     AND (7
  23.     JMP I GETD77
  24.  
  25. QTTY,    TAD I PDHIT
  26.     SMA CLA        /1 OR 2 PAGE?
  27.     JMP I ($ASR    /1 PAGE
  28.     JMP I ($KL8E    /2 PAGE
  29.  
  30. QRK8E,    TAD I PDHIT
  31.     AND (7
  32.     CLL RAR
  33.     DCA UN
  34.     JMP I ($RK8E
  35.  
  36. TSTUN,    0
  37.     TAD I PDHIT
  38.     AND (7
  39.     DCA UN
  40.     JMP I TSTUN
  41.  
  42.  
  43. QRK8,    JMS TSTUN
  44.     JMP I ($RK8
  45. QTC08,
  46. QLINC,    JMS TSTUN
  47.     JMP I (NOKIND
  48. /HNDGET GETS VALUE IN HANDLER FROM REL LOC IN AC
  49.  
  50. HNDGET,    0
  51.     TAD BLOC
  52.     DCA TEMP
  53.     CDF 0
  54.     TAD I TEMP
  55.     CDF 10
  56.     JMP I HNDGET
  57. /SRCH SEARCHES THE HANDLER FOR THE NEGATIVE
  58. /OF THE NON-ZERO VALUE IN THE AC.
  59. /MASKED BY MASK.
  60. /IF FOUND, RETURN IS MADE WITH VALUE(WITHOUT MASK) IN AC
  61. /IF NOT FOUND, AC IS 0 UPON RETURN
  62.  
  63. SRCH,    0
  64.     DCA LOOK4
  65.     STA
  66.     TAD BLOC
  67.     DCA XR1
  68.     TAD (-230    /V3C MUST SEARCH 2 PAGES; TROUBLE IF TA8E IS IN LAST SLOT
  69.     DCA SRCHCNT
  70. SRCHLP,    CDF 0
  71.     TAD I XR1
  72.     CDF 10
  73.     DCA TEMP
  74.     TAD TEMP
  75.     AND MASK
  76.     TAD LOOK4
  77.     SNA CLA
  78.     JMP SRCHGOT
  79.     ISZ SRCHCNT
  80.     JMP SRCHLP
  81.     JMP I SRCH
  82.  
  83. SRCHGOT,TAD TEMP
  84.     JMP I SRCH
  85.  
  86. SRCHCNT,-400
  87. LOOK4,    0
  88. /    **** NOTE:  ALL HANDLERS SHOULD BE PADDED OUT TO FILL PAGE
  89. /        WITH ZEROES
  90. /BUILD SHOULD WRITE ZEROES IN 2ND PAGE OF ONE PAGE HANDLER
  91. /SPECIAL PURPOSE ROUTINES
  92.  
  93. QPTP,
  94. QPTR,    STA
  95.     DCA MASK
  96.     TAD (-6021
  97.     JMS SRCH
  98.     SZA CLA
  99.     JMP I ($PT8E
  100.     JMP I ($LSPT
  101.  
  102. /FOR TYPE PTR
  103. /    IF HANDLER CONTAINS A 6021 IT IS A PT8E
  104. /    OTHERWISE IT IS A LSPT
  105.  
  106. QCR8E,    TAD (104
  107.     JMS HNDGET
  108.     TAD (-3203
  109.     SNA
  110.     JMP I ($C029
  111.     TAD (3203-7735
  112.     SNA CLA
  113.     JMP I ($C026
  114.     JMP I (NOKIND
  115. /FOR TYPE CR8E
  116. /    IF REL LOC 104 IS A 3203 IT IN 029 KIND
  117. /    IF REL LOC 104 IS A 7735 IT IS  AN 026 KIND
  118. /    OTHERWISE IT IS AN UNKNOWN KIND
  119.  
  120. QLPTR,    TAD I PDHIT
  121.     SPA CLA        /1 OR 2 PAGE?
  122.     JMP I ($LQP    /2 PG
  123.     STA        /1 PG
  124.     DCA MASK
  125.     TAD (-6652    /SEARCH FOR A 6652
  126.     JMS SRCH
  127.     SZA CLA
  128.     JMP I ($L645    /FOUND IT
  129.     CLA IAC        /LOOK AT REL LOC 1
  130.     JMS HNDGET
  131.     TAD (-4
  132.     SNA
  133.     JMP I ($LV8E
  134.     TAD (4-14
  135.     SNA CLA
  136.     JMP I ($LPSV
  137.     JMP I (NOKIND
  138.  
  139. /IF HANDLER CONTAINS A 6652 IT'S AN L645
  140. /OTHERWISE, DEPENDS ON REL LOC 1
  141. /    IF REL LOC 1 IS A 14, IT'S A LPSV
  142. /    IF REL LOC 1 IS A 4, IT'S A LV8E
  143. /    OTHERWISE IT'S UNKNOWN (POSSIBLY OLD LP08 OR LS8E KIND)
  144.  
  145. MASK,    0
  146.     PAGE
  147. QTD8E,    JMS I (GETD77
  148.     CIA
  149.     TAD (10
  150.     DCA TEMP
  151.     TAD I ($TD8+1
  152.     AND (7700
  153.     TAD TEMP
  154.     DCA I ($TD8+1
  155.     TAD I PDHIT
  156.     RTR
  157.     RAR
  158.     STA
  159.     TAD TEMP
  160.     CML RAL        /TIMES 2 + LINK
  161.     DCA UN
  162.     JMP I ($TD8
  163.  
  164. /FIGURE OUT KIND OF TD8E BY DEVICE CODE FOUND IN 67N1 INSTRUCTION
  165. /    N    TYPE
  166. /    7    TD8A
  167. /    6    TD8B
  168. /..
  169. /    1    TD8G
  170. /    0    TD8H
  171.  
  172. QTA8E,    JMS I (GETD77
  173.     IAC
  174.     DCA TEMP
  175.     TAD I ($TA8+1
  176.     AND (7700
  177.     TAD TEMP
  178.     DCA I ($TA8+1
  179.     STA
  180.     TAD I PDHIT
  181.     AND (177
  182.     SNA CLA
  183.     CLA IAC
  184.     DCA UN
  185.     STA
  186.     TAD TEMP
  187.     CLL RAL
  188.     TAD UN
  189.     DCA UN
  190.     JMP I ($TA8
  191. /FIGURE OUT KIND OF TA8E BY DEVICE CODE FOUND IN 67N1 INSTRUCTION
  192.  
  193. /    N    KIND
  194. /    0    TA8A
  195. /    1    TA8B
  196. /...
  197. /    6    TA8G
  198. /    7    TA8H
  199. RLSPC,    TAD I PDHIT
  200.     TAD (-50
  201.     RTR
  202.     SKP
  203. RLSP,    TAD I PDHIT
  204.     AND (3
  205.     DCA UN
  206.     JMP I (NOKIND
  207.     PAGE
  208. $LQP,    IAC    /23
  209. PLAT4,    IAC    /22
  210. PLAT3,    IAC    /21
  211. PLAT2,    IAC    /20
  212. PLAT1,    IAC    /17
  213. $XTRA,    IAC    /16
  214. $KL8E,    IAC    /15
  215. $RK8E,    IAC    /14
  216. $RK8,    IAC    /13
  217. $ASR,    IAC    /12
  218. $TA8,    IAC    /11
  219. $TD8,    IAC    /10
  220. $L645,    IAC    /7
  221. $LPSV,    IAC    /6
  222. $LV8E,    IAC    /5
  223. $C026,    IAC    /4
  224. $C029,    IAC    /3
  225. $LSPT,    IAC    /2
  226. $PT8E,    IAC    /1
  227. NOKIND,    CLL RAL
  228. /PRINTS NAME FROM TABLE, ENTER WITH ENTRY # IN AC
  229. PRNAM,    TAD (TABASE
  230.     JMS PUTNAM
  231.     JMS UNIT
  232.     JMP KINDRET
  233. KIND,    0
  234.     JMS PUTSP
  235.     TAD BLOC
  236.     SNA CLA
  237.     JMP NOKIND
  238.     JMS GETTYP
  239.     SNA
  240.     JMP NOKIND
  241.     DCA TEMP
  242.     JMP I TEMP    /BRANCH TO APPROPRIATE SUBROUTINE
  243. KINDRET,JMP I KIND
  244.  
  245. /KIND SUBROUTINES
  246. /ENTER WITH BLOC POINTING TO HANDLER BLOCK IN CORE
  247.  
  248. TABASE,    4040;4040    /0
  249.     DEVICE PT8E    /1
  250.     DEVICE KS33    /2
  251.     DEVICE 029    /3
  252.     DEVICE 026    /4
  253.     DEVICE LV8E    /5
  254.     DEVICE LPSV    /6
  255.     DEVICE L645    /7
  256. KTD8,    DEVICE TD8    /10
  257. KTA8,    DEVICE TA8    /11
  258.     DEVICE AS33    /12
  259.     DEVICE RK01    /13
  260.     DEVICE RK05    /14
  261.     DEVICE KL8E    /15
  262.     DEVICE XTRA    /16
  263.     TEXT   / =1/    /17
  264.     TEXT   / =2/    /20
  265.     TEXT   / =3/    /21
  266.     TEXT   / =4/    /22
  267.     DEVICE LQP    /23
  268. UNIT,    0
  269.     JMS PUTSP
  270.     TAD BLOC
  271.     SNA CLA
  272.     JMP TSTSUN
  273.     TAD UN
  274.     SPA
  275.     TAD (40+1-60
  276. ZOUN,    TAD (60
  277.     JMS PUTO
  278.     JMP I UNIT
  279.  
  280. TSTSUN,    TAD I PDHRT
  281.     TAD (-7607
  282.     SZA CLA
  283.     CLA IAC        /ASSUME CORESIDENT HANDLERS ARE UNIT 1
  284.     JMP ZOUN    /ELSE, NO UNIT
  285.     PAGE
  286.     .ASECT TYPTAB,LEVEL=0
  287.     FIELD 0
  288.  
  289.     *2000
  290.  
  291. /    DEVICE LENGTH TABLE
  292.  
  293. /FORMAT OF THIS TABLE:
  294.  
  295. /1,2    DEVICE GENERALIZED NAME (CORR TO TYPE)
  296. /3    NEG OF LENGTH
  297. /4    ADDRESS OF SUBR IN FIELD 1 FOR SPECIALIZATION
  298.  
  299. TYPTBL,    DEVICE TTY ;0000;QTTY    /0
  300.     DEVICE PTR ;0000;QPTR    /1
  301.     DEVICE PTP ;0000;QPTP    /2
  302.     DEVICE CR8E;0000;QCR8E    /3
  303.     DEVICE LPTR;0000;QLPTR    /4    V3D
  304.     DEVICE RK8  ;1520;QRK8    /5
  305.     DEVICE RF08;6001;PLAT1    /6    V3C
  306.     DEVICE RF08;4002;PLAT2    /7
  307.     DEVICE RF08;2003;PLAT3    /10
  308.     DEVICE RF08;0004;PLAT4    /11    RF'S NOW ONLY HAVE LOGICALLY 1777 BLOCKS
  309.     DEVICE DF32;7601;PLAT1    /12
  310.     DEVICE DF32;7402;PLAT2    /13    V3C
  311.     DEVICE DF32;7203;PLAT3    /14
  312.     DEVICE DF32;7004;PLAT4    /15    DF'S HAVE 177 BLOCKS
  313.     DEVICE TC08;6437;QTC08    /16
  314.     DEVICE LINC;6437;QLINC    /17
  315.     DEVICE TM8E;0000;0    /20
  316.     DEVICE TD8E;6437;QTD8E    /21
  317.     DEVICE BAT ;0000;0    /22
  318.     DEVICE RK8E;1520;QRK8E    /23
  319.     DEVICE NULL;0000;0    /24
  320.     DEVICE RX8E;7022;0    /25
  321.     DEVICE RL01;-7761;RLSP    /26
  322.     DEVICE TA8E;0000;QTA8E    /27
  323.     DEVICE VR12;0000;0    /30
  324.     DEVICE RL01;-3751;RLSPC    /31
  325.     DEVICE RX02;6044;0    /32
  326.     DEVICE VXA0;7200;PLAT3    /33
  327.     ZBLOCK 4        /34
  328.     ZBLOCK 4        /35
  329.     DEVICE DUMP;0000;0    /36
  330.     ZBLOCK 4        /37
  331.     ZBLOCK TYPTBL+400-.
  332.     PAGE
  333.  
  334.