Table of Contents

XHC

Table Of Contents

  • [00005] XHC - HOSTCOPY DRIVER FOR 5870/5970 NIP.
  • [00022] CNTB - CONTROL BLOCK.
  • [00073] ASSEMBLY CONSTANTS.
  • [00123] MAIN PROGRAM.
  • [00124] MAIN PROGRAM.
  • [00143] TERMINATION PROCESSORS.
  • [00145] TRM - TERMINATION PROCESSOR.
  • [00162] ABT - ABORT JOB.
  • [00174] ERR - ERROR PROCESSOR.
  • [00176] ERR - ERROR PROCESSOR.
  • [00227] TDFP - TABLE OF PROCESSORS AND MESSAGES.
  • [00252] XDR - TRANSFER DATA RECORD.
  • [00254] XDR - TRANSFER DATA RECORD.
  • [00292] SUBROUTINES.
  • [00294] CAD - COMPUTE ABSOLUTE ADDRESS.
  • [00332] CRQ - COMPLETE REQUEST.
  • [00362] DEQ - DROP EQUIPMENT.
  • [00387] FCN - ISSUE FUNCTION TO EQUIPMENT.
  • [00414] RCB - READ CONTROL BLOCK.
  • [00469] XHC PRESET.
  • [00471] PRS - XHC PRESET.
  • [00596] MCI - MODIFY CHANNEL INSTRUCTIONS.
  • [00616] TCHS - CHANNEL TABLE.

Source Code

XHC.txt
  1. IDENT XHC,XHC
  2. PERIPH
  3. BASE MIXED
  4. SST
  5. TITLE XHC - HOSTCOPY DRIVER FOR 5870/5970 NIP.
  6. *COMMENT XHC - HOSTCOPY DRIVER FOR 5870/5970 NIP.
  7. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  8. XHC SPACE 4,10
  9. *** XHC TRANSFERS DATA TO THE HOSTCOPY UTILITY
  10. * RESIDING ON A NIP PRINTER. 128 8-BIT BYTES OR 80
  11. * 8-BIT BYTES ARE TRANSFERED AT A TIME.
  12. *
  13. * L. M. BURGHER 84/09/22.
  14. * S. V. PRESTON 84/09/22.
  15. SPACE 4,10
  16. *** CALL.
  17. *
  18. *T 18/ *XHC*, 24/, 18/ CNTB
  19. *
  20. * CNTB ADDRESS OF CONTROL BLOCK *CNTB*.
  21. SPACE 4,10
  22. ** CNTB - CONTROL BLOCK.
  23. *
  24. * COMMUNICATION BETWEEN XHC AND THE CALLING CP PROGRAM
  25. * OCCURS IN *CNTB*.
  26. *
  27. *T CNTC 3/ ,9/ EQ ,11/ ,1/ T,11/ ,1/ I,11/ ,1/C
  28. *T DRPC 42/ , 18/ DRP
  29. *
  30. * EQ = EQUIPMENT NUMBER.
  31. * T = (1), TERMINATE XHC.
  32. * I = (1), CARD IMAGE.
  33. * C = (1), REQUEST COMPLETE.
  34. * DRP = DATA RECORD ADDRESS.
  35. SPACE 4,10
  36. *** DAYFILE AND ERRLOG MESSAGES.
  37. *
  38. * *EQXXX CHYY ADDDD INCOMPLETE TRANSFER.* =
  39. * AN INCOMPLETE DATA TRANSFER WAS DETECTED.
  40. *
  41. * *EQXXX CHYY GSSSS COUPLER STATUS.* =
  42. * CCC COUPLER STATUS.
  43. *
  44. * *EQXXX CHYY CONTROLWARE NOT LOADED.*=
  45. * CCC CONTROLWARE NOT SUCCESSFULLY LOADED.
  46. *
  47. * *EQXXX CHYY RESERVED.* = EQUIPMENT FOUND RESERVED.
  48. *
  49. * *EQXXX INCORRECT EQUIPMENT TYPE.* =
  50. * EQUIPMENT REQUESTED WAS NOT OF TYPE *LX* OR *LY*.
  51. *
  52. * *EQXXX INCORRECT EQUIPMENT NUMBER.* =
  53. * EQUIPMENT NUMBER NOT IN EST.
  54. *
  55. * *EQXXX NOT AVAILABLE.* = EQUIPMENT REQUESTED IS DOWN AND OFF.
  56. *
  57. * *TABLE NOT IN FL.* = HSTCOPY TABLE POINTER IS OUTSIDE FL.
  58. *
  59. * *INCORRECT JOB ORIGIN.* = CALLING PROGRAM IS NOT SYSTEM ORIGIN
  60. *
  61. * WHERE -
  62. * EQ = EQUIPMENT TYPE (LX, LY).
  63. * XXX = EST ORDINAL.
  64. * YY = CHANNEL.
  65. * DDDD = NUMBER OF BYTES REMAINING.
  66. * SSSS = COUPLER STATUS.
  67. SPACE 4,10
  68. ** COMMON DECKS.
  69.  
  70.  
  71. *CALL COMPCHI
  72. *CALL COMPMAC
  73. TITLE ASSEMBLY CONSTANTS.
  74. SPACE 4,10
  75. **** DIRECT CELL ASSIGNMENTS.
  76.  
  77.  
  78. BC EQU 25 BYTE COUNT
  79. EQ EQU 27 EQUIPMENT NUMBER
  80. ES EQU 30 - 34 EST ENTRY
  81. FC EQU 35 FUNCTION CODE
  82. T8 EQU 36 TEMPORARY
  83. TM EQU 45 TERMINATE REQUEST FLAG
  84. SPACE 4,10
  85. ** CONTROL BLOCK DEFINITIONS.
  86.  
  87. CNTC EQU 0 CONTROL BLOCK WORD
  88. DRPC EQU 1 DATA RECORD POINTER
  89.  
  90. CNTBL EQU 2 CONTROL BLOCK LENGTH
  91. SPACE 4,10
  92. ** DAYFILE MESSAGE CODES.
  93.  
  94.  
  95. LOC 0
  96. EITM BSS 1 *EQXXX CHYY ADDDD INCOMPLETE TRANSFER.*
  97. EGSM BSS 1 *EQXXX CHYY GSSSS COUPLER STATUS.*
  98. ENLM BSS 1 *EQXXX CHYY CCC CONTROLWARE NOT LOADED.*
  99. ERSM BSS 1 *EQXXX CHYY RESERVED.*
  100. ETYM BSS 1 *EQXXX INCORRECT EQUIPMENT TYPE.*
  101. ENMM BSS 1 *EQXXX INCORRECT EQUIPMENT NUMBER.*
  102. ENAM BSS 1 *EQXXX NOT AVAILABLE.*
  103. EFLM BSS 1 *TABLE NOT IN FL.*
  104. EJOM BSS 1 *INCORRECT JOB ORIGIN.*
  105. LOC *O
  106. SPACE 4,10
  107. ** CCC FUNCTION DEFINITIONS.
  108.  
  109.  
  110. FSUF EQU 0 SELECT UNIT
  111. FGSF EQU 12 GENERAL STATUS
  112. FTDF EQU 20 TRANSPARENT DATA TRANSFER
  113. SPACE 4,10
  114. ** MISCELLANEOUS CONSTANTS.
  115.  
  116.  
  117. BFCL EQU 128D*8D/60D+1 BUFF LENGTH IN CM WORDS
  118. BINL EQU 128D*8D/12D+1 BINARY BUFFER LENGTH
  119. CRDL EQU 80D*8D/12D+1 CARD IMAGE BUFFER LENGTH
  120. CH EQU 12 CHANNEL NUMBER
  121. NILP EQU 377777 NIL POINTER
  122. ****
  123. TITLE MAIN PROGRAM.
  124. ** XHC - MAIN PROGRAM.
  125.  
  126.  
  127. ORG PPFW
  128.  
  129.  
  130. XHC RJM PRS PRESET *XHC*
  131. XHC1 RJM RCB READ CONTROL BLOCK
  132. ZJN XHC2 IF NO DATA TO TRANSFER
  133. CRM BUFF,T2 READ DATA RECORD
  134. RJM XDR TRANSFER DATA RECORD
  135. UJN XHC3 CHECK FOR MOVE REQUEST
  136.  
  137. XHC2 LDD TM
  138. NJN TRM IF REQUEST TO TERMINATE
  139. XHC3 PAUSE PAUSE FOR STORAGE MOVE
  140. LDD CM+1
  141. ZJN XHC1 IF NO CONTROL POINT ERROR
  142. UJN TRM1 ERROR EXIT
  143. TITLE TERMINATION PROCESSORS.
  144. TRM SPACE 4,10
  145. ** TRM - TERMINATION PROCESSOR.
  146. *
  147. * EXIT TO *PPR*.
  148. *
  149. * CALLS CRQ, DEQ.
  150. *
  151. * MACROS MONITOR.
  152.  
  153.  
  154. TRM RJM CRQ COMPLETE REQUEST
  155.  
  156. * TRM1 IS A SECONDARY ENTRY POINT FOR TRM.
  157.  
  158. TRM1 RJM DEQ DROP EQUIPMENT
  159. MONITOR DPPM DROP PP
  160. LJM PPR EXIT TO PP RESIDENT
  161. ABT SPACE 4,10
  162. ** ABT - ABORT JOB.
  163. *
  164. * EXIT TO *PPR*.
  165. *
  166. * CALLS DEQ.
  167. *
  168. * MACROS MONITOR.
  169.  
  170.  
  171. ABT RJM DEQ DROP EQUIPMENT
  172. MONITOR ABTM ABORT JOB
  173. LJM PPR EXIT TO PP RESIDENT
  174. TITLE ERR - ERROR PROCESSOR.
  175. ERR SPACE 4,10
  176. ** ERR - ERROR PROCESSOR.
  177. *
  178. * ENTRY (A) = MESSAGE CODE.
  179. * (FC) = STATUS/BYTES REMAINING.
  180. * (ES - ES+4) = EST ENTRY.
  181. *
  182. * USES T1, T2, T5.
  183. *
  184. * CALLS C2D, DFM.
  185.  
  186.  
  187. ERR SUBR ENTRY/EXIT
  188. SHN 1 GET TABLE ADDRESS
  189. STD T1
  190. LDM TDFP+1,T1 SET MESSAGE ADDRESS
  191. STD T5
  192. LDM TDFP,T1 SET PROCESSING ADDRESS
  193. STD T2
  194. LJM 0,T2 FORMAT ERROR MESSAGE
  195.  
  196. ERR3 LDD FC CONVERT STATUS / BYTE COUNT REMAINING
  197. SHN -6
  198. RJM C2D
  199. STM 6,T5
  200. LDD FC
  201. RJM C2D
  202. STM 7,T5
  203.  
  204. ERR4 LDD ES+1 CONVERT CHANNEL NUMBER TO DISPLAY CODE
  205. RJM C2D
  206. STM 4,T5
  207. LDD ES+3 SET EQUIPMENT TYPE
  208. STI T5
  209.  
  210. ERR5 LDM CNTB+CNTC*5+0 CONVERT EQUIPMENT NUMBER
  211. SHN -3
  212. RJM C2D
  213. STM 1,T5
  214. LDM CNTB+CNTC*5+0
  215. RJM C2D
  216. SHN 6
  217. LMN 1R
  218. STM 2,T5
  219.  
  220. ERR6 LDD T5 SEND MESSAGE TO DAYFILE
  221. RJM DFM
  222. LDC ERLN SEND MESSAGE TO ERROR LOG
  223. LMD T5
  224. RJM DFM
  225. LJM ERRX RETURN
  226. SPACE 4,10
  227. ** TDFP - TABLE OF PROCESSORS AND MESSAGES.
  228. *
  229. * *TDFP* IS INDEXED WITH DAYFILE MESSAGE CODES.
  230. *
  231. * ENTRY - 2 WORDS.
  232. *
  233. * INDEXED BY (MESSAGE CODE * 2).
  234.  
  235.  
  236. TDFP EQU *
  237. LOC 0
  238. CON ERR3,=C*EQXXX CHYY ADDDD INCOMPLETE TRANSFER.*
  239. CON ERR3,=C*EQXXX CHYY GSSSS ADAPTER STATUS.*
  240. CON ERR4,=C*EQXXX CHYY CCC CONTROLWARE NOT LOADED.*
  241. CON ERR4,=C*EQXXX CHYY RESERVED.*
  242. CON ERR5,=C*EQXXX INCORRECT EQUIPMENT TYPE.*
  243. CON ERR5,=C*EQXXX INCORRECT EQUIPMENT NUMBER.*
  244. CON ERR5,=C*EQXXX NOT AVAILABLE.*
  245. CON ERR6,=C*TABLE NOT IN FL.*
  246. CON ERR6,=C*INCORRECT JOB ORIGIN.*
  247. LOC *O
  248. TDFPL EQU *-TDFP
  249.  
  250.  
  251. USE LITERALS
  252. TITLE XDR - TRANSFER DATA RECORD.
  253. XDR SPACE 4,10
  254. ** XDR - TRANSFER DATA RECORD.
  255. *
  256. * ENTRY (BC) = BYTE COUNT.
  257. * (BUFF) = DATA BUFFER.
  258. *
  259. * ERROR TO *TRM1*, IF CONTROL POINT ERROR.
  260. *
  261. * TO *ABT*, IF INCOMPLETE DATA TRANSFER OR
  262. * BAD ADAPTER STATUS.
  263. *
  264. * USES FC.
  265. *
  266. * CALLS CRQ, ERR, FCN.
  267.  
  268.  
  269. XDR3 RJM CRQ COMPLETE REQUEST
  270.  
  271. XDR SUBR ENTRY/EXIT
  272. LDN FTDF ISSUE TRANSPARENT DATA TRANSFER FUNCTION
  273. RJM FCN
  274. LDD BC BYTE COUNT
  275. OAM BUFF,CH OUTPUT BUFFER
  276. ZJN XDR1 IF TRANSFER COMPLETE
  277. STD FC REMAINING BYTE COUNT
  278. LDN EITM *EQXXX CHYY INCOMPLETE TRANSFER.*
  279. UJN XDR2 REPORT ERROR
  280.  
  281. XDR1 FJM *,CH IF XFER INCOMPLETE
  282. DCN CH+40
  283. LDN FGSF ISSUE GENERAL STATUS FUNCTION
  284. RJM FCN
  285. IAN CH
  286. ZJN XDR3 IF STATUS OK
  287. STD FC SAVE STATUS
  288. LDN EGSM *EQXXX CHYY GSSSS ADAPTER STATUS.*
  289. XDR2 RJM ERR PROCESS ERROR
  290. LJM ABT ABORT JOB
  291.  
  292. TITLE SUBROUTINES.
  293. CAD SPACE 4,15
  294. ** CAD - COMPUTE ABSOLUTE ADDRESS.
  295. *
  296. * ENTRY (A) = WORD COUNT.
  297. * (T1) = INDIRECT ADDRESS OF ADDRESS.
  298. * ((T1)) - ((T1)+1) = ADDRESS.
  299. *
  300. * EXIT (A) = ABSOLUTE ADDRESS.
  301. * (T2) = WORD COUNT.
  302. *
  303. * ERROR TO *ERR*, IF TABLE NOT IN FL.
  304. *
  305. * USES T2.
  306. *
  307. * CALLS ERR.
  308.  
  309.  
  310. CAD2 LDI T1 LOAD ABSOLUTE ADDRESS
  311. LPN 77
  312. SHN 6
  313. ADD RA
  314. SHN 6
  315. ADM 1,T1
  316.  
  317. CAD SUBR ENTRY/EXIT
  318. STD T2 SAVE WORD COUNT
  319. LDI T1
  320. LPN 77
  321. SHN 14
  322. MJN CAD1 IF OUT OF RANGE
  323. LMM 1,T1
  324. ADD T2
  325. SHN -6
  326. SBD FL
  327. MJN CAD2 IF < FL - WORD COUNT
  328. CAD1 LDN EFLM *TABLE NOT IN FL.*
  329. RJM ERR PROCESS ERROR
  330. LJM ABT ERROR EXIT
  331. CRQ SPACE 4,15
  332. ** CRQ - COMPLETE REQUEST.
  333. *
  334. * ENTRY (IR+3) - (IR+4) = CNTB ADDRESS.
  335. *
  336. * EXIT CNTB UPDATED IN CM.
  337. *
  338. * USES T1, CM - CM+4.
  339. *
  340. * CALLS CAD.
  341. *
  342. * MACROS MONITOR.
  343.  
  344.  
  345. CRQ SUBR ENTRY/EXIT
  346. AOM CNTB+CNTC*5+4 SET REQUEST BIT
  347. LDN IR+3 CONTROL BLOCK ADDRESS
  348. STD T1
  349. LDN CNTBL CONTROL BLOCK LENGTH
  350. RJM CAD COMPUTE ABSOLUTE ADDRESS
  351. CWM CNTB,ON UPDATE CONTROL WORD
  352. LDD CP
  353. ADN STSW FETCH CONTROL POINT STATUS WORD
  354. CRD CM
  355. LDD CM CHECK CPU STATE
  356. SHN -11
  357. LMN 6
  358. NJN CRQX IF NOT IN *I* STATUS
  359. MONITOR RCPM
  360. UJN CRQX RETURN
  361. DEQ SPACE 4,10
  362. ** DEQ - DROP EQUIPMENT.
  363. *
  364. * ENTRY (EQ) = 0, IF NO EQUIPMENT ASSIGNED.
  365. * (EQ) = EQUIPMENT NUMBER.
  366. * (ES - ES+4) = EST ENTRY.
  367. *
  368. * EXIT (EQ) = 0.
  369. *
  370. * USES CM - CM+4.
  371. *
  372. * MACROS DCHAN, MONITOR.
  373.  
  374.  
  375. DEQ SUBR ENTRY/EXIT
  376. LDD EQ
  377. ZJN DEQX IF NO EQUIPMENT ASSIGNED.
  378. LDD ES+1 DROP CHANNEL
  379. DCHAN
  380. LDD EQ DROP EQUIPMENT
  381. STD CM+1
  382. MONITOR DEQM
  383. * LDN 0 INDICATE EQUIPMENT RELEASED
  384. STD EQ
  385. UJN DEQX RETURN
  386. FCN SPACE 4,15
  387. ** FCN - ISSUE FUNCTION TO EQUIPMENT.
  388. *
  389. * ENTRY (A) = FUNCTION CODE.
  390. *
  391. * EXIT CHANNEL ACTIVE.
  392. *
  393. * ERROR TO *TRM1*, IF CONTROL POINT ERROR.
  394. *
  395. * USES FC.
  396. *
  397. * MACROS PAUSE.
  398.  
  399.  
  400. FCN2 ACN CH ACTIVATE CHANNEL
  401.  
  402. FCN SUBR ENTRY/EXIT
  403. STD FC SAVE FUNCTION CODE
  404. FAN CH ISSUE FUNCTION
  405. FCN1 IJM FCN2,CH IF FUNCTION ACCEPTED
  406. SBN 1
  407. NJN FCN1 IF NOT TIMED OUT
  408. PAUSE PAUSE FOR STORAGE MOVE
  409. LDD CM+1
  410. ZJN FCN1 IF NO CONTROL POINT ERROR
  411. DCN CH+40
  412. LJM TRM1 ERROR EXIT
  413. RCB SPACE 4,15
  414. ** RCB - READ CONTROL BLOCK.
  415. *
  416. * ENTRY (IR+3) - (IR+4) = CNTB ADDRESS.
  417. *
  418. * EXIT (A) = 0, IF NO DATA TO TRANSFER.
  419. * (A) = DATA RECORD ADDRESS.
  420. * (T2) = *BFCL*, IF (A) = DATA RECORD ADDRESS.
  421. * (CNTB) UPDATED, IF (A) = DATA RECORD ADDRESS.
  422. * (TM) <> 0, IF REQUEST TO TERMINATE.
  423. *
  424. * USES T1.
  425. *
  426. * CALLS CAD.
  427.  
  428.  
  429. RCB1 AOD TM SET *TERMINATE REQUEST*
  430. RCB2 LDN 0 INDICATE NO REQUEST
  431.  
  432. RCB SUBR ENTRY/EXIT
  433. LDN IR+3 CNTB ADDRESS
  434. STD T1
  435. LDN CNTBL CNTB LENGTH
  436. RJM CAD COMPUTE ABSOLUTE ADDRESS
  437. CRM CNTB,T2 READ CNTB
  438. LDM CNTB+CNTC*5+4 CHECK REQUEST BIT
  439. SHN 21-0
  440. MJN RCB2 IF NO REQUEST
  441. LDM CNTB+CNTC*5+1 CHECK TERMINATE REQUEST
  442. SHN 21-0
  443. MJN RCB1 IF NOT REQUEST TO TERMINATE
  444. LDM CNTB+DRPC*5+3 GET DATA RECORD POINTER
  445. SHN 14
  446. ADM CNTB+DRPC*5+4
  447. LMC NILP
  448. ZJN RCBX IF NIL
  449. LDC CNTB+DRPC*5+3 DATA RECORD ADDRESS
  450. STD T1
  451. LDN BFCL DATA RECORD LENGTH
  452. RJM CAD COMPUTE ABSOLUTE ADDRESS
  453. UJP RCBX RETURN
  454. SPACE 4,10
  455. ** COMMON DECKS.
  456.  
  457.  
  458. *CALL COMPC2D
  459. SPACE 4,10
  460. USE BUFFER
  461.  
  462.  
  463. BUFF EQU * DATA RECORD BUFFER
  464. BUFE EQU BUFF+BFCL*5 END OF DATA BUFFER
  465. CNTB EQU BFMS-CNTBL*5 CONTROL BLOCK
  466.  
  467. ERRNG CNTB-BUFE
  468. ERRNG CNTB-PRSE
  469. TITLE XHC PRESET.
  470. PRS SPACE 4,15
  471. ** PRS - XHC PRESET.
  472. *
  473. * ENTRY (IR+3 - IR+4) = CONTROL BLOCK ADDRESS.
  474. *
  475. * EXIT (BC) = CRDL, IF CARD IMAGE FILE.
  476. * (BC) = BINL, IF BINARY FILE.
  477. * (EQ) = EQUIPMENT NUMBER.
  478. * (ES - ES+4) = EST ENTRY.
  479. * CHANNEL INSTRUCTIONS MODIFIED.
  480. * EQUIPMENT AND CHANNEL RESERVED.
  481. * NIP UNIT SELECTED.
  482. *
  483. * ERROR TO *ABT*, IF INCORRECT JOB ORIGIN OR
  484. * EQUIPMENT PROBLEM.
  485. *
  486. * TO *TRM1*, IF CONTROL POINT ERROR.
  487. *
  488. * USES BC, CM - CM+4, EQ, ES - ES+4, FR, TM, T8.
  489. *
  490. * CALLS CRQ, ERR, FCN, GST, MCI, RCB.
  491. *
  492. * MACROS MONITOR, PAUSE, RCHAN.
  493.  
  494.  
  495. PRS SUBR ENTRY/EXIT
  496. LDN 0
  497. STD EQ EQUIPMENT NOT ASSIGNED
  498. STD TM TERMINATE NOT REQUESTED
  499. LDD CP CHECK FOR SYOT ORIGIN
  500. ADN JOTW
  501. CRD CM
  502. LDD CM+3
  503. * LMN SYOT
  504. ZJN PRS1 IF SYSTEM ORIGIN
  505. LDN EJOM *INCORRECT JOB ORIGIN.*
  506. UJN PRS4 PROCESS ERROR
  507.  
  508. PRS1 RJM RCB READ CONTROL BLOCK
  509. LDM CNTB+CNTC*5+3
  510. SHN 21-0
  511. MJN PRS2 IF CARD IMAGE FILE
  512. LDC BINL
  513. UJN PRS3
  514.  
  515. PRS2 LDN CRDL
  516. PRS3 STD BC
  517. LDN ESTP GET EST TABLE ADDRESS
  518. CRD CM
  519. LDM CNTB+CNTC*5+0 GET EQUIPMENT NUMBER
  520. LPC 777
  521. STD T8
  522. STD CM+1
  523. SBD CM+2
  524. MJN PRS5 IF ENTRY IN EST
  525. LDN ENMM *EQXXX CHYY INCORRECT EQUIPMENT NUMBER.*
  526. PRS4 RJM ERR PROCESS ERROR
  527. LJM ABT ABORT JOB
  528.  
  529. PRS5 SFA EST,CM+1
  530. ADK EQDE
  531. CRD ES READ EST ENTRY
  532. LDD ES+3 CHECK FOR NIP
  533. LMC 2RLX
  534. ZJN PRS6 IF 5870
  535. LMN 2RLY&2RLX
  536. ZJN PRS6 IF 5970
  537. LDN ETYM *EQXXX INCORRECT EQUIPMENT TYPE.*
  538. UJN PRS4 ERROR EXIT
  539.  
  540. PRS6 STD CM+2
  541. LDD ES CHECK STATUS OF EQUIPMENT
  542. SHN 21-5
  543. PJN PRS8 IF NOT DOWN AND OFF
  544. LDN ENAM *EQXXX NOT AVAILABLE.*
  545. PRS7 UJN PRS4 ERROR EXIT
  546.  
  547. PRS8 SHN 1
  548. PJN PRS9 IF CONTROLWARE LOADED
  549. LDN ENLM *EQXXX CHYY CONTROLWARE NOT LOADED.*
  550. UJN PRS7 PROCESS ERROR
  551.  
  552. PRS9 MONITOR REQM REQUEST EQUIPMENT
  553. LDD CM+1
  554. NJN PRS10 IF EQUIPMENT ASSIGNED
  555. LDN ERSM *EQXXX CHYY RESERVED.*
  556. UJN PRS7 PROCESS ERROR
  557.  
  558. PRS10 LDD T8 SET EQUIPMENT RESERVED
  559. STD EQ
  560. LDD ES+1 CLEAR UPPER BITS OF CHANNEL
  561. LPN 37
  562. STD ES+1
  563. RJM MCI MODIFY CHANNEL INSTRUCTIONS
  564. LDD ES+1
  565. RCHAN RESERVE CHANNEL
  566.  
  567. * CONNECT EQUIPMENT.
  568.  
  569. LDN FSUF SELECT UNIT
  570. RJM FCN
  571. LDD ES+4 OUTPUT UNIT NUMBER
  572. SHN 0-11
  573. OAN CH+40
  574. PRS11 EJM PRS12,CH IF CONNECT RESPONSE RECEIVED
  575. SBN 1
  576. NJN PRS11 IF NOT TIMED OUT
  577. PAUSE PAUSE FOR STORAGE MOVE
  578. LDD CM+1
  579. ZJN PRS11 IF NO CONTROL POINT ERROR
  580. DCN CH+40
  581. LJM TRM1 ERROR EXIT
  582.  
  583. PRS12 DCN CH+40
  584. LDN FGSF GET GENERAL STATUS
  585. RJM FCN
  586. IAN CH
  587. ZJN PRS13 IF GOOD STATUS
  588. STD FC
  589. LDN EGSM *EQXXX CHYY GSSSS ADAPTER STATUS.*
  590. RJM ERR PROCESS ERROR
  591. LJM ABT ABORT JOB
  592.  
  593. PRS13 RJM CRQ COMPLETE REQUEST
  594. LJM PRSX RETURN
  595. MCI SPACE 4,10
  596. ** MCI - MODIFY CHANNEL INSTRUCTIONS.
  597. *
  598. * (ES+1) = CHANNEL NUMBER.
  599. *
  600. * USES T1, T2.
  601.  
  602.  
  603. MCI SUBR ENTRY/EXIT
  604. LDC TCHS LOAD FWA OF CHANNEL TABLE ADDRESSES
  605. STD T1
  606. MCI1 LDI T1
  607. ZJN MCIX IF NO MORE INSTRUCTIONS TO MODIFY
  608. STD T2
  609. LDI T2
  610. SCN 37
  611. LMD ES+1
  612. STI T2
  613. AOD T1
  614. UJN MCI1 MODIFY NEXT INSTRUCTION
  615. SPACE 4,10
  616. ** TCHS - CHANNEL TABLE.
  617.  
  618.  
  619. TCHS CHTB
  620. SPACE 4,10
  621. PRSE EQU *
  622. OVERFLOW
  623.  
  624.  
  625. END