User Tools

Site Tools


plato:source:plaopl:condi

Table of Contents

CONDI

Table Of Contents

  • [00014] CONDENSOR INITIALIZATIONS.
  • [00025] INIT - INITIALIZATIONS.
  • [00362] OVERLAY LOADING SUBROUTINES.
  • [00364] CCC - COMPUTE CMP SUBOVERLAY CM.
  • [00401] CSC - COMPUTE SUBOVERLAY CM.
  • [00458] CSE - COMPUTE SUBOVERLAY EM.
  • [00496] REM - REQUEST EXTENDED MEMORY.
  • [00547] GETPR - GET CPU PRIORITY PASSED ON '7CONDEN'7

Source Code

CONDI.txt
  1. CONDI
  2. * /--- FILE TYPE = E
  3. * /--- BLOCK OVERLAY 00 000 81/08/05 21.30
  4. IDENT OVERLAY
  5.  
  6. * EVERYTHING AFTER THIS POINT IS TOSSED AFTER
  7. * INITIALIZATION
  8.  
  9. ENTRY OVERLAY
  10. OVERLAY BSS 0
  11. END
  12. * /--- BLOCK CONDI 00 000 81/07/18 02.00
  13. IDENT CONDI
  14. TITLE CONDENSOR INITIALIZATIONS.
  15.  
  16. SYSCOM
  17. CST
  18.  
  19. EXT RUNCFL RUNNING CM FIELD LENGTH
  20. EXT ECSPRTY
  21. EXT NOVRLYS
  22. EXT OVRLTAB
  23. * /--- BLOCK INIT 00 000 78/11/08 10.56
  24. INIT EJECT
  25. ** INIT - INITIALIZATIONS.
  26. *
  27. * ADJUST CM FIELD LENGTH, GET EM, AFFILIATE
  28. * WITH MASTOR TO MAKE JOB A CONDENSOR.
  29.  
  30.  
  31. ENTRY INIT
  32.  
  33. * CHECK *ARGR* (RA+2) TO SEE IF CPU PRIORITY SETTING PASSED
  34. *
  35. INIT CALL GETPR SEE IF PRIORITY SPECIFIED
  36.  
  37. CALL S=READY,KPRI SET JSN/CPU PRIORITY
  38. *
  39. SX0 COINITP POINTER TO TABLES
  40. SA0 PTRS
  41. + RE 1 READ ADDRESS OF TABLES
  42. RJ ECSPRTY
  43. SA1 A0 LOAD ECS ADDRESS
  44. BX0 X1
  45. SA0 LOWLOCS
  46. + RE NPTRS READ POINTER TABLE
  47. RJ ECSPRTY
  48. *
  49. SX6 NPTRS
  50. IX6 X6+X1
  51. SA6 A1 STORE POINTER TO OVERLAY TABLE
  52. *
  53. * SET LENGTH OF SOURCE BUFFERS
  54. *
  55. SA1 SBUFL
  56. SX6 BLKLTH CONVERT TO ABSOLUTE LENGTH
  57. IX1 X1*X6
  58. BX6 X1
  59. LX1 1 TOTAL EXTRA ECS NEEDED
  60. SA6 AFILEBF LENGTH OF SOURCE BUFFER
  61. SA6 AUSEBUF LENGTH OF USE BUFFER
  62. SA2 COBUFL TOTAL AMOUNT OF ECS NEEDED
  63. SA3 A2+1 LENGTH OF ROLLOUT BUFFER
  64. IX6 X2+X1
  65. IX7 X3+X1
  66. SA6 A2
  67. SA7 A3
  68.  
  69. * CHANGE -CDISK- PARAMETER TO 0 OR 1 FROM
  70. * (36/0, 24/7777 7777) OR 1.
  71.  
  72. SA1 CDISK
  73. SX6 X1
  74. SA6 A1
  75.  
  76. * IF CDISK = 1, ALLOW A MAXIMUM OF 1 CONDENSOR.
  77.  
  78. ZR X6,INIT1
  79. SA6 NCOND
  80.  
  81. * FIND AVAILABLE CONDENSOR ORDINAL
  82.  
  83. INIT1 SA1 ACONDC READ STROAGE ADDRESSES
  84. BX0 X1
  85. SA0 CBUF
  86. SA2 NCOND
  87. SB2 X2-1
  88. RE B2+1
  89. RJ ECSPRTY
  90. INIT2 SA1 A0+B2
  91. CX1 X1
  92. ZR X1,INIT3 IF THIS CONDEN ORDINAL FREE
  93. SB2 B2-1
  94. GE B2,INIT2
  95. CALL S=MSG,NOFREE
  96. CALL S=KILL
  97.  
  98. * /--- BLOCK INIT 00 000 78/11/08 10.54
  99. INIT3 SX6 B2
  100. IX0 X0+X6
  101. SA6 CONDN SET CONDENSOR ORDINAL
  102. SA0 MIZERO WRITE -0
  103. WE 1
  104. RJ ECSPRTY
  105. CALL S=WAIT,1000 WAIT FOR OTHER CONDENSORS
  106. SA2 A0 (X2) = ORIGINAL WORD
  107. SA0 CBUF
  108. RE 1
  109. RJ ECSPRTY
  110. SA1 A0
  111. BX1 X1-X2
  112. CX1 X1
  113. NZ X1,INIT1 IF WORD CHANGED
  114.  
  115. * GET ECS STORAGE FOR BUFFERS.
  116.  
  117. SA0 COBUFL
  118. SA1 CONDN
  119. SX0 COECRQ+X1 BIAS TO THIS CONDENSORS WORD
  120. WE 1
  121. RJ ECSPRTY
  122. INIT4 SA0 SWK1
  123. RE 1
  124. RJ ECSPRTY
  125. SA1 A0
  126. NG X1,INIT5 IF REQUEST COMPLETE
  127. CALL S=WAIT,20 WAIT A BIT
  128. EQ INIT4 CHECK AGAIN
  129.  
  130. INIT5 SB2 AECSBUF (B2) = FWA OF ECS RELOCATION
  131. SB3 COBUFL (B3) = LWA+1 OF ECS RELOCATION
  132. MX2 -24
  133. BX7 -X2*X1 (X7) = CURRENT ECS ADDRESS
  134. INIT6 SA1 B2
  135. SA7 A1 SET ECS ADDRESS
  136. SB2 B2+1
  137. IX7 X1+X7 BUMP ECS ADDRESS
  138. LT B2,B3,INIT6 IF MORE RELOCATION
  139. SA1 AECSBUF SET ADDRESS OF COMMUNICATION
  140. SA2 APLACOM
  141. BX6 X1+X2
  142. SA6 A2
  143.  
  144. * SET UP MASTOR REQUEST BUFFER FREE CHAIN
  145.  
  146. SA1 ACMASRQ FWA OF BUFFER AREA
  147. SX0 NMREQ
  148. IX0 X0+X1 FWA OF FIRST REQUEST
  149. BX6 X0
  150. SA0 =XMASFREE
  151. SX3 MS.RDIM LENGTH OF INDIVIDUAL REQUEST
  152. SB7 NMREQ-2 COUNTER
  153.  
  154. INIT10 NG B7,INIT12 IF DONE
  155. IX7 X0+X3 POINT TO NEXT BUFFER
  156. SA7 A0
  157. WE 1 WRITE POINTER
  158. RJ ECSPRTY
  159. BX0 X7 MOVE TO NEXT BUFFER
  160. SB7 B7-1
  161. EQ INIT10
  162. INIT12 SA6 A0 FIRST BUFFER IS FIRST FREE
  163.  
  164. * INFORM MASTOR OF THE REQUEST AREA.
  165.  
  166. CALL S=SETR,ACMASRQ,NMREQ
  167.  
  168. SA2 AFILEBF SET ADDRESS OF ROLL BUFFER
  169. SA1 COBUFL+1 LENGTH OF ROLL BUFFER
  170. SX6 BLKLTH
  171. IX6 X2+X6
  172. SA6 ROLLBUF
  173. BX6 X1
  174. SA6 ROLBUFL SET LENGTH OF ROLLOUT BUFFER
  175.  
  176. * /--- BLOCK INIT 00 000 82/09/27 14.26
  177. * ALTERNATE CONDENSORS WAIT UNTIL OVERLAYS ARE
  178. * LOADED AND THEN PROCEED TO READ THE COMMAND
  179. * NAME TABLES AND THE OVERLAY TABLE.
  180.  
  181. * ALWAYS RELOAD THE OVERLAYS WHEN CDISK = ON.
  182.  
  183. SA1 CDISK
  184. NZ X1,INIT17
  185.  
  186. * IF NECESSARY, THE FIRST CONDENSOR LOADS THE
  187. * OVERLAYS AND INITIALIZES THE COMMAND TABLES.
  188.  
  189. INIT14 SA1 PTRS SEE IF OVERLAYS ALREADY LOADED
  190. RX2 X1
  191. NZ X2,INIT15 IF OVERLAYS LOADED
  192.  
  193. SA1 CONDN CHECK TO SEE IF FIRST CONDENSOR
  194. SA2 NCOND
  195. SX1 X1+1
  196. IX1 X1-X2
  197. ZR X1,INIT17 IF FIRST CONDENSOR
  198.  
  199. CALL S=WAIT,1000
  200. EQ INIT14 CHECK AGAIN
  201.  
  202. INIT15 BX6 X1
  203. SA6 OVLADDR SAVE EM ADDR OF OVERLAY TABLE
  204.  
  205. * SET THE FIRST WORD TO BE USED FOR THE CIO BUFFER.
  206.  
  207. SA1 LWPR
  208. SX6 X1
  209. SA6 =XFIRST
  210.  
  211. SB1 1
  212. RJ =XIOL GET DATE AND TIME OF NOGO
  213. SA3 LDATE (X3) = DATE FOR OVERLAYS IN EM
  214. SA4 LTIME (X4) = TIME FOR OVERLAYS IN EM
  215. BX3 X1-X3
  216. BX4 X2-X4
  217. BX3 X3+X4
  218. NZ X3,NOMATCH IF CONDENSOR DOES NOT MATCH
  219. SA1 OVLADDR (X1) = EM ADDR OF OVERLAY TABLE
  220. BX0 X1
  221. SA0 OVRLTAB (A0) = CM ADDR OF OVERLAY TABLE
  222. + RE NOVRLYS
  223. RJ ECSPRTY
  224. * /--- BLOCK INIT 00 000 81/07/21 04.40
  225. INIT16 SA1 A0 FOR ROLL-IN/OUT IN CONDEN
  226. BX6 X1
  227. SA6 RUNCFL STORE DOWN LOW
  228. LX6 30
  229. SA6 CMFL
  230. CALL S=CM,CMFL
  231. RJ CFL CHECK CM FIELD LENGTH LIMITS
  232.  
  233. * ADJUST ADDRESS OF COMMAND CONDENSE STATS BUFFER.
  234.  
  235. SA1 CONDN (X1) = CONDENSOR ORDINAL
  236. SA2 ACDSTAT (X2) = ADDR OF 1ST STATS BUFFER
  237. SX3 SCOMNDH+CMNDMAX (X3) = LENGTH OF BUFFER
  238. IX6 X1*X3 (X6) = OFFSET FOR THIS COND.
  239. IX6 X2+X6 (X6) = ADDR FOR THIS COND.
  240. SA6 A2 RESET ADDRESS TO RIGHT BUFFER
  241.  
  242. * ADJUST CMP SAVED FILE DIRECTORY BUFFER.
  243.  
  244. SA1 CONDN (X1) = CONDENSOR ORDINAL
  245. SA2 ACMPDIR (X2) = FWA OF 1ST BUFFER
  246. SX3 64 LENGTH OF BUFFER
  247. IX6 X1*X3 (X6) = OFFSET FOR THIS COND.
  248. IX6 X6+X2 (X6) = FWA FOR THIS CONDENSOR
  249. SA6 A2 (ACMPDIR) = BUFFER FWA
  250.  
  251. * SET ADDRESS OF COMMUNICATION AREA
  252.  
  253. SA1 CONDN BIAS TO THIS CONDENSORS WORD
  254. SA2 ACONDC
  255. IX0 X1+X2
  256. SA0 APLACOM
  257. WE 1
  258. RJ ECSPRTY
  259. LX0 -24
  260. BX6 X1+X0
  261. SA6 A1 SET ADDRESS/ORDINAL
  262.  
  263. MX6 0
  264. SA6 ROLLF MARK CONDENSOR ROLLED IN
  265.  
  266. SB1 1
  267. DATE STRTMSG+1
  268. CALL S=LOG,STRTMSG,5 START MESSAGE TO LOG
  269. EQ =XCONDEN
  270. * /--- BLOCK OVERLAYS 00 000 81/07/18 08.53
  271. INIT17 SA0 ENGLISH SET UP COMMAND LAGUAGE TABLE
  272. SA1 CMNDLGS
  273. BX0 X1
  274. + WE CLANGS+1
  275. RJ ECSPRTY
  276.  
  277. * SET THE CMP (1,0) OVERLAY LOAD FLAG.
  278.  
  279. SA1 CMP
  280. SX1 X1+
  281. ZR X1,INIT18 IF CMP OFF
  282. SA1 =XCMPOV10
  283. MX0 -18
  284. BX6 X0*X1
  285. SA6 A1+
  286. *
  287. *
  288. * LOAD OVERLAYS AND WRITE OUT TO ECS
  289. *
  290.  
  291. * SET THE CM FIELD LENGTH.
  292.  
  293. INIT18 SA1 LWPR
  294. SA2 HHA
  295. SX6 =XOVERLAY-200B
  296. IX1 X1-X6
  297. IX6 X1+X2
  298. SA6 =XLOADFL
  299.  
  300. * SET THE CIO BUFFER FWA.
  301.  
  302. SA1 LWPR
  303. SX6 X1
  304. SA6 =XFIRST
  305.  
  306. * LOAD THE OVERLAYS.
  307.  
  308. SB1 1
  309. RJ =XIOL
  310.  
  311. * SAVE THE DATE / TIME OF -NOGO-.
  312.  
  313. BX6 X1
  314. BX7 X2
  315. SA6 LDATE
  316. SA7 LTIME
  317.  
  318. SX1 B0 (X1) = CURRENT RANDOM ADDRESS
  319. RJ =XRMS
  320.  
  321. * SAVE THE MAX CM FL REQUIRED IN THE FIRST WORD
  322. * OF THE OVERLAY TABLE SO OTHER CONDENSORS CAN
  323. * PICK IT UP FROM EM. ADD A KLUDGE FACTOR SO
  324. * THERE IS ENOUGH CM TO READ THE OVERLAYS FROM DISK.
  325.  
  326. SA1 =XMAXCM
  327. SX6 X1+100B
  328. SA6 OVRLTAB
  329.  
  330. * SET THE NEW CIO BUFFER FWA.
  331.  
  332. SX6 =XOVERLAY
  333. SA6 =XFIRST
  334.  
  335. SX1 COINITP
  336. RX1 X1 (X1) = EM ADDR OF PARAMETERS
  337. SX0 LDATE-LOWLOCS
  338. IX0 X0+X1 (X0) = EM ADDR OF DATE AND TIME
  339. SA0 LDATE
  340. WE 2
  341. RJ ECSPRTY
  342. SA0 OVRLTAB
  343. SA1 PTRS
  344. BX0 X1
  345. + WE NOVRLYS WRITE OVERLAY ADDRESSES OUT
  346. RJ ECSPRTY
  347. EQ INIT16 FINISH UP INITIALIZATIONS
  348.  
  349. NOMATCH CALL S=MSG,NOMATCHM
  350. SA1 ACONDC (X1) = EM ADDR OF COND ORDINALS
  351. SA2 CONDN (X2) = THIS CONDENSOR ORDINAL
  352. IX0 X1+X2 (X0) = EM ADDR OF THIS ORDINAL
  353. SA0 ZILCH (A0) = ADDR OF +0
  354. WE 1 MARK CONDENSOR ORDINAL UNUSED
  355. RJ ECSPRTY
  356. EQ =XBYE
  357.  
  358. NOMATCHM DIS ,* CONDENSOR/OVERLAY MISMATCH.*
  359. ZILCH DATA 0
  360. OVLADDR BSS 1 EM ADDRESS OF OVERLAY TABLE
  361. * /--- BLOCK CCC 00 000 82/09/27 18.35
  362. TITLE OVERLAY LOADING SUBROUTINES.
  363. CCC SPACE 4,10
  364. ** CCC - COMPUTE CMP SUBOVERLAY CM.
  365. *
  366. * COMPUTE CM FL TO BE THE MAXIMUM OF THE CURRENT
  367. * CM FL AND THE AMOUNT OF CM REQUIRED FOR THE
  368. * CMP SUBOVERLAY.
  369. *
  370. * ENTRY (B1) = 1.
  371. * (B3) = SUBOVERLAY LENGTH.
  372. * (B5) = FWAS.
  373. *
  374. * EXIT (B1) = SAME AS ENTRY.
  375. * (B2) = SAME AS ENTRY.
  376. * (B5) = SAME AS ENTRY.
  377. *
  378. * USES X - 1, 6.
  379. * A - 1.
  380. * B - NONE.
  381. *
  382. * CALLS NONE.
  383. *
  384. * MACROS NONE.
  385.  
  386.  
  387. ENTRY CCC
  388.  
  389. CCC PS ENTRY / EXIT
  390.  
  391. SA1 =XMAXCM (X1) = MAX CM SO FAR
  392. SX6 B3+B5 (X6) = CM NEEDED FOR THIS OV
  393. IX1 X1-X6
  394. PL X1,CCC IF NOT LARGER
  395.  
  396. SA6 A1
  397. EQ CCC RETURN
  398.  
  399. * /--- BLOCK CSC 00 000 82/09/27 18.35
  400. CSC SPACE 4,10
  401. ** CSC - COMPUTE SUBOVERLAY CM.
  402. *
  403. * COMPUTE CM FL TO THE MAXIMUM OF THE CURRENT CM FL
  404. * AND THE AMOUNT OF CM REQUIRED FOR EACH SUBOVERLAY.
  405. *
  406. * ENTRY (B1) = 1.
  407. * (B2) = FWA OF OVERLAY FILE.
  408. * (B3) = LENGTH OF OVERLAY FILE.
  409. * (B4) = POINTER TO NEXT SUBOV.
  410. *
  411. * EXIT (B1) = SAME AS ENTRY.
  412. * (B2) = SAME AS ENTRY.
  413. *
  414. * USES X - 1, 2, 6.
  415. * A - 1, 2, 6.
  416. * B - 3, 4, 7.
  417. *
  418. * CALLS NONE.
  419. *
  420. * MACROS NONE.
  421.  
  422.  
  423. ENTRY CSC
  424.  
  425. CSC PS ENTRY / EXIT
  426.  
  427. * SEE IF THERE ARE ANY MORE SUBOVERLAYS TO LOOK AT.
  428.  
  429. CSC1 ZR B3,CSC IF NO MORE SUBOVERLAYS
  430.  
  431. * GET SUBOVERLAY LENGTH, AND UPDATE OVERLAY FILE
  432. * LENGTH.
  433.  
  434. SA1 B4 (X1) = SUBOVERLAY LENGTH
  435. SB7 X1 (B7) = SUBOVERLAY LENGTH
  436. SB3 B3-B7 (B3) = NEW LENGTH OF OVFILE
  437. SB4 B4+B1
  438. SB4 B4+B7 (B4) = POINTER TO NEXT SUBOV
  439.  
  440. LX1 30
  441. SX1 X1+B2 (X1) = LWA + 1
  442.  
  443. * GET MAX CM FL FOUND SO FAR.
  444.  
  445. SA2 =XMAXCM
  446. IX2 X2-X1
  447. PL X2,CSC1 IF NOT LARGER
  448.  
  449. * UPDATE CM FL REQUIRED.
  450.  
  451. BX6 X1
  452. SA6 A2
  453.  
  454. EQ CSC1 LOOP
  455.  
  456. * /--- BLOCK CSE 00 000 82/09/27 18.35
  457. CSE SPACE 4,10
  458. ** CSE - COMPUTE SUBOVERLAY EM.
  459. *
  460. * ADD THE LENGTH OF THE CURRENT OVERLAY FILE TO THE
  461. * AMOUNT OF EM REQUIRED.
  462. *
  463. * ENTRY (B1) = 1.
  464. * (B3) = LENGTH OF OVERLAY FILE.
  465. * (OVEM) = EM REQUIRED SO FAR.
  466. *
  467. * EXIT (B1) = SAME AS ENTRY.
  468. * (B3) = SAME AS ENTRY.
  469. * (OVEM) = SAME AS ENTRY.
  470. *
  471. * USES X - 1, 6.
  472. * A - 1, 6.
  473. * B - NONE.
  474. *
  475. * CALLS NONE.
  476. *
  477. * MACROS NONE.
  478.  
  479.  
  480. ENTRY CSE
  481.  
  482. CSE PS ENTRY / EXIT
  483.  
  484. * ADD THE LENGTH OF THE OVERLAY FILE TO THE
  485. * AMOUNT OF EM REQUIRED.
  486.  
  487. SA1 =XOVEM
  488. SX6 B3
  489. IX6 X1+X6
  490. SA6 A1
  491.  
  492. EQ CSE RETURN
  493.  
  494. * /--- BLOCK REM 00 000 82/09/27 18.35
  495. REM SPACE 4,10
  496. ** REM - REQUEST EXTENDED MEMORY.
  497. *
  498. * ENTRY (B1) = 1.
  499. * (B3) = EM REQUIRED.
  500. *
  501. * EXIT (B1) = SAME AS ENTRY.
  502. * (OVLECS) = EM FWA.
  503. *
  504. * USES X - 0, 1, 6.
  505. * A - 0, 1, 6.
  506. * B - NONE.
  507. *
  508. * CALLS S=RCL.
  509. *
  510. * MACROS NONE.
  511.  
  512.  
  513. ENTRY REM
  514.  
  515. REM PS ENTRY / EXIT
  516.  
  517. * REQUEST EM.
  518.  
  519. SX6 B3 (X6) = EM REQUIRED
  520. SA6 =XOVLECS
  521. SA1 CONDN
  522. SX0 X1+COECRQ
  523. SA0 A6
  524. + WE B1
  525. RJ =XECSPRTY
  526.  
  527. * WAIT FOR REPLY.
  528.  
  529. REM1 RJ S=RCL
  530.  
  531. SA0 =XOVLECS
  532. + RE B1
  533. RJ =XECSPRTY
  534.  
  535. SA1 A0
  536. PL X1,REM1 IF REQUEST NOT FILLED
  537.  
  538. * SAVE EM FWA.
  539.  
  540. MX6 -24
  541. BX6 -X6*X1
  542. SA6 A0
  543. EQ REM RETURN
  544.  
  545. * /--- BLOCK GETPR 00 000 78/11/08 10.57
  546. GETPR SPACE 4,10
  547. ** GETPR - GET CPU PRIORITY PASSED ON '7CONDEN'7
  548. * CONTROL CARD (IF PASSED)
  549. *
  550. * PRIORITY *MUST* BE IN OCTAL (1B-72B)
  551. *
  552. * USES X - 0, 1, 2, 6.
  553. * A - 1
  554. * B - NONE.
  555. *
  556.  
  557.  
  558. ENTRY GETPR
  559.  
  560. GETPR PS ENTRY / EXIT
  561.  
  562. SA1 ARGR GET 1ST ARGUMENT
  563. ZR X1,GETPR NO ARGUMENT PASSED, USE DEFAULT
  564.  
  565. MX0 42 SET MASK FOR CPU PRIORITY
  566. BX1 X0*X1 MASK OFF MISC PARAM CHARS
  567. LX1 12 SHIFT PARAM RIGHT JUST
  568. MX0 48 SEE IF PARAM > 2 CHARS
  569. BX6 X0*X1 MASK
  570. NZ X6,GETPR IF SO, USE DEFAULT
  571.  
  572. MX0 -6
  573. BX6 -X0*X1 MASK FIRST DIGIT
  574. SX2 X6-33B SEE IF < 0
  575. NG X2,GETPR IF SO, USE DEFAULT
  576. SX6 X6-42B-1 SEE IF > 7
  577. ZR X6,GETPR IF NEXT CHAR = 8, DEFAULT
  578. PL X6,GETPR IF > 7, USE DEFAULT
  579. LX1 60-6 RIGHT SHIFT *ARGR* 1 CHAR
  580. BX6 -X0*X1 GET NEXT CHARACTER
  581. ZR X6,SAVEPR IF ONLY 1 DIGIT, SAVE IT
  582. SX1 X6-55B IF A SPACE, SAVE IT
  583. ZR X1,SAVEPR
  584. SX1 X6-33B SEE IF DIGIT < 0
  585. NG X1,GETPR IF < 0, USE DEFAULT PR
  586. SX6 X6-42B-1 SEE IF DIGIT > 7
  587. ZR X6,GETPR IF NEXT CHAR = 8, DEFAULT
  588. PL X6,GETPR IF > 7, USE DEFAULT
  589. LX1 3 MULTIPLY BY 10B
  590. IX2 X2+X1 ADD TO FIRST DIGIT
  591.  
  592. SAVEPR ZR X2,GETPR IF PR < 1, USE DEFAULT
  593. SA1 KPRI GET DEFAULT PR
  594. IX0 X2-X1 COMPARE
  595. PL X0,GETPR IF PR > DEFAULT, USE DEFAULT
  596. BX6 X2 SAVE NEW PRIORITY
  597. SA6 KPRI
  598.  
  599. EQ GETPR
  600.  
  601. * /--- BLOCK END 00 000 78/11/08 10.21
  602. *
  603. KCONDEN DATA 6LCONDEN
  604. KPRI DATA 72B DEFAULT CPU PRIORITY
  605. IZER BSSZ 2
  606. MIZERO DATA -0
  607. PTRS DATA 0 CONDENSOR ECS POINTERS ADDRESS
  608. ENGLISH DATA 8LENGLISH
  609. BSSZ CLANGS MUST IMMEDIATELY FOLLOW ENGLISH
  610. STRTMSG DATA 10HCS
  611. BSSZ 2
  612. OVLFLAG DATA 0
  613. *
  614.  
  615. SWK1 BSSZ MS.RDIM
  616. *
  617. NOFREE DIS 0,* NO FREE COMMUNICATION AREA.*
  618. ZERO DATA 0 ZERO WORD TO WRITE TO ECS
  619.  
  620. CFL$ EQU 0 *MASRQ* MUST BE DEFINED
  621. *CALL PLACCFL
  622.  
  623. * SETUP SYSTEM INTERFACES TO USE INTERFACE IN
  624. * IDENT *CSYS* ONLY.
  625.  
  626. EXT S=SYS
  627. SYS= EQU S=SYS
  628. EXT S=WNB
  629. WNB= EQU S=WNB
  630. EXT S=RCL
  631. RCL= EQU S=RCL
  632. EXT S=MSGX
  633. MSG= EQU S=MSGX
  634. *
  635. END
plato/source/plaopl/condi.txt ยท Last modified: 2023/08/05 18:54 by Site Administrator