User Tools

Site Tools


cdc:nos2.source:opl871:crmtask

CRMTASK

Table Of Contents

  • [00011] TAF/CRM STATUS COMMAND AND DISPLAY TASK.
  • [00172] INITIALIZATION.
  • [00242] CVL - COMMAND VALIDATION.
  • [00323] CRS - CRMSTAT PROCESSOR.
  • [00430] DBD - DATA BASE DOWN.
  • [00491] DBU - DATA BASE UP.
  • [00555] DMU - DISPLAY MENU.
  • [00600] PBP - PAGE BACKWARD PROCESSOR.
  • [00621] PFP - PAGE FORWARD PROCESSOR.
  • [00645] SIC - PROCESS *CRMSIC* REQUEST.
  • [00702] CST - ISSUE *CRMSTAT* REQUEST.
  • [00758] FCD - FORMAT CRMSTAT DISPLAY.
  • [00935] FDD - FORMAT DATA BASE DISPLAY.
  • [01214] FFD - FORMAT FILE DISPLAY.
  • [01393] IBR - INCORRECT *BTRAN* REQUEST.
  • [01465] ITU - INSERT TERMINATOR AND UNPACK MESSAGE.
  • [01520] SEM - SET ERROR MESSAGE.
  • [01553] TPA - TERMINATION PROCESSOR FOR *K-DISPLAY* COMMAND.
  • [01605] TPB - TERMINATION PROCESSOR FOR TERMINAL DISPLAY.
  • [01700] TPD - TERMINATION PROCESSOR TASK CEASE.
  • [01720] TTE - TERMINATE TERMINAL IN ERROR.

Source Code

CRMTASK.txt
  1. IDENT CRMTASK
  2. ENTRY CRMTASK
  3. LCC OVERLAY(CRMTASK,0,0)
  4. SST BEGN,CMBL
  5. SYSCOM B1
  6. *COMMENT CRMTASK - TAF/CRM STATUS AND DISPLAY TASK.
  7. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  8. *IFCALL NAM,COMKTAF
  9. *NIFCALL NAM,COMKTRN
  10. SPACE 4,10
  11. *** CRMTASK - TAF/CRM STATUS COMMAND AND DISPLAY TASK.
  12. *
  13. * R. G. PARKHOUSE. 80/05/23.
  14. * A. SROKA. 80/07/25.
  15. * T. E. SCHULL. 84/11/02.
  16. SPACE 4,90
  17. *** *CRMTASK* PERFORMS FUNCTIONS FOR *TAF/CRM* AND FORMATS *CRM*
  18. * STATUS DISPLAYS FOR THE OPERATOR OR AN ANALYST.
  19. * *CRMTASK* IS INITIALLY SCHEDULED WHEN -
  20. *
  21. * 1) ONE OF THE FOLLOWING *K-DISPLAY* COMMANDS IS ENTERED.
  22. *
  23. * CRMSTAT. DISPLAY GENERAL *CRM* STATUS.
  24. * CRMSTAT,DB. DISPLAY STATUS OF DATA BASE.
  25. * CRMSTAT,DBPFNXX. DISPLAY STATUS OF DATA BASE FILE.
  26. * DBUP,DB. UP THE DATA BASE.
  27. * DBUP,DBPFNXX. UP THE DATA BASE FILE.
  28. * DBDOWN,DB. DOWN THE DATA BASE.
  29. * DBDOWN,DBPFNXX. DOWN THE DATA BASE FILE.
  30. * MENU. DISPLAY COMMAND REPERTOIRE.
  31. *
  32. * IF *CRMTASK* IS INVOKED FROM THE *K-DISPLAY* AND
  33. * NO COMMAND IS ENTERED, THEN THE MENU OF VALID
  34. * COMMANDS IS DISPLAYED.
  35. *
  36. * 2) *TAF* RECEIVES A *SIC* REQUEST FROM THE *CRM* BATCH
  37. * RECOVERY PROGRAM. *CRMTASK* FORMATS A PARAMETER BLOCK
  38. * AND ISSUES A *CRMSIC* REQUEST TO *AAMI*.
  39. *
  40. * 3) A TERMINAL OPERATOR INVOKES *CRMTASK* DIRECTLY OR VIA
  41. * *CALLTSK* REQUEST. IN EITHER CASE THE COMMUNICATION
  42. * BLOCK MUST BE FORMATTED EXACTLY THE SAME WAY - AS IF
  43. * THE MESSAGE CAME DIRECTLY FROM THE TERMINAL.
  44. *
  45. * TERMINAL OPERATOR CANNOT REQUEST ANY FUNCTIONS OTHER
  46. * THAN *CRMSTAT*, AND THAT IS RESTRICTED TO HIS/HER OWN
  47. * DATA BASE.
  48. * THE HOOKS HAVE BEEN LEFT IN THE CODE TO ENLARGE
  49. * THE TERMINAL OPERATOR-S COMMAND REPERTOIRE.
  50. *
  51. * VALID COMMANDS FROM THE TERMINAL ARE -
  52. *
  53. * CRMSTAT,DB.
  54. * CRMSTAT,DBPFN.
  55. *
  56. *
  57. * IF *CRMTASK* IS INITIATED FROM THE OPERATOR CONSOLE TO
  58. * PROCESS ANY ONE OF THE *CRMSTAT* REQUESTS, SUBSEQUENT
  59. * *K-DISPLAY* COMMANDS ARE PASSED TO *CRMTASK* RATHER THAN
  60. * BEING PROCESSED BY *TAF*. SIMILARLY, WHEN *CRMTASK* IS
  61. * INITIATED FROM A TERMINAL TO PROCESS ANY OF THE *CRMSTAT*
  62. * REQUESTS, THE DISPLAY IS SENT TO THE TERMINAL AND SUBSEQUENT
  63. * REQUESTS WILL BE ACCEPTED FROM THE TERMINAL. IN EITHER CASE,
  64. * ADDITIONAL VALID COMMANDS ARE -
  65. *
  66. * END. END DISPLAY AND CEASE.
  67. * +. DISPLAY NEXT SCREEN IF MORE.
  68. * -. DISPLAY FIRST SCREEN.
  69. *
  70. * IN CASE OF *SIC* REQUEST ERRORS, THE FOLLOWING MESSAGES,
  71. * ALONG WITH THE FIRST 4 WORDS OF MESSAGE IN THE COMMUNICA-
  72. * TION BLOCK, WILL BE WRITTEN IN *JOUR0* -
  73. *
  74. * CRMTASK- INCORRECT REQUEST.
  75. * CRMTASK- DATA BASE/FILE NAME UNKNOWN.
  76. * CRMTASK- INCORRECT TT SEQUENCE NUMBER.
  77. * CRMTASK- DATA BASE DOWNED BY OPERATOR.
  78. * CRMTASK- NOT ALL DATA BASE FILES UPPED.
  79. * CRMTASK- DATA BASE/FILE CANNOT BE UPPED.
  80. * CRMTASK- DATA BASE/FILE BEING IDLED.
  81. * CRMTASK- INCORRECT REQUEST FORMAT.
  82. *
  83. * THE FOLLOWING INFORMATIVE OR ERROR MESSAGES WILL APPEAR
  84. * ON A *K-DISPLAY* AS A RESULT OF OPERATOR COMMANDS -
  85. *
  86. * DATA BASE/FILE NAME UNKNOWN.
  87. * DATA BASE/FILE CANNOT BE UPPED.
  88. * DATA BASE/FILE ALREADY DOWN OR IDLE.
  89. * INCORRECT PAGING COMMAND.
  90. * INSUFFICIENT FIELD LENGTH FOR THIS COMMAND.
  91. * INCORRECT COMMAND.
  92. * NOT ALL DATA BASE FILES UPPED.
  93. * REQUEST COMPLETE.
  94. *
  95. * THE TERMINAL WILL ALSO RECEIVE ALL OF THE ABOVE MESSAGES
  96. * AND, IN ADDITION MAY RECEIVE THE FOLLOWING -
  97. *
  98. * ENTER NEXT COMMAND...
  99. * CRMTASK TIMEOUT.
  100. * CRMTASK COMPLETE.
  101. *
  102. SPACE 4,10
  103. *** COMMON DECKS.
  104.  
  105.  
  106. BEGN BSS 0
  107. *CALL COMCMAC
  108. *CALL COMCDCM
  109. *CALL COMCDCP
  110. *CALL COMKIPR
  111. *CALL COMKMAC
  112. *CALL COMKFLD
  113. *CALL COMKTDM
  114. *CALL COMKCRM
  115. *CALL COMKCBD
  116. *CALL COMKTER
  117. ORG BEGN
  118. SPACE 4,10
  119. **** ASSEMBLY CONSTANTS.
  120.  
  121.  
  122. CMAXNF EQU 100D MAXIMUM NUMBER OF DISPLAYABLE DBPFNS
  123. KFNL EQU 20 NUMBER OF LINES BEFORE *MORE* LINE
  124. ****
  125. CMB SPACE 4,10
  126. * COMMUNICATION BLOCK.
  127.  
  128. CMBK BSS CMBL
  129. VFD 60/0L. MESSAGE TERMINATOR
  130. SPACE 4,10
  131. * GLOBAL VARIABLES.
  132.  
  133. DBNM CON 0 DATA BASE NAME
  134. ORIG CON 0 TASK ORIGIN (0=TAF, 1=TERMINAL)
  135. MORE DATA 10HMORE
  136. PAGE CON DMU PROCESSOR RE-ENTRY ADDRESS
  137. FPAG CON DMU PROCESSOR ENTRY ADDRESS
  138. NPAG CON 0 BUFFER ADDRESS FOR NEXT PAGE OF DATA
  139. BLNK DATA 10H
  140. CWKD CON KDE *K-DISPLAY* CONTROL WORD
  141. EAKD CON KDEA *K-DISPLAY* ERROR MESSAGE ADDRESS
  142. IAKD CON 0 *K-DISPLAY* INPUT MESSAGE ADDRESS
  143. DSTP CON 0 *K-DISPLAY* (0=FORMATTED , 1=-C- FORMAT)
  144. RFRS CON 0 REFRESH *K-DISPLAY* SWITCH
  145. CPAR CON 0 *CRMSTAT* PARAMETER FOR SCREEN REFRESH
  146. IOLN CON 377777B SYSTEM REQUEST CALL LIMIT
  147. TILN CON 7777B TASK TIME LIMIT
  148. PADR BSSZ 5 PARAMETER BLOCK FOR *AAMI* REQUEST
  149.  
  150. * *AAMI* CALLING SEUQUENCE FOR *CRMSTAT*.
  151.  
  152. CSQ1 CON PADR
  153. CON PADR+1
  154. CON 0
  155. CON PADR+2
  156. CON 0
  157.  
  158. * *AAMI* CALLING SEQUENCE FOR *DBUP* AND *DBDOWN*.
  159.  
  160. CSQ2 CON PADR
  161. CON PADR+1
  162. CON 0
  163.  
  164. * *AAMI* CALLING SEQUENCE FOR *CRMSIC*.
  165.  
  166. CSQ3 CON PADR
  167. CON PADR+1
  168. CON PADR+2
  169. CON PADR+3
  170. CON 0
  171. CRMTASK SPACE 4,25
  172. ** CRMTASK - INITIALIZATION.
  173. *
  174. * THIS SUBROUTINE DETERMINES THE TRANSACTION ORIGIN.
  175. * THEN, IF *SIC* COMMAND PROCESSING, IT VALIDATES THE
  176. * COMMAND AND JUMPS TO THE *SIC* PROCESSOR. IF COM-
  177. * MAND ORIGINATES FROM A TERMINAL, THE PARAMETERS ARE
  178. * UNPACKED INTO RA+2 AND THEN MOVED BACK TO *TMSW*.
  179. *
  180. * ENTRY COMMUNICATION BLOCK LOADED.
  181. *
  182. * EXIT TO *CVL*, IF *TAF* OR TERMINAL ORIGIN.
  183. * (B3) = FWA OF VALID COMMAND TABLE.
  184. *
  185. * ERROR TO *IBR*, IF INCORRECT *SIC* COMMAND.
  186. * (X3) = ERROR CODE.
  187. * TO *TTE*, IF INCORRECT TERMINAL COMMAND.
  188. * (B2) = ERROR CODE.
  189. *
  190. * USES X - 0, 1, 2, 3, 5, 6, 7.
  191. * A - 1, 2, 5, 6, 7.
  192. * B - 1, 3.
  193. *
  194. * CALLS ITU, PRK.
  195. *
  196. * MACROS IIO, ITL.
  197.  
  198.  
  199.  
  200. CRMTASK BSS 0 ENTRY
  201. SB1 1
  202. IIO IOLN INCREASE TASK-S SYSTEM REQUEST CALL LIMIT
  203. ITL TILN INCREASE TASK-S TIME LIMIT
  204. SX3 KBLG
  205. RJ PRK PRESET *K-DISPLAY* BUFFER
  206. SA1 TRSQ
  207. MX0 12
  208. BX6 X0*X1 EXTRACT DATA BASE FROM C.B.
  209. SA6 DBNM
  210. SX6 B0+
  211. SA1 CBSYW
  212. LX1 59-CBSYS
  213. NG X1,CRM1 IF SYSTEM ORIGIN TASK
  214. SX6 B1 TERMINAL ORIGIN
  215. MX0 36
  216. SA1 TMSW
  217. SA2 CRMA
  218. SX3 IER0 IN CASE ATTEMPTED *SIC* REQUEST
  219. BX1 X1-X2
  220. ZR X1,IBR IF *SIC* FROM TERMINAL
  221. CRM1 SA6 ORIG SAVE TASK ORIGIN
  222. SX7 KDEB+1 *K-DISPLAY* INPUT LINE
  223. SA7 IAKD
  224. SB3 CVLA FWA OF COMMAND TABLE
  225. ZR X6,CVL IF *TAF* ORIGIN
  226. RJ ITU INSERT TERMINATOR AND UNPACK MESSAGE
  227. SA1 2
  228. SA2 A1+1
  229. SA5 CRMB
  230. BX6 X1
  231. BX5 X5-X1
  232. NZ X5,TTE IF REQUEST OTHER THAN *CRMSTAT*
  233. SA6 TMSW
  234. BX7 X2
  235. SB3 CVLA FWA OF COMMAND TABLE
  236. SA7 A6+B1
  237. EQ CVL SEARCH FOR THE PROCESSOR
  238.  
  239. CRMA DATA 0LCRMSIC
  240. CRMB DATA 0LCRMSTAT
  241. CVL SPACE 4,25
  242. ** CVL - COMMAND VALIDATION.
  243. *
  244. * CVL VALIDATES THE COMMAND AND JUMPS TO THE RELEVANT COMMAND
  245. * PROCESSOR.
  246. *
  247. * ENTRY (B3) = FWA OF VALID COMMAND TABLE.
  248. * (IAKD) = *K-DISPLAY* INPUT MESSAGE ADDRESS.
  249. * FIRST WORD OF DATA AREA OF COMMUNICATION BLOCK HAS THE
  250. * COMMAND.
  251. *
  252. * EXIT TO RELEVANT COMMAND PROCESSOR.
  253. *
  254. * ERROR TO *TPA* (*TAF* ORIGIN).
  255. * TO *TTE* (TERMINAL ORIGIN).
  256. * (B2) = ERROR CODE.
  257. *
  258. * USES X - 0, 1, 2, 3, 4, 7.
  259. * A - 1, 2, 3, 7.
  260. * B - 2, 3.
  261. *
  262. * CALLS SEM.
  263. *
  264. * MACROS MOVE.
  265.  
  266.  
  267. CVL BSS 0 ENTRY
  268. MOVE KBLCL,KBLC,KDBD BLANK ERROR MESSAGE LINES
  269. MOVE KBLCL,KBLC,KDCM
  270. MOVE KBLFL,KBLF,KDAF
  271. MOVE KBLFL,KBLF,KDEA
  272. SA1 TRSQ
  273. SA2 TMSW+1 PARAMETER
  274. MX0 12
  275. BX4 X1-X2
  276. SA3 ORIG
  277. BX4 X0*X4
  278. MX0 42
  279. SX7 B0+
  280. SA1 TMSW
  281. SA7 RFRS RESET SCREEN REFRESH SWITCH
  282. ZR X3,CVL1 IF *TAF* ORIGIN
  283. ZR X2,CVL1 IF NO PARAMETER
  284. NZ X4,CVL2 IF NOT TERMINAL OWN DATA BASE
  285. CVL1 SA2 B3 NEXT COMMAND FROM LIST
  286. ZR X2,CVL2 IF END OF LIST
  287. SB3 B3+B1
  288. BX3 X0*X2
  289. BX3 X3-X1
  290. NZ X3,CVL1 IF NO MATCH
  291. SB3 X2+ COMMAND PROCESSOR ADDRESS
  292. JP B3 PROCESS COMMAND
  293.  
  294. CVL2 SA3 ORIG ORIGIN
  295. SB2 ER5 *INCORRECT COMMAND.*
  296. NZ X3,TTE IF TERMINAL ORIGIN
  297. RJ SEM SET ERROR MESSAGE
  298. EQ TPA DISPLAY ERROR MESSAGE
  299.  
  300.  
  301. * VALID COMMAND TABLE FIRST TIME THROUGH.
  302.  
  303. CVLA BSS 0
  304. VFD 42/0,18/DMU
  305. VFD 42/0LMENU,18/DMU
  306. VFD 42/0LCRMSTAT,18/CRS
  307. VFD 42/0LDBUP,18/DBU
  308. VFD 42/0LDBDOWN,18/DBD
  309. VFD 42/0LCRMSIC,18/SIC
  310. CON 0 TABLE TERMINATOR
  311.  
  312. * VALID COMMAND TABLE WHILE RUNNING.
  313.  
  314. CVLB VFD 42/0LCRMSTAT,18/CRS
  315. VFD 42/0LDBUP,18/DBU
  316. VFD 42/0LDBDOWN,18/DBD
  317. VFD 42/0LMENU,18/DMU
  318. VFD 42/0LEND,18/TPD
  319. VFD 42/1C+,18/PFP
  320. VFD 42/1C-,18/PBP
  321. CON 0 TABLE TERMINATOR
  322. CRS SPACE 4,25
  323. ** CRS - CRMSTAT PROCESSOR.
  324. *
  325. * CRS VALIDATES THE PARAMETER AND IF VALID ISSUES A *CRMSTAT*
  326. * REQUEST TO *AAMI* TO GET STATUS INFORMATION.
  327. *
  328. * ENTRY SECOND WORD OF DATA AREA OF COMMUNICATION BLOCK
  329. * CONTAINS THE PARAMETER.
  330. *
  331. * EXIT TO *FCD* IF CRM STATUS REQUEST.
  332. * TO *FDD* IF DATA BASE STATUS REQUEST.
  333. * TO *FFD* IF FILE STATUS REQUEST.
  334. *
  335. * ERROR TO *TPA*. (TAF ORIGIN).
  336. * (X1) = ADDRESS OF K-DISPLAY CONTROL WORD.
  337. * TO *TTE*. (TERMINAL ORIGIN).
  338. * (B2) = ERROR CODE.
  339. *
  340. * USES X - ALL.
  341. * A - 1, 3, 4, 7.
  342. * B - 2.
  343. *
  344. * CALLS CST, SEM.
  345.  
  346.  
  347. CRS BSS 0 ENTRY
  348. SX7 B0+
  349. SB2 BUFSIZE
  350. CRS1 SB2 B2-1 CLEAR BUFFER
  351. SA7 BADR+B2
  352. PL B2,CRS1 IF NOT ENTIRE BUFFER SET TO ZEROS
  353. SA4 ORIG ORIGIN
  354. SA1 TMSW+1 PARAMETER
  355. SX6 B1
  356. BX7 X1
  357. SA6 RFRS SET SWITCH TO REFRESH *K-DISPLAY*
  358. SA7 CPAR SAVE *CRMSTAT* PARAMETER
  359. ZR X1,CRS3 IF NO PARAMETER
  360. MX0 12
  361. BX2 -X0*X1
  362. SA3 DBNM
  363. ZR X4,CRS2 IF SYSTEM ORIGIN
  364. BX3 X1-X3
  365. BX3 X0*X3
  366. SB2 ER5 *INCORRECT REQUEST*
  367. NZ X3,TTE IF TERMINAL DID NOT REQUEST OWN DATA BASE
  368. CRS2 NZ X2,CRS5 IF FILE STATUS REQUEST
  369. EQ CRS4 PROCESS DATA BASE STATUS REQUEST
  370.  
  371. * CRM STATUS REQUEST.
  372.  
  373. CRS3 SX5 B0+ FUNCTION CODE - *CRM* STATUS
  374. SB2 ER5 *INCORRECT COMMAND*
  375. NZ X4,TTE IF REQUEST FROM TERMINAL
  376. SX6 BADR FWA OF BUFFER TO RECEIVE STATUS
  377. SX7 CST1L LENGTH OF BUFFER
  378. RJ CST ISSUE *CRMSTAT* REQUEST
  379. SB2 ER4 *INSUFICIENT FIELD LENGTH.*
  380. NZ X2,CRS6 IF BUFFER TOO SMALL
  381. SX5 B1+ FUNCTION CODE - REQUEST ALL *TDRF-S*
  382. SX6 BADR+CST1L FWA OF BUFFER TO RECEIVE STATUS
  383. SX7 CST2L LENGTH OF BUFFER
  384. RJ CST ISSUE *CRMSTAT* FUNCTION
  385. NZ X2,CRS6 IF BUFFER TOO SMALL
  386. EQ FCD FORMAT DISPLAY
  387.  
  388. * DATA BASE STATUS REQUEST.
  389.  
  390. CRS4 SX5 B1+B1 FUNCTION CODE - DATA BASE STATUS
  391. BX5 X1+X5 DATA BASE NAME + FUNCTION CODE
  392. SX6 BADR FWA OF BUFFER TO RECEIVE STATUS
  393. SX7 DST1L LENGTH OF BUFFER
  394. RJ CST ISSUE *CRMSTAT* REQUEST
  395. SX2 X2-1
  396. SB2 ER0 *DATA BASE/FILE NAME UNKNOWN.*
  397. ZR X2,CRS6 IF DATA BASE UNKNOWN
  398. SB2 ER4 *INSUFICIENT FIELD LENGTH.*
  399. PL X2,CRS6 IF BUFFER TOO SMALL
  400. SA1 TMSW+1 DATA BASE NAME
  401. SX5 3 FUNCTION CODE - REQUEST ALL *TLNT-S*
  402. BX5 X1+X5
  403. SX6 BADR+DST1L FWA OF BUFFER TO RECEIVE STATUS
  404. SX7 DST2L LENGTH OF BUFFER
  405. RJ CST ISSUE *CRMSTAT* REQUEST
  406. SB2 ER4 *INSUFICIENT FIELD LENGTH.*
  407. NZ X2,CRS6 IF BUFFER TOO SMALL
  408. EQ FDD FORMAT DISPLAY
  409.  
  410. * FILE STATUS REQUEST.
  411.  
  412. CRS5 SX5 4 FUNCTION CODE - FILE STATUS
  413. BX5 X1+X5 FILE NAME + FUNCTION CODE
  414. SX6 BADR FWA OF BUFFER TO RECEIVE STATUS
  415. SX7 FSTBL LENGTH OF BUFFER
  416. RJ CST ISSUE *CRMSTAT* REQUEST
  417. SX2 X2-1
  418. SB2 ER0 *DATA BASE/FILE NAME UNKNOWN.*
  419. ZR X2,CRS6 IF FILE NAME UNKNOWN
  420. SB2 ER4 *INSUFICIENT FIELD LENGTH.*
  421. PL X2,CRS6 IF BUFFER TOO SMALL
  422. EQ FFD FORMAT DISPLAY
  423.  
  424. * PROCESS ERRORS.
  425.  
  426. CRS6 NZ X4,TTE IF TERMINAL ORIGIN
  427. RJ SEM SET ERROR MESSAGE
  428. EQ TPA DISPLAY ERROR MESSAGE
  429. DBD SPACE 4,25
  430. ** DBD - DATA BASE DOWN.
  431. *
  432. * DBD ISSUES A REQUEST TO *AAMI* TO DOWN A DATA BASE OR DATA
  433. * BASE FILE.
  434. *
  435. * ENTRY SECOND WORD OF DATA AREA OF COMMUNICATION BLOCK
  436. * CONTAINS DATA BASE OR FILE NAME.
  437. *
  438. * EXIT TO *TPA*. (TAF ORIGIN).
  439. * (X1) = ADDRESS OF *K-DISPLAY* CONTROL WORD.
  440. * TO *TPD*. (TERMINAL ORIGIN).
  441. *
  442. * ERROR TO *TPA*. (TAF ORIGIN).
  443. * (X1) = ADDRESS OF *K-DISPLAY* CONTROL WORD.
  444. * TO *TTE*. (TERMINAL ORIGIN).
  445. * (B2) = ERROR CODE.
  446. *
  447. * USES X - 1, 2, 6, 7.
  448. * A - 1, 2, 6, 7.
  449. * B - 2.
  450. *
  451. * CALLS SEM.
  452. *
  453. * MACROS DBDOWN.
  454.  
  455.  
  456. DBD BSS 0 ENTRY
  457. SX6 DMU
  458. SA6 FPAG SET PROCESSOR ADDRESS
  459. SA6 PAGE
  460. SX6 KDE *K-DISPLAY* CONTROL WORD
  461. SX7 KDEA *K-DISPLAY* ERROR LINE
  462. SA6 CWKD
  463. SA7 EAKD
  464. SX6 KDEB+1 *K-DISPLAY* INPUT LINE
  465. SA6 IAKD
  466. SX6 B0+ FORMATTED *K-DISPLAY*
  467. SA6 DSTP
  468. SA1 TMSW+1 DATA BASE OR FILE NAME
  469. BX6 X1
  470. BX7 X7-X7
  471. SA6 PADR
  472. SA7 A6+B1 CLEAR STATUS WORD
  473. SA7 A7+B1 PARAMETER LIST TERMINATOR
  474. DBDOWN CSQ2 ISSUE *AAMI* REQUEST
  475. SA1 PADR+1 STATUS
  476. SA2 ORIG
  477. NZ X1,DBD1 IF ERROR
  478. SB2 ER7 *REQUEST COMPLETE.*
  479. NZ X2,TPD IF TERMINAL ORIGIN
  480. RJ SEM
  481. EQ TPA COMPLETE PROCESSING
  482.  
  483. DBD1 SX6 X1-TERB
  484. SB2 ER0 *DATA BASE/FILE NAME UNKNOWN.*
  485. ZR X6,DBD2 IF NO FILE OR DATA BASE
  486. SB2 ER3 *DATA BASE/FILE ALREADY DOWN OR IDLE.*
  487. DBD2 NZ X2,TTE IF TERMINAL ORIGIN
  488. RJ SEM SET ERROR MESSAGE
  489. EQ TPA DISPLAY ERROR MESSAGE
  490. DBU SPACE 4,25
  491. ** DBU - DATA BASE UP.
  492. *
  493. * DBU ISSUES A REQUEST TO *AAMI* TO UP A DATA BASE OR DATA BASE
  494. * FILE.
  495. *
  496. * ENTRY SECOND WORD OF DATA AREA OF COMMUNICATION BLOCK
  497. * CONTAINS DATA BASE OR FILE NAME.
  498. *
  499. * EXIT TO *TPA*. (TAF ORIGIN).
  500. * (X1) = ADDRESS OF *K-DISPLAY* CONTROL WORD.
  501. * TO *TPD*. (TERMINAL ORIGIN).
  502. *
  503. * ERROR TO *TPA*. (TAF ORIGIN).
  504. * (X1) = ADDRESS OF *K-DISPLAY* CONTROL WORD.
  505. * TO *TTE*. (TERMINAL ORIGIN).
  506. * (B2) = ERROR CODE.
  507. *
  508. * USES X - 1, 2, 6, 7.
  509. * A - 1, 2, 6, 7.
  510. * B - 2.
  511. *
  512. * CALLS SEM.
  513. *
  514. * MACROS DBUP.
  515.  
  516.  
  517. DBU BSS 0 ENTRY
  518. SX6 DMU
  519. SA6 FPAG SET PROCESSOR ADDRESS
  520. SA6 PAGE
  521. SX6 KDE *K-DISPLAY* CONTROL WORD
  522. SX7 KDEA *K-DISPLAY* ERROR LINE
  523. SA6 CWKD
  524. SA7 EAKD
  525. SX6 KDEB+1 *K-DISPLAY* INPUT LINE
  526. SA6 IAKD
  527. SX6 B0+ FORMATTED *K-DISPLAY*
  528. SA6 DSTP
  529. SA1 TMSW+1 DATA BASE OR FILE NAME
  530. BX6 X1
  531. BX7 X7-X7
  532. SA6 PADR
  533. SA7 A6+B1 CLEAR STATUS WORD
  534. SA7 A7+B1 PARAMETER LIST TERMINATOR
  535. DBUP CSQ2 ISSUE *AAMI* REQUEST
  536. SA1 PADR+1 STATUS
  537. SA2 ORIG
  538. NZ X1,DBU1 IF ERROR
  539. SB2 ER7 *REQUEST COMPLETE.*
  540. NZ X2,TPD IF TERMINAL ORIGIN
  541. RJ SEM
  542. EQ TPA COMPLETE PROCESSING
  543.  
  544. DBU1 SX6 X1-TERB
  545. SB2 ER0 *DATA BASE/FILE NAME UNKNOWN.*
  546. ZR X6,DBU2 IF NO FILE OR DATA BASE
  547. SB2 ER1 *NOT ALL DATA BASE FILES UPPED.*
  548. SX6 X1-TERAL
  549. ZR X6,DBU2 IF NOT ALL FILES UP
  550. SB2 ER2 *DATA BASE/FILE CANNOT BE UPPED.*
  551. DBU2 NZ X2,TTE IF TERMINAL ORIGIN
  552. RJ SEM SET ERROR MESSAGE
  553. EQ TPA DISPLAY ERROR MESSAGE
  554. DMU SPACE 4,25
  555. ** DMU - DISPLAY MENU.
  556. *
  557. * THIS SUBROUTINE DISPLAYS THE MENU OF *CRMTASK*
  558. * COMMANDS UPON THE *K-DISPLAY*. IT CAN ONLY BE
  559. * INVOKED BY *K-DISPLAY* COMMAND. NO PROVISIONS ARE
  560. * MADE TO DISPLAY MENU AT THE TERMINAL.
  561. *
  562. * ENTRY NONE.
  563. *
  564. * EXIT TO *TPA*.
  565. * (X1) = *K-DISPLAY* CONTROL WORD.
  566. *
  567. * ERROR TO *TTE*, IF TERMINAL ORIGIN.
  568. * (B2) =ERROR CODE.
  569. * TO *IBR*, IF *SIC* REQUEST.
  570. * (X3) = ERROR CODE.
  571. *
  572. * USES X - 1, 3, 4, 6, 7.
  573. * A - 1, 6, 7.
  574. * B - 2, 3.
  575. *
  576. * MACROS SYSTEM.
  577.  
  578.  
  579. DMU BSS 0 ENTRY
  580. SX6 DMU
  581. SA6 FPAG SET PROCESSOR ADDRESS
  582. SA6 PAGE
  583. SX6 KDE *K-DISPLAY* CONTROL WORD
  584. SX7 KDEA *K-DISPLAY* ERROR LINE
  585. SA6 CWKD
  586. SA7 EAKD
  587. SX6 KDEB+1 *K-DISPLAY* INPUT LINE
  588. SA6 IAKD
  589. SX6 B0+ FORMATTED *K-DISPLAY*
  590. SA6 DSTP
  591. SA1 ORIG
  592. SB2 ER5 *INCORRECT COMMAND.*
  593. SX1 X1-1
  594. ZR X1,TTE IF TERMINAL ORIGIN
  595. SX3 B0+ *INCORRECT SIC REQUEST.*
  596. PL X1,IBR IF *BTRAN* REQUEST
  597. SX1 KDE *K-DISPLAY* CONTROL WORD
  598. EQ TPA DISPLAY THE MENU
  599. PBP SPACE 4,20
  600. ** PBP - PAGE BACKWARD PROCESSOR.
  601. *
  602. * PBP REPROCESSES THE *CRMSTAT* INFORMATION AGAIN.
  603. * IT GETS THE FWA OF THE BUFFER AND ENTERS THE AP-
  604. * PROPRIATE DISPLAY PROCESSOR.
  605. *
  606. * ENTRY (FPAG) = PROCESSOR ADDRESS.
  607. * (BADR) = CONTAINS DATA RECEIVED FROM *AAMI*.
  608. *
  609. * EXIT TO (PAGE).
  610. *
  611. * USES X - 2.
  612. * A - 2.
  613. * B - 3.
  614.  
  615.  
  616. PBP BSS 0 ENTRY
  617. SA2 FPAG
  618. SB3 X2+
  619. JP B3 ENTER PROCESSOR
  620. PFP SPACE 4,20
  621. ** PFP - PAGE FORWARD PROCESSOR.
  622. *
  623. * PFP GETS THE BUFFER ADDRESS FROM WHICH TO CONSTRUCT THE NEXT
  624. * PAGE OF THE DISPLAY, AND RE-ENTERS THE DISPLAY PROCESSOR.
  625. *
  626. * ENTRY (PAGE) = PROCESSOR ADDRESS FOR REENTRY.
  627. * (NPAG) = BUFFER ADDRESS OF DATA FOR DISPLAY.
  628. *
  629. * EXIT TO DISPLAY PROCESSOR WHOSE ADDRESS IS IN *PAGE*.
  630. * (A5) = FWA OF BUFFER OF DISPLAY DATA.
  631. * (X5) = CONTENTS OF A WORD AT (A5).
  632. *
  633. * USES X - 1, 2, 5.
  634. * A - 1, 2, 5.
  635. * B - 3.
  636.  
  637.  
  638. PFP BSS 0 ENTRY
  639. SA1 NPAG
  640. SA2 PAGE
  641. SB3 X2
  642. SA5 X1
  643. JP B3 REENTER DISPLAY PROCESSOR
  644. SIC SPACE 4,20
  645. ** SIC - PROCESS *CRMSIC* REQUEST.
  646. *
  647. * SIC REFORMATS THE INFORMATION FROM THE COMMUNICATION BLOCK
  648. * INTO A PARAMETER BLOCK, AND ISSUES A *CRMSIC* REQUEST TO
  649. * *AAMI*.
  650. *
  651. * ENTRY FIRST FOUR WORDS OF DATA AREA OF COMMUNICATION BLOCK
  652. * CONTAIN INFORMATION TO BE STORED IN PARAMETER BLOCK.
  653. *
  654. * EXIT TO *TPD*.
  655. *
  656. * ERROR TO *IBR*.
  657. * (X3) = ERROR CODE.
  658. *
  659. * USES X - 0, 1, 3, 6, 7.
  660. * A - 1, 3, 6, 7.
  661. *
  662. * MACROS CRMSIC.
  663.  
  664.  
  665. SIC BSS 0 ENTRY
  666. SA1 TMSW+1
  667. MX0 42
  668. BX6 X0*X1 DATA BASE/FILE NAME
  669. SA6 PADR
  670. SX7 B0
  671. SA7 A6+B1 CLEAR STATUS WORD
  672. BX6 -X0*X1 BATCH JOB SEQUENCE NUMBER
  673. SA6 A7+B1
  674. SA1 A1+B1 FUNCTION CODE
  675. BX6 X1
  676. SA6 A6+B1
  677. SA7 A6+B1 PARAMETER LIST TERMINATOR
  678. CRMSIC CSQ3 ISSUE *AAMI* REQUEST
  679. SA3 PADR+1 STATUS
  680. ZR X3,TPD IF NO ERROR
  681. SX6 X1-TERB
  682. SX3 IER1
  683. ZR X6,IBR IF UNKNOWN DATA BASE
  684. SX3 IER2
  685. SX6 X1-TERAD
  686. ZR X6,IBR IF INCORRECT TT NUMBER
  687. SX3 IER3
  688. SX6 X1-TERAK
  689. ZR X6,IBR IF DATA BASE DOWNED BY OPERATOR
  690. SX3 IER4
  691. SX6 X1-TERAL
  692. ZR X6,IBR IF NOT ALL FILE UP
  693. SX3 IER5
  694. SX6 X1-TERAM
  695. ZR X6,IBR IF DATA BASE CANNOT BE UPPED
  696. SX3 IER6
  697. SX6 X1-TERAG
  698. ZR X6,IBR IF DATA BASE IDLING DOWN
  699. SX3 IER7
  700. EQ IBR JOURNAL MESSAGE AND QUIT
  701. CST SPACE 4,45
  702. ** CST - ISSUE *CRMSTAT* REQUEST.
  703. *
  704. * THIS SUBROUTINE REQUESTS *AAMI* STATUS. FUNCTION CODE IN X5
  705. * DETERMINES WHAT IS RETURNED BY *AAMI*.
  706. *
  707. * FC = 0, *AAMI* RETURNS *TSEQ* TABLE,
  708. * A WORD OF BINARY ZEROS,
  709. * INPUT QUEUE FET,
  710. * INPUT QUEUE,
  711. * OUTPUT QUEUE FET,
  712. * OUTPUT QUEUE,
  713. * A WORD OF BINARY ZEROS.
  714. * = 1, *AAMI* RETURNS ALL *TDRF* TABLES,
  715. * A WORD OF BINARY ZEROS.
  716. * = 2, *AAMI* RETURNS *TDRF* TABLE,
  717. * A WORD OF BINARY ZEROS,
  718. * *TARF* TABLE,
  719. * A WORD OF BINARY ZEROS,
  720. * ALL *TQRF* TABLES FOR
  721. * THE SPECFIED DATA BASE,
  722. * A WORD OF BINARY ZEROS.
  723. * = 3, *AAMI* RETURNS ALL *TLNT* TABLES FOR
  724. * THE SPECFIED DATA BASE,
  725. * A WORD OF BINARY ZEROS.
  726. * = 4, *AAMI* RETURNS *TLNT* TABLE,
  727. * A WORD OF BINARY ZEROS,
  728. * NUMBER OF ACTIVE USERS,
  729. * NUMBER OF LOCKED RECORDS FOR
  730. * THE SPECFIED DATA BASE FILE,
  731. * A WORD OF BINARY ZEROS.
  732. *
  733. * ENTRY (X5) = FUNCTION CODE
  734. * (X6) = FWA OF BUFFER
  735. * (X7) = LENGTH OF BUFFER
  736. *
  737. * EXIT (X2) = STATUS REPLY
  738. *
  739. * USES X - 2, 6, 7.
  740. * A - 2, 6, 7.
  741. *
  742. * MACROS CRMSTAT.
  743.  
  744.  
  745. CST SUBR ENTRY/EXIT
  746. SA7 PADR+2
  747. SA6 CSQ1+2
  748. BX6 X6-X6
  749. SA6 A7-B1
  750. BX6 X5
  751. SA6 A6-B1
  752. BX7 X7-X7
  753. SA7 A7+B1 PARAMETER LIST TERMINATOR
  754. CRMSTAT CSQ1 ISSUE *AAMI* REQUEST
  755. SA2 PADR+1 STATUS WORD
  756. EQ CSTX RETURN
  757. FCD SPACE 4,20
  758. ** FCD - FORMAT CRMSTAT DISPLAY.
  759. *
  760. * FCD EXTRACTS RAW DATA FROM THE *TSEQ*, *AMIQ*, *AMOQ*, *TDRF*
  761. * TABLES AND FORMATS A *K-DISPLAY*.
  762. *
  763. * ENTRY BADR = FWA OF TABLES.
  764. *
  765. * REENTRY AT *FCD5*.
  766. * (A5) = FWA OF NEXT *TDRF*.
  767. * (X5) = FIRST WORD OF *TDRF*.
  768. *
  769. * EXIT TO *TPA*.
  770. *
  771. * USES X - ALL.
  772. * A - 1, 2, 3, 4, 5, 6, 7.
  773. * B - 2, 3, 4, 6.
  774. *
  775. * CALLS CDD.
  776.  
  777.  
  778. FCD BSS 0 ENTRY
  779. SX6 FCD
  780. SA6 FPAG SET PROCESSOR ADDRESS
  781. SA6 PAGE
  782. SX6 KDA *K-DISPLAY* CONTROL WORD
  783. SX7 KDAF *K-DISPLAY* ERROR LINE
  784. SA6 CWKD
  785. SA7 EAKD
  786. SX6 KDAG+1 *K-DISPLAY* INPUT LINE
  787. SA6 IAKD
  788. SX6 B0 FORMATTED *K-DISPLAY*
  789. SX1 B0 INITIALIZE COUNT OF ACTIVE TRANSACTIONS
  790. SA6 DSTP
  791. SB2 TSEQE LENGTH OF *TSEQ* TABLE ENTRY
  792. SB3 CMDM*RMDM+1 NO OF ENTRIES
  793. SA5 BADR-TSEQE
  794. FCD1 SB3 B3-B1
  795. LT B3,FCD2 IF ALL ENTRIES CHECKED
  796. SA5 A5+B2 NEXT ENTRY
  797. ZR X5,FCD1 IF EMPTY
  798. SX1 X1+1 INCREMENT ACTIVE COUNT
  799. EQ FCD1 NEXT ENTRY
  800.  
  801. FCD2 RJ CDD CONVERT TO DECIMAL DISPLAY
  802. SA6 KDAB+1 STORE IN DISPLAY BUFFER
  803. SA5 A5+TSEQE+1 SKIP LAST ENTRY AND THE ZERO WORD
  804. SA1 A5+B1 GET *AMIQ* FET POINTERS
  805. SX1 X1 FIRST
  806. SA2 A1+B1 IN
  807. SA3 A2+B1 OUT
  808. SA4 A3+1
  809. SX4 X4 LIMIT
  810. IX6 X2-X3 IN-OUT
  811. PL X6,FCD3 IF IN .GE. OUT
  812. IX3 X4-X3 LIMIT-OUT
  813. IX2 X2-X1 IN-FIRST
  814. IX6 X2+X3 REQUESTS IN *AMIQ*
  815. FCD3 BX1 X6
  816. MX0 24
  817. RJ CDD CONVERT TO DECIMAL DISPLAY
  818. SA1 KDAA NUMBER OF TRANSACTIONS IN INPUT QUEUE
  819. BX2 X0*X1 EXTRACT *KDL* COORDINATES
  820. BX6 -X0*X6
  821. BX6 X2+X6
  822. SA6 A1 STORE IN DISPLAY BUFFER
  823. SA5 A5+AAMQFL+AIBFL GET *AMOQ* FET POINTERS
  824. SA2 A5+B1
  825. SX2 X2 FIRST
  826. SA3 A2+B1 IN
  827. SA4 A3+B1 OUT
  828. SA1 A4+B1
  829. SX1 X1 LIMIT
  830. IX6 X3-X4
  831. IX4 X1-X4 LIMIT-OUT
  832. PL X6,FCD4 IF IN .GE. OUT
  833. IX3 X3-X2 IN - FIRST
  834. IX6 X3+X4 REQUESTS IN *AMOQ*
  835. FCD4 BX1 X6
  836. RJ CDD CONVERT TO DECIMAL DISPLAY
  837. SA1 KDAC NUMBER OF TRANSACTIONS IN OUTPUT QUEUE
  838. BX2 X0*X1 EXTRACT *KDL* COORDINATES
  839. BX6 -X0*X6
  840. BX6 X2+X6
  841. SA6 A1 STORE IN DISPLAY
  842. SA5 A5+AAMQFL+AOBFL+1 POSITION TO FIRST *TDRF*
  843.  
  844. * REENTRY POINT.
  845. *
  846. * ENTRY (A5) = ADDRESS OF THE NEXT *TDRF* TO DISPLAY.
  847. * (X5) = FIRST WORD OF THE NEXT *TDRF* TO DISPLAY.
  848.  
  849. FCD5 SB3 3 DATA BASES PER DISPLAY LINE
  850. SA4 KDAD-2
  851. SB4 10 NUMBER OF LINES PER DISPLAY
  852. SA3 A4+1 *KDAD*-1
  853. BX6 X3
  854. MX0 TDIDN
  855. SA6 A3+ IN CASE OF NO DATA BASES
  856. FCD6 ZR X5,FCD9 IF NO DATA BASES
  857. SA3 A5+TDODW
  858. SA4 A4+2 ADDRESS IN DISPLAY BUFFER
  859. SA2 A5+TDIDW
  860. BX6 X0*X2
  861. LX4 59-35
  862. SA1 A5+TDSDW
  863. BX4 -X0*X4
  864. BX6 X4+X6 INSERT DATA BASE NAME INTO THE LINE
  865. LX6 35-59
  866. SA6 A4
  867. LX3 59-TDODS
  868. SB6 B0 INITIALIZE STATUS = UP
  869. NG X1,FCD7 IF DATA BASE DOWN
  870. LX1 TDSDS-TDSIS
  871. PL X1,FCD8 IF NOT IDLE
  872. SB6 B1 STATUS = IDLE
  873. EQ FCD8 SET STATUS IN DISPLAY
  874.  
  875. FCD7 SB6 B1+B1 STATUS = DOWN
  876. PL X3,FCD8 IF NOT OPERATOR DOWN
  877. SB6 B6+B1 STATUS = OPERATOR DOWN
  878. FCD8 SA3 FCDA+B6 GET STATUS
  879. BX6 X3
  880. SA6 A6+B1 STORE IN DISPLAY BUFFER
  881. SB3 B3-1
  882. SA5 A5+TDRFE NEXT *TDRF*
  883. NE B3,FCD6 IF MORE TO GO IN THIS LINE
  884. SB3 3
  885. SB4 B4-1 DECREMENT LINE COUNT
  886. NE B4,FCD6 IF DISPLAY NOT FULL
  887. ZR X5,FCD9 IF ALL DATA BASES DISPLAYED
  888. SA2 MORE
  889. BX6 X2
  890. SX7 A5
  891. SA6 KDAE+1 INDICATE MORE TO BE DISPLAYED
  892. SA7 NPAG SAVE FWA FOR NEXT PAGE
  893. SX7 FCD5
  894. SA7 PAGE SAVE RESTART ADDRESS FOR PAGING
  895. SX1 KDA ADDRESS OF K-DISPLAY CONTROL WORD
  896. EQ TPA GO TO TERMINATION PROCESSOR
  897.  
  898. FCD9 SA2 BLNK BLANK OUT UNUSED PART OF DISPLAY
  899. SX7 FCD
  900. SA7 PAGE ALLOW FORWARD PAGING TO ROLL BACK
  901. SX4 B3+
  902. MX0 24
  903. LX4 1 CONVERT DATA BASES/LINE TO WORDS/LINE
  904. SX1 KDA *K-DISPLAY* CONTROL WORD
  905. SB3 X4+
  906. SB4 B4+1 BLANK OUT *MORE* LINE
  907. FCD10 EQ B4,TPA IF ALL LINES BLANKED
  908. SB6 B3-6
  909. NE B6,FCD11 IF NOT FIRST WORD OF DISPLAY LINE
  910. SA4 A6+B1
  911. BX6 X0*X4 RETAIN *DSD* CO-ORDINATES
  912. BX3 -X0*X2
  913. BX6 X6+X3
  914. SA6 A4+
  915. EQ FCD12 CONTINUE WITH THE NEXT WORD
  916.  
  917. FCD11 BX6 X2
  918. SA6 A6+1
  919. FCD12 SB3 B3-B1
  920. NE B3,FCD10 IF MORE WORDS IN LINE
  921. SB4 B4-B1 DECREMENT LINE COUNT
  922. SB3 6 WORDS PER DISPLAY LINE
  923. EQ FCD10 BLANK NEXT WORD
  924.  
  925. * TABLE OF DATA BASE STATUSES.
  926.  
  927. FCDA BSS 0
  928. LOC 0
  929. DATA 10H UP
  930. DATA 10H IDLE
  931. DATA 10H DOWN
  932. DATA 10H OP-DOWN
  933. LOC *O
  934. FDD SPACE 4,30
  935. ** FDD - FORMAT DATA BASE DISPLAY.
  936. *
  937. * FDD EXTRACTS RAW DATA FROM THE *TDRF*, *TARF*, *TQRF* TABLES
  938. * AND FORMATS A DATA BASE STATUS DISPLAY SUITABLE FOR THE
  939. * OPERATOR CONSOLE OR USER TERMINAL. IF THE DISPLAY IS TO
  940. * BE SENT TO A TERMINAL, DISPLAY LINES MAY ROLL OFF
  941. * THE TOP OF THE SCREEN. DUE TO THE LARGE NUMBER OF
  942. * TERMINAL TYPES, NO ATTEMPT IS MADE TO PREVENT THIS.
  943. *
  944. * ENTRY BADR = FWA OF TABLES.
  945. *
  946. * RE-ENTRY AT *FDD4*, *FDD14*, AND *FDD15*.
  947. * (A5) = FWA OF NEXT *TLNT*.
  948. * (X5) = FIRST WORD OF *TLNT*.
  949. *
  950. * EXIT TO *TPA* IF TAF ORIGIN.
  951. * (X1) = ADDRESS OF K-DISPLAY CONTROL WORD.
  952. * TO *TPB* IF TERMINAL ORIGIN.
  953. * (X1) = FWA OF SEND BUFFER.
  954. * (X5) = NUMBER OF WORDS TO SEND.
  955. *
  956. * USES X - ALL.
  957. * A - ALL.
  958. * B - ALL.
  959. *
  960. * CALLS CDD, SFN.
  961. *
  962. * MACROS MOVE.
  963.  
  964.  
  965. FDD BSS 0 ENTRY
  966. SX6 FDD
  967. SA6 FPAG SET PROCESSOR ADDRESS
  968. SA6 PAGE
  969. SX6 KDB *K-DISPLAY* CONTROL WORD
  970. SX7 KDBD *K-DISPLAY* ERROR LINE
  971. SA6 CWKD
  972. SA7 EAKD
  973. SX6 KDBE *K-DISPLAY* INPUT LINE
  974. SA6 IAKD
  975. SX6 B1+ -C- FORMAT DISPLAY
  976. SA6 DSTP
  977. SA1 BADR+TDSDW
  978. SA2 BADR+TDIDW
  979. MX0 12
  980. BX4 X0*X2 DATA BASE NAME
  981. LX4 -12
  982. LX0 -12
  983. SA3 KDBG+2
  984. BX6 -X0*X3 MASK OUT ANY PREVIOUS NAME
  985. BX6 X6+X4 MERGE IN CURRENT NAME
  986. SA6 A3 STORE IN DATA BASE STATUS HEADING
  987. SB6 B0 PRESET STATUS = UP
  988. NG X1,FDD1 IF FILE DOWN
  989. LX1 TDSDS-TDSIS
  990. PL X1,FDD2 IF NOT IDLE
  991. SB6 B1+ SET STATUS = IDLE
  992. EQ FDD2 STORE STATUS
  993.  
  994. FDD1 SA2 BADR+TDODW OPERATOR DOWN INDICATOR
  995. SB6 B1+B1
  996. LX2 59-TDODS
  997. PL X2,FDD2 IF NOT OPERATOR DOWN
  998. SB6 3
  999. FDD2 SA3 FDDE+B6 GET STATUS MESSAGE
  1000. LX3 6
  1001. SX6 1R=&1R
  1002. LX6 54
  1003. BX6 X6-X3
  1004. SA6 KDBH+2 STORE IN DATA BASE STATUS HEADING
  1005. SA1 BADR+TDRFE+1
  1006. NZ X1,FDD3 IF AFTER IMAGE RECOVERY FILE EXISTS
  1007. SA2 BLNK
  1008. SA1 A1+B1 FWA OF FIRST *TLNT*
  1009. BX6 X2
  1010. SA6 KDBG+5 BLANK OUT AFTER IMAGE RECOVERY FILE NAME
  1011. SA6 KDBH+5 AND PRU-S REMAINING
  1012. MOVE KDBFW,KDBF,KDBA STORE DATA BASE STATUS HEADING
  1013. SA5 BADR+DST1L+TLFNW FWA OF 1ST *TLNT* FILE NAME
  1014. EQ FDD13 FORMAT FILE LIST
  1015.  
  1016. FDD3 SA1 A1+TAFFW
  1017. MX0 42
  1018. BX1 X0*X1 AFTER IMAGE RECOVERY FILE NAME
  1019. SA2 FDDD
  1020. BX6 X1+X2 PAD NAME WITH BLANKS
  1021. LX6 -6
  1022. MX0 TACPN
  1023. SA6 KDBG+5 STORE IN DATA BASE STATUS HEADING
  1024. SA1 BADR+TDRFE+1+TACPW
  1025. LX1 59-TACPS
  1026. BX1 X0*X1
  1027. LX1 TACPN
  1028. RJ CDD CONVERT UNUSED PRU COUNT
  1029. BX6 X4
  1030. LX6 -6
  1031. MX0 TQFFN
  1032. SA6 KDBH+5 STORE IN DATA BASE STATUS HEADING
  1033. MOVE KDBFW,KDBF,KDBA STORE DATA BASE STATUS HEADING
  1034. MOVE KDBIW,KDBI,KDBB STORE BEFORE IMAGE FILE HEADER
  1035. SA5 A1+TARFE-TACPW+1
  1036. SB4 KFNL-KDBFL-KDBIL NUMBER OF DISPLAY LINES
  1037. SX6 1R
  1038. LX6 59-5
  1039. SA6 KDBB+KDBIW-1
  1040. EQ FDD5 DISPLAY *BRF-S*
  1041.  
  1042. * RE-ENTRY POINT.
  1043. *
  1044. * ENTRY (A5) = ADDRESS OF THE NEXT *TLNT* TO DISPLAY.
  1045. * (X5) = FIRST WORD OF THE NEXT *TLNT* TO DISPLAY.
  1046.  
  1047. FDD4 MOVE KDBKW,KDBK,KDBA STORE FILE AND STATUS SUB-HEADING
  1048. SX6 1R
  1049. LX6 59-5
  1050. SA6 KDBA+KDBKW-1
  1051. SB4 KFNL-KDBKL NUMBER OF DISPLAY LINES
  1052. FDD5 SB3 6 NUMBER OF WORDS PER DISPLAY LINE
  1053. FDD6 SA5 A5+TQSTW *BRF* STATUS WORD
  1054. SA2 A5+TQFFW-TQSTW *BRF* FILE NAME
  1055. MX0 TQFFN
  1056. BX1 X0*X2
  1057. RJ SFN
  1058. LX6 41-59
  1059. SA6 A6+B1 STORE *BRF* FILE NAME
  1060. SA3 FDDA STATUS = UP
  1061. PL X5,FDD7 IF *BRF* UP
  1062. SA3 FDDB STATUS = DOWN
  1063. FDD7 BX6 X3
  1064. SA6 A6+B1 STORE STATUS
  1065. SB3 B3-2 DECREMENT COUNT
  1066. SA5 A5+TQRFE-TQSTW NEXT *BRF*
  1067. ZR X5,FDD8 IF NO MORE *BRF-S*
  1068. NE B3,FDD6 IF MORE *BRF-S* THIS DISPLAY LINE
  1069. SB4 B4-1 DECREMENT THE LINE COUNT
  1070. SX6 1R
  1071. LX6 59-5
  1072. SA6 A6+B1 SKIP OVER END OF LINE
  1073. NE B4,FDD5 IF DISPLAY NOT FULL
  1074. SX6 FDD4 RE-ENTRY ADDRESS
  1075. EQ FDD20 PROCESS NEXT PAGE
  1076.  
  1077. * DISPLAY *AFTER IMAGE RECOVERY FILES*.
  1078.  
  1079. FDD8 SB4 B4-B1 DECREMENT DISPLAY LINE COUNT
  1080. SA2 BLNK
  1081. BX6 X2
  1082. ZR B3,FDD10 IF DISPLAY LINE FULL
  1083. FDD9 SA6 A6+1 BLANK OUT REST OF LINE
  1084. SA6 A6+1
  1085. SB3 B3-2
  1086. NE B3,FDD9 IF MORE TO BLANK
  1087. FDD10 SB5 6
  1088. LT B4,B5,FDD11 IF NOT ENOUGH ROOM ON CURRENT PAGE
  1089. SX5 A6+2 SKIP OVER END OF LINE
  1090. MOVE KDBJW,KDBJ,X5 MOVE FILE HEADING TO DISPLAY
  1091. SB4 B4-KDBJL DECREMENT LINE COUNT
  1092. SB5 X5+KDBJW FWA TO STORE FILE NAMES
  1093. SA5 BADR+DST1L+TLFNW FWA OF FIRST *TLNT* FILE NAME
  1094. EQ FDD16 FORMAT FILE LIST
  1095.  
  1096. FDD11 ZR B4,FDD12 IF ALL LINES PROCESSED
  1097. SX6 1R
  1098. LX6 59-5
  1099. SA6 A6+B1 END OF LINE
  1100. SB3 6 RE-INITIALIZE COUNT
  1101. EQ FDD8 BLANK OUT NEXT LINE
  1102.  
  1103. FDD12 SX6 FDD15 RE-ENTRY ADDRESS
  1104. SA5 BADR+DST1L+TLFNW FWA OF FIRST *TLNT* FILE NAME
  1105. EQ FDD20 PROCESS NEXT PAGE
  1106.  
  1107. FDD13 MOVE KDBJW,KDBJ,KDBB STORE DATA BASE FILE HEADER
  1108. SB5 KDBB+KDBJW FWA TO STORE FILE NAMES
  1109. SB4 KFNL-KDBFL-KDBJL NUMBER OF DISPLAY LINES
  1110. EQ FDD16 DISPLAY DATA BASE FILES
  1111.  
  1112. * RE-ENTRY POINTS.
  1113. *
  1114. * ENTRY (A5) = ADDRESS OF THE NEXT *TLNT* TO DISPLAY.
  1115. * (X5) = FIRST WORD OF THE NEXT *TLNT* TO DISPLAY.
  1116.  
  1117. FDD14 MOVE KDBKW,KDBK,KDBA STORE FILE AND STATUS SUB-HEADING
  1118. SB5 KDBA+KDBKW FWA TO STORE FILE NAMES
  1119. SB4 KFNL-KDBKL NUMBER OF DISPLAY LINES
  1120. EQ FDD16 DISPLAY DATA BASE FILES
  1121.  
  1122. FDD15 MOVE KDBJW,KDBJ,KDBA STORE DATA BASE FILE HEADER
  1123. SB5 KDBA+KDBJW FWA TO STORE FILE NAMES
  1124. SB4 KFNL-KDBJL NUMBER OF DISPLAY LINES
  1125. FDD16 MX0 TLFNN
  1126. SB3 6 WORDS PER DISPLAY LINE
  1127. FDD17 BX1 X0*X5
  1128. RJ SFN
  1129. LX6 41-59
  1130. SA2 A5+TLFDW-TLFNW STATUS WORD
  1131. LX2 59-TLFDS
  1132. SB6 B0+ STATUS = UP
  1133. NG X2,FDD18 IF FILE DOWN
  1134. LX2 TLFDS-TLFIS
  1135. PL X2,FDD19 IF FILE NOT IDLE
  1136. SB6 B1 STATUS = IDLE
  1137. EQ FDD19 GET STATUS
  1138.  
  1139. FDD18 LX2 TLFDS-TLFES
  1140. SB6 2 STATUS = DOWN
  1141. PL X2,FDD19 IF NOT DUE TO *CRM* ERROR
  1142. SB6 B6+2 STATUS=*CRM* ERROR
  1143. FDD19 SA3 FDDE+B6 GET STATUS
  1144. BX7 X3
  1145. SA6 B5 STORE FILE NAME
  1146. SA7 A6+1
  1147. SB3 B3-2
  1148. SB5 B5+2 ADDRESS FOR NEXT FILE NAME
  1149. SA5 A5+TLNTE-TLFNW NEXT *TLNT*
  1150. ZR X5,FDD21 IF END
  1151. NE B3,FDD17 IF MORE FILES THIS DISPLAY LINE
  1152. SB3 6
  1153. SB4 B4-B1 DECREMENT LINE COUNT
  1154. SB5 B5+B1 ADDRESS OF NEXT DISPLAY LINE
  1155. NE B4,FDD17 IF DISPLAY NOT FULL
  1156. SX6 FDD14 RE-ENTRY ADDRESS
  1157.  
  1158. * PROCESS NEXT PAGE.
  1159.  
  1160. FDD20 SA6 PAGE
  1161. SA2 MORE
  1162. BX6 X2
  1163. SX7 A5
  1164. SX1 KDB *K-DISPLAY* CONTROL WORD
  1165. SA6 KDBC+1 INDICATE MORE FILES
  1166. SA7 NPAG NEXT ADDRESS IN THE BUFFER
  1167. SA2 ORIG
  1168. ZR X2,TPA IF *TAF* ORIGIN
  1169. SX1 KDBA FWA OF SEND BUFFER
  1170. SX5 KDBC-KDBA+2 WORDS TO SEND TO TERMINAL
  1171. EQ TPB SEND DISPLAY TO TERMINAL
  1172.  
  1173. * BLANK OUT UNUSED PART OF LAST PAGE.
  1174.  
  1175. FDD21 SA2 BLNK BLANK OUT UNUSED PART OF DISPLAY
  1176. BX6 X2
  1177. SX7 FDD
  1178. SA7 PAGE ALLOW FORWARD PAGING TO ROLL BACK
  1179. SB4 B4+1 BLANK OUT *MORE* LINE
  1180. SX5 B5-KDBA+1 WORDS TO SEND
  1181. FDD22 NE B3,FDD23 IF NOT END OF DISPLAY LINE
  1182. SB3 6
  1183. SB5 B5+1 SKIP OVER END OF LINE
  1184. SB4 B4-1 DECREMENT THE LINE COUNT
  1185. FDD23 LE B4,FDD24 IF ALL LINES PROCESSED
  1186. SA6 B5+
  1187. SB5 B5+B1
  1188. SB3 B3-B1
  1189. EQ FDD22 BLANK NEXT WORD
  1190.  
  1191. FDD24 SX1 KDB
  1192. SA2 ORIG
  1193. ZR X2,TPA IF *TAF* ORIGIN
  1194. SX1 KDBA FWA OF SEND BUFFER
  1195. EQ TPB SEND DISPLAY TO TERMINAL
  1196.  
  1197.  
  1198. FDDA DATA 10H UP *BRF* STATUS *UP*
  1199. FDDB DATA 10H DOWN *BRF* STATUS DOWN
  1200. FDDC CON 0 DISPLAY ADDRESS FOR FILE NAMES
  1201. FDDD VFD 42/0,18/3L
  1202.  
  1203. * TABLE OF DATA BASE FILE STATUSES.
  1204.  
  1205. FDDE BSS 0
  1206. LOC 0
  1207. DATA 10H UP FILE UP
  1208. DATA 10H IDLE FILE IDLE
  1209. DATA 10H DOWN FILE DOWN FOR BATCH RECOVERY
  1210. DATA 10H O-DOWN FILE DOWNED BY OPERATOR COMMAND
  1211. DATA 10H E-DOWN FILE DOWN DUE TO *CRM* ERROR
  1212. LOC *O
  1213. FFD SPACE 4,25
  1214. ** FFD - FORMAT FILE DISPLAY.
  1215. *
  1216. * FFD EXTRACTS RAW DATA FROM THE *TLNT* AND COUNT OF USERS AND
  1217. * LOCKS ON THE FILE, AND FORMATS A DISPLAY SUITABLE FOR THE
  1218. * OPERATOR CONSOLE OR USER TERMINAL.
  1219. *
  1220. * ENTRY BADR = FWA OF *TLNT*.
  1221. *
  1222. * EXIT TO *TPA* IF TAF ORIGIN.
  1223. * (X1) = ADDRESS OF K-DISPLAY CONTROL WORD.
  1224. * TO *TPB* IF TERMINAL ORIGIN.
  1225. * (X1) = FWA OF *SEND* BUFFER.
  1226. * (X5) = NUMBER OF WORDS TO SEND.
  1227. *
  1228. * USES X - 0, 1, 2, 4, 5, 6, 7.
  1229. * A - 1, 2, 5, 6, 7.
  1230. * B - 6, 7.
  1231. *
  1232. * CALLS CDD, DXB, SFN.
  1233. *
  1234. * MACROS MOVE.
  1235.  
  1236.  
  1237. FFD BSS 0 ENTRY
  1238. SX6 FFD
  1239. SA6 FPAG SET PROCESSOR ADDRESS
  1240. SA6 PAGE
  1241. SX6 KDC *K-DISPLAY* CONTROL WORD
  1242. SX7 KDCM *K-DISPLAY* ERROR LINE
  1243. SA6 CWKD
  1244. SA7 EAKD
  1245. SX6 KDCN *K-DISPLAY* INPUT LINE
  1246. SA6 IAKD
  1247. SX6 B1 -C- FORMAT DISPLAY
  1248. MX0 42
  1249. SA6 DSTP
  1250. SA1 BADR+TLFNW
  1251. BX1 X0*X1 FILE NAME
  1252. SB6 B0 PRESET STATUS = UP
  1253. RJ SFN SPACE FILL NAME
  1254. LX6 -6
  1255. SA6 KDCB+3 STORE IN DISPLAY BUFFER
  1256. SA1 BADR+TLFDW FILE STATUS
  1257. NG X1,FFD1 IF FILE DOWN
  1258. LX1 TLFDS-TLFIS
  1259. PL X1,FFD2 IF FILE NOT IDLE
  1260. SB6 B1+ SET STATUS IDLE
  1261. EQ FFD2 GET STATUS MESSAGE
  1262.  
  1263. FFD1 LX1 TLFDS-TLFES
  1264. SB6 B1+B1 SET STATUS = DOWN
  1265. PL X1,FFD2 IF NOT DUE TO *CRM* ERROR
  1266. SB6 3 SET STATUS = *CRM* ERROR*
  1267. FFD2 SA2 FFDA+B6 GET STATUS
  1268. BX6 X2
  1269. SA6 KDCD+3 STORE IN DISPLAY BUFFER
  1270. SA1 BADR+TLNTE+1 COUNT OF ACTIVE FILE USERS
  1271. RJ CDD CONVERT TO DECIMAL DISPLAY
  1272. LX4 -18
  1273. MX0 -54
  1274. SA5 FFDB
  1275. BX4 -X0*X4
  1276. BX6 X4+X5
  1277. SA6 KDCK+3 STORE IN DISPLAY BUFFER
  1278. SA1 A1+1 COUNT OF LOCKS
  1279. RJ CDD CONVERT TO DECIMAL DISPLAY
  1280. LX4 -18
  1281. BX4 -X0*X4
  1282. BX6 X4+X5
  1283. SA6 KDCL+3 STORE IN DISPLAY BUFFER
  1284. SA1 BADR+TLRFW RECOVERABILITY FLAG
  1285. SB6 B0+
  1286. LX1 59-TLRFS
  1287. MX0 TLPNN
  1288. NG X1,FFD4 IF FILE RECOVERABLE
  1289. SB6 B1+
  1290. FFD4 SA2 FFDC+B6
  1291. SA1 BADR+TLPNW PACK NAME
  1292. BX6 X2
  1293. SA6 KDCE+3 RECOVERABILITY TO DISPLAY BUFFER
  1294. BX1 X0*X1
  1295. RJ SFN SPACE FILL EVEN IF PACK NAME ABSENT
  1296. LX6 -6
  1297. SA6 KDCF+3 PACK NAME TO DISPLAY BUFFER
  1298. MX0 TLDVN
  1299. SA1 BADR+TLDVW DEVICE TYPE
  1300. LX1 59-TLDVS
  1301. BX6 X0*X1
  1302. NZ X6,FFD5 IF DEVICE TYPE PRESENT
  1303. SA1 FFDD
  1304. BX6 X1
  1305. SA6 KDCG+3 STORE DEFAULT IN DISPLAY
  1306. EQ FFD6 PROCESS ATTACH MODE
  1307.  
  1308. FFD5 LX6 -6
  1309. SA5 BADR+TLUNW NUMBER OF UNITS ON DEVICE
  1310. SA6 KDCG+3 SAVE DEVICE TYPE IN DISPLAY BUFFER
  1311. LX5 59-TLUNS
  1312. MX0 TLUNN
  1313. BX5 X0*X5
  1314. SB7 -B1
  1315. RJ DXB
  1316. MX0 24
  1317. BX6 X0*X6
  1318. SA2 KDCG+3 PICK DEVICE TYPE
  1319. LX6 24
  1320. BX6 X2+X6 DEVICE TYPE AND NO. OF UNITS
  1321. SA6 A2+
  1322. FFD6 SB6 4
  1323. SA2 FFDK
  1324. MX0 -3
  1325. LX2 3
  1326. SA1 BADR+TLMDW PICK ATTACH MODE CODE
  1327. MX6 TLMDN
  1328. LX1 59-TLMDS
  1329. BX1 X6*X1
  1330. LX1 TLMDN
  1331. FFD7 BX5 -X0*X2
  1332. BX6 X5-X1
  1333. ZR X6,FFD8 IF ATTACH MODE CODE FOUND
  1334. SB6 B6-B1
  1335. LX2 15
  1336. NZ B6,FFD7 IF NOT ALL CODES EXAMINED
  1337. SA2 FFDM PUT BLANKS FOR ATTACH MODE MNEMONICS
  1338. FFD8 MX7 12
  1339. BX1 X7*X2 ISOLATE MNEMONIC ATTACH MODE
  1340. RJ SFN PAD WITH BLANKS
  1341. LX6 -6
  1342. SA6 KDCH+3 STORE ATTACH MODE MNEMONIC
  1343. MX0 TLKLN
  1344. SA1 BADR+TLKLW SIZE OF PRIMARY KEY
  1345. LX1 59-TLKLS
  1346. BX1 X0*X1
  1347. LX1 TLKLN RIGHT JUSTIFY THE NUMBER
  1348. RJ CDD CONVERT TO DECIMAL
  1349. BX6 X4
  1350. LX6 35-59
  1351. SA6 KDCI+4 STORE IN DISPLAY BUFFER
  1352. MX0 TLNAN
  1353. SA1 BADR+TLNAW NUMBER OF ALTERNATE KEYS
  1354. LX1 59-TLNAS
  1355. BX1 X0*X1
  1356. LX1 TLNAN
  1357. RJ CDD CONVERT TO DISPLAY
  1358. MX0 -36
  1359. SA2 FFDE
  1360. BX6 X4
  1361. LX6 35-59
  1362. BX6 -X0*X6
  1363. BX7 X2+X6
  1364. SA7 KDCJ+4 STORE IN DISPLAY BUFFER
  1365. SX1 KDC K-DISPLAY CONTROL WORD
  1366. SA2 ORIG
  1367. ZR X2,TPA IF TAF ORIGIN
  1368. SX1 KDCA FWA OF SEND BUFFER
  1369. SX5 KDC1L WORDS TO SEND
  1370. EQ TPB SEND DISPLAY TO TERMINAL
  1371.  
  1372.  
  1373. * TABLE OF FILE STATUSES.
  1374.  
  1375. FFDA BSS 0
  1376. LOC 0
  1377. DATA 10H UP
  1378. DATA 10H IDLE
  1379. DATA 10H DOWN
  1380. DATA 10H E-DOWN
  1381. LOC *O
  1382.  
  1383. FFDB DATA 1L=
  1384. FFDC DATA 10H YES
  1385. DATA 10H NO
  1386. FFDD DATA 10H DEFAULT
  1387. FFDE DATA 4LS =
  1388. FFDK VFD 3/PTRD,12/2LR ,3/PTWR,12/2LW ,3/PTMD,12/2LM
  1389. VFD 3/PTRM,12/2LRM
  1390. FFDL DATA 7LKEYS =
  1391. FFDM DATA 10H
  1392. IBR SPACE 4,15
  1393. ** IBR - INCORRECT *BTRAN* REQUEST.
  1394. *
  1395. * THIS SUBROUTINE JOURNALS AN INCORRECT *SIC* REQUEST
  1396. * IN *JOUR0* AND TERMINATES THE TASK.
  1397. *
  1398. * ENTRY (X3) = ERROR CODE.
  1399. * COMMUNICATION BLOCK CONTAINS INCORRECT REQUEST.
  1400. *
  1401. * USES X - 0, 1, 3, 6.
  1402. * A - 1, 6.
  1403. * B - 2, 3.
  1404. *
  1405. * MACROS CEASE, JOURNL.
  1406.  
  1407.  
  1408. IBR BSS 0 ENTRY
  1409. SB2 3
  1410. LX3 2
  1411. MX0 -12
  1412. SA1 IBRA+X3 ERROR MESSAGE ADDRESS
  1413. SB3 TMSW
  1414. IBR1 SA3 A1+B2 MOVE MESSAGE TO JOURNAL BUFFER
  1415. BX6 X3
  1416. SA6 IBRB+B2
  1417. SB2 B2-1
  1418. PL B2,IBR1 IF NOT ENTIRE MESSAGE MOVED
  1419. SA1 TNAM
  1420. BX1 -X0*X1
  1421. SX6 IBRB
  1422. SX0 X1-5
  1423. NG X0,IBR2 IF COMMUNICATION BLOCK 4 WORDS OR LESS
  1424. SX1 4
  1425. IBR2 SB2 X1
  1426. SX1 X1+4 FORM PARAMETER WORD FOR JOURNAL CALL
  1427. LX1 18
  1428. BX6 X1+X6
  1429. SB2 B2-B1
  1430. SA6 PADR
  1431. IBR3 SA1 B3+B2 COPY COMMUNICATION BLOCK
  1432. BX6 X1
  1433. SA6 IBRC+B2
  1434. SB2 B2-1
  1435. PL B2,IBR3 IF MORE WORDS IN THE COMMUNICATION BLOCK
  1436. JOURNL PADR
  1437. CEASE END TASK
  1438.  
  1439. IBRA BSS 0
  1440. DATA 40HCRMTASK- INCORRECT REQUEST.
  1441. DATA 40HCRMTASK- DATA BASE/FILE NAME UNKNOWN.
  1442. DATA 40HCRMTASK- INCORRECT TT SEQUENCE NUMBER.
  1443. DATA 40HCRMTASK- DATA BASE DOWNED BY OPERATOR.
  1444. DATA 40HCRMTASK- NOT ALL DATA BASE FILES UPPED.
  1445. DATA 40HCRMTASK- DATA BASE/FILE CANNOT BE UPPED.
  1446. DATA 40HCRMTASK- DATA BASE/FILE BEING IDLED.
  1447. DATA 40HCRMTASK- INCORRECT REQUEST FORMAT.
  1448.  
  1449. IBRB BSS 4 ERROR MESSAGE AREA
  1450. IBRC BSSZ 4
  1451.  
  1452. IBRE BSS 0 ERROR CODES
  1453. LOC 0
  1454. IER0 BSS 1 INCORRECT REQUEST
  1455. IER1 BSS 1 DATA BASE/FILE UNKNOWN
  1456. IER2 BSS 1 INCORRECT TT SEQUENCE
  1457. IER3 BSS 1 DATA BASE/FILE DOWNED BY OPERATOR
  1458. IER4 BSS 1 NOT ALL FILES UPPED
  1459. IER5 BSS 1 DATA BASE/FILE CANNOT BE UPPED
  1460. IER6 BSS 1 IDLE DATA BASE/FILE
  1461. IER7 BSS 1 REQUEST FORMAT ERROR
  1462. LOC *O
  1463. ORG IBRE
  1464. ITU SPACE 4,20
  1465. ** ITU - INSERT TERMINATOR AND UNPACK MESSAGE.
  1466. *
  1467. * THIS SUBROUTINE DETERMINES WHERE THE TERMINAL MESSAGE
  1468. * ENDS AND INSERTS A TERMINATOR THEN UNPACKS THE MESSAGE
  1469. * TO RA+2.
  1470. *
  1471. * ENTRY DATA IN MESSAGE AREA.
  1472. *
  1473. * EXIT TERMINATOR IS INSERTED IN MESSAGE AND IT IS
  1474. * UNPACKED TO RA+2.
  1475. *
  1476. * ERROR TO *TTE* IF UNPACK ERRORS.
  1477. *
  1478. * USES X - 0, 1, 2, 5, 6, 7.
  1479. * A - 1, 2, 5, 7.
  1480. * B - 1, 2, 3, 7.
  1481. *
  1482. * CALLS UPC.
  1483.  
  1484. ITU SUBR ENTRY/EXIT
  1485. SA2 CBSYW
  1486. MX0 -12
  1487. BX2 -X0*X2 NUMBER OF WORDS IN MESSAGE
  1488. SB2 X2+TMSW-2 LWA OF MESSAGE
  1489. MX0 -6
  1490. SA1 B2+B1 LWA OF MESSAGE
  1491. SA2 A1-B1
  1492. SX6 1R.
  1493. BX7 -X0*X2
  1494. NZ X1,ITU1 IF LAST WORD CONTAINS NON ZERO CHARACTERS
  1495. NZ X7,ITU1 IF NEXT TO LAST WORD IS FULL
  1496. BX7 X2+X6
  1497. SA7 A2
  1498. EQ ITU3 UNPACK
  1499.  
  1500. ITU1 SB2 B2+B1
  1501. SB3 CMBK+CMBL-1 LWA OF COMMUNICATION BLOCK
  1502. SA1 B2 CURRENT WORD TO CHECK
  1503. GE B2,B3,ITU3 IF MESSAGE EXCEEDED LIMIT
  1504. SB3 60
  1505. ITU2 LX1 6
  1506. BX2 -X0*X1
  1507. SB3 B3-6
  1508. NG B3,ITU1 IF END OF WORD
  1509. NZ X2,ITU2 IF NOT END OF MESSAGE
  1510. BX1 X1+X6 INSERT TERMINATOR
  1511. LX7 X1,B3
  1512. SA7 A1+
  1513. ITU3 SA5 TMSW FWA OF MESSAGE
  1514. SB7 2
  1515. RJ UPC UNPACK TERMINAL COMMAND
  1516. SB2 ER5 *INCORRECT COMMAND*
  1517. NZ X6,TTE IF UNPACK ERRORS
  1518. EQ ITUX RETURN
  1519. SEM SPACE 4,20
  1520. ** SEM - SET ERROR MESSAGE.
  1521. *
  1522. * SEM SETS AN ERROR MESSAGE ON THE *K-DISPLAY*.
  1523. *
  1524. * ENTRY (B2) = INDEX INTO TABLE MESSAGE ADDRESSES.
  1525. * (DSTP) = *K-DISPLAY* FORMAT FLAG.
  1526. * (EAKD) = *K-DISPLAY* ERROR LINE.
  1527. * (CWKD) = ADDRESS OF *K-DISPLAY* CONTROL WORD.
  1528. *
  1529. * EXIT (X1) = ADDRESS OF *K-DISPLAY* CONTROL WORD.
  1530. *
  1531. * USES X - 1, 2, 3.
  1532. * A - 1, 3.
  1533. * B - 5.
  1534. *
  1535. * MACROS MOVE.
  1536.  
  1537.  
  1538. SEM SUBR ENTRY/EXIT
  1539. SB5 ERK
  1540. SA1 DSTP
  1541. ZR X1,SEM1 IF FORMATTED *K-DISPLAY*
  1542. SB5 ERT
  1543. SEM1 SA1 B5+B2 GET ERROR MESSAGE
  1544. SX2 X1 MESSAGE ADDRESS
  1545. SA3 EAKD *K-DISPLAY* ERROR LINE
  1546. AX1 18 MESSAGE LENGTH
  1547. MOVE X1,X2,X3 MOVE MESSAGE TO DISPLAY
  1548. SA1 CWKD ADDRESS OF *K-DISPLAY* CONTROL WORD
  1549. EQ SEMX RETURN
  1550. TPR SPACE 4,10
  1551. *** TERMINATION PROCESSING ROUTINES.
  1552. TPA SPACE 4,15
  1553. ** TPA - TERMINATION PROCESSOR FOR *K-DISPLAY* COMMAND.
  1554. *
  1555. * ENTRY (X1) = *K-DISPLAY* CONTROL WORD.
  1556. *
  1557. * EXIT TO *CVL*, IF NEW COMMAND ENTERED.
  1558. * (B3) = FWA OF VALID COMMAND TABLE.
  1559. * TO *CRS*, IF REFRESHING *CRMSTAT* DISPLAY.
  1560. * (TMSW+1) = PARAMETER OF LAST *CRMSTAT* COMMAND.
  1561. *
  1562. * USES X - 1, 2, 3, 4, 6.
  1563. * A - 1, 2, 4, 6.
  1564. * B - 3.
  1565. *
  1566. * MACROS SYSTEM.
  1567.  
  1568.  
  1569. TPA BSS 0 ENTRY
  1570. BX6 X1
  1571. SA6 TPAA SAVE THE DISPLAY BUFFER ADDRESS
  1572. SA4 IAKD
  1573. MOVE 5,TDUA,X4 ECHO *DSD* INPUT TO *K-DISPLAY*
  1574. SX6 B0 CLEAR MESSAGE AREA
  1575. SA6 TMSW
  1576. SA6 A6+B1
  1577. SA1 TPAA RESTORE THE DISPLAY BUFFER ADDRESS
  1578. TPA1 SYSTEM CTI,,X1,8 TAF FUNCTION - SET *K-DISPLAY*
  1579. SA1 TMSW
  1580. ZR X1,TPA3 IF NO NEW COMMAND
  1581. SX2 1R+
  1582. SX3 1R-
  1583. BX6 X1
  1584. IX2 X2-X1
  1585. IX3 X3-X1
  1586. LX6 54
  1587. SB3 CVLB
  1588. ZR X2,TPA2 IF *+*
  1589. ZR X3,TPA2 IF *-*
  1590. EQ CVL SEARCH FOR THE PROCESSOR
  1591.  
  1592. TPA2 SA6 TMSW
  1593. EQ CVL VALIDATE NEXT COMMAND
  1594.  
  1595. TPA3 SA2 RFRS
  1596. SA1 TPAA
  1597. ZR X2,TPA1 IF LAST COMMAND NOT *CRMSTAT*
  1598. SA2 A2+B1 PICK PARAMETER OF LAST *CRMSTAT*
  1599. BX6 X2
  1600. SA6 TMSW+1
  1601. EQ CRS RE-ISSUE *CRMSTAT* REQUEST
  1602.  
  1603. TPAA BSS 1 SAVE AREA FOR DISPLAY BUFFER ADDRESS
  1604. TPB SPACE 4,20
  1605. ** TPB - TERMINATION PROCESSOR FOR TERMINAL DISPLAY.
  1606. *
  1607. * ENTRY (X1) = FWA OF SEND BUFFER.
  1608. * (X5) = NUMBER WORDS TO SEND.
  1609. *
  1610. * EXIT TO *CVL*.
  1611. * (B3) = FWA OF VALID COMMAND TABLE.
  1612. *
  1613. * ERROR TO *TTE*.
  1614. * (B2) = ERROR CODE.
  1615. *
  1616. * USES X - ALL.
  1617. * A - 1, 5, 6.
  1618. * B - 2, 3, 5, 6, 7.
  1619. *
  1620. * CALLS ITU.
  1621. *
  1622. * MACROS SEND, WAITINP.
  1623.  
  1624.  
  1625. TPB BSS 0 ENTRY
  1626. SX3 MAXWS MAXIMUM WORDS + 1 FOR A *SEND* REQUEST
  1627. SX4 X3-1
  1628. IX5 X5-X3
  1629. BX6 X1
  1630. LX6 30
  1631. MX0 1
  1632. SA6 PADR STORE MESSAGE ADDRESS
  1633. NG X5,TPB2 IF LESS THAN MAXIMUM WORDS TO SEND
  1634. LX0 -2 FLAG NOT LAST BLOCK
  1635. BX6 X0+X6
  1636. BX6 X6+X4
  1637. MX0 18
  1638. LX0 -12
  1639. SA6 A6+
  1640. LX4 30
  1641. TPB1 SEND PADR SEND DATA TO TERMINAL
  1642. SA1 PADR
  1643. BX2 -X0*X1
  1644. BX1 X0*X1
  1645. IX1 X1+X4 INCREMENT MESSAGE ADDRESS
  1646. BX6 X2+X1
  1647. SA6 A1
  1648. IX5 X5-X3
  1649. PL X5,TPB1 IF STILL .GT. MAXIMUM FOR SEND
  1650. TPB2 IX5 X5+X3 WORDS TO SEND
  1651. ZR X5,TPB2.1 IF WORD COUNT IS ZERO
  1652. MX0 18
  1653. LX0 -12
  1654. BX6 X0*X6
  1655. BX6 X6+X5
  1656. SA6 A6
  1657. SEND PADR SEND FINAL BLOCK
  1658. TPB2.1 SA1 MADB
  1659. BX6 X1
  1660. SA6 PADR
  1661. SEND PADR SEND MESSAGE
  1662. SX6 B0 CLEAR MESSAGE AREA
  1663. SA6 TMSW
  1664. SA6 A6+B1
  1665. SX6 300
  1666. SA6 TPBB
  1667. WAITINP TPBB WAIT FOR NEXT COMMAND
  1668. SA1 TMSW
  1669. SX1 X1-1
  1670. NZ X1,TPB3 IF NOT TIMEOUT
  1671. SB2 ER8 *CRMTASK TIMEOUT.*
  1672. EQ TTE TERMINATE TASK IN ERROR
  1673.  
  1674. TPB3 RJ ITU INSERT TERMINATOR AND UNPACK
  1675. SA1 B1+
  1676. SB5 TMSW
  1677. TPB4 SA1 A1+1 NEXT WORD
  1678. BX6 X1
  1679. SA6 B5
  1680. SB5 B5+1
  1681. SB6 B6-1
  1682. NE B6,TPB4 IF MORE WORDS TO MOVE
  1683. SB3 CVLB FWA OF TABLE OF VALID COMMANDS
  1684. SA1 TMSW
  1685. SX2 1R+
  1686. SX3 1R-
  1687. BX6 X1
  1688. IX2 X2-X1
  1689. IX3 X3-X1
  1690. LX6 59-5
  1691. ZR X2,TPB5 IF *+*
  1692. ZR X3,TPB5 IF *-*
  1693. EQ CVL VALIDATE COMMAND
  1694.  
  1695. TPB5 SA6 TMSW
  1696. EQ CVL VALIDATE COMMAND
  1697.  
  1698. TPBB CON 0 WAIT TIME IN SECONDS
  1699. TPD SPACE 4,10
  1700. ** TPD - TERMINATION PROCESSOR TASK CEASE.
  1701. *
  1702. * ENTRY (ORIG) = ORIGIN CODE.
  1703. *
  1704. * USES X - 1, 6.
  1705. * A - 1, 6.
  1706. *
  1707. * MACROS CEASE, SEND.
  1708.  
  1709.  
  1710. TPD BSS 0 ENTRY
  1711. SA1 ORIG
  1712. SX1 X1-1
  1713. NZ X1,TPD1 IF NOT TERMINAL ORIGIN
  1714. SA1 MADA
  1715. BX6 X1
  1716. SA6 PADR
  1717. SEND PADR ISSUE TERMINATION MESSAGE
  1718. TPD1 CEASE END TASK
  1719. TTE SPACE 4,10
  1720. ** TTE - TERMINATE TERMINAL IN ERROR.
  1721. *
  1722. * ENTRY (B2) = ERROR CODE.
  1723. *
  1724. * USES X - 1, 2, 6.
  1725. * A - 1, 6.
  1726. *
  1727. * MACROS CEASE, SEND.
  1728.  
  1729.  
  1730. TTE BSS 0 ENTRY
  1731. SA1 ERT+B2
  1732. SX2 X1 FWA OF THE MESSAGE
  1733. AX1 18 MESSAGE LENGTH
  1734. LX2 30
  1735. BX6 X2+X1
  1736. SA6 PADR
  1737. SEND PADR SEND ERROR MESSAGE
  1738. SA1 MADA
  1739. BX6 X1
  1740. SA6 PADR
  1741. SEND PADR SEND TERMINATION MESSAGE
  1742. CEASE TERMINATE TASK
  1743. ERK SPACE 4,10
  1744. * TABLE OF MESSAGE CODES FOR BOTH TERMINAL AND *K-DISPLAY*.
  1745.  
  1746. ERC BSS 0
  1747. LOC 0
  1748. ER0 BSS 1 *DATA BASE/FILE NAME UNKNOWN.*
  1749. ER1 BSS 1 *NOT ALL DATA BASE FILES UPPED.*
  1750. ER2 BSS 1 *DATA BASE/FILE CANNOT BE UPPED.*
  1751. ER3 BSS 1 *DATA BASE/FILE ALREADY DOWN OR IDLE.*
  1752. ER4 BSS 1 *INSUFFICIENT FL FOR THIS COMMAND.*
  1753. ER5 BSS 1 *INCORRECT COMMAND.*
  1754. ER7 BSS 1 *REQUEST COMPLETE.*
  1755. ER8 BSS 1 *CRMTASK TIMEOUT.* (TERMINAL ONLY)
  1756. LOC *O
  1757. ORG ERC RESET ORIGIN COUNTER
  1758.  
  1759. * ERROR MESSAGES FOR *K-DISPLAY*.
  1760.  
  1761. ERKA KDL 7,M,(DATA BASE/FILE NAME UNKNOWN.)
  1762. ERKAL EQU *-ERKA
  1763. ERKB KDL 7,M,(NOT ALL DATA BASE FILES UPPED.)
  1764. ERKBL EQU *-ERKB
  1765. ERKC KDL 7,M,(DATA BASE/FILE CANNOT BE UPPED.)
  1766. ERKCL EQU *-ERKC
  1767. ERKD KDL 7,M,(DATA BASE/FILE ALREADY DOWN OR IDLE.)
  1768. ERKDL EQU *-ERKD
  1769. ERKE KDL 7,M,(INSUFFICIENT FIELD LENGTH FOR THIS COMMAND.)
  1770. ERKEL EQU *-ERKE
  1771. ERKF KDL 7,M,(INCORRECT COMMAND.)
  1772. ERKFL EQU *-ERKF
  1773. ERKH KDL 7,M,(REQUEST COMPLETE.)
  1774. ERKHL EQU *-ERKH
  1775.  
  1776. * TABLE OF ERROR MESSAGE ADDRESSES AND LENGTHS.
  1777.  
  1778. ERK BSS 0
  1779. LOC 0
  1780. VFD 24/0,18/ERKAL,18/ERKA
  1781. VFD 24/0,18/ERKBL,18/ERKB
  1782. VFD 24/0,18/ERKCL,18/ERKC
  1783. VFD 24/0,18/ERKDL,18/ERKD
  1784. VFD 24/0,18/ERKEL,18/ERKE
  1785. VFD 24/0,18/ERKFL,18/ERKF
  1786. VFD 24/0,18/ERKHL,18/ERKH
  1787. LOC *O
  1788. ERT SPACE 4,10
  1789. * ERROR MESSAGES FOR TERMINAL.
  1790.  
  1791. ERTA DATA 50CDATA BASE/FILE NAME UNKNOWN.
  1792. ERTAL EQU *-ERTA
  1793. ERTB DATA 50CNOT ALL DATA BASE FILES UPPED.
  1794. ERTBL EQU *-ERTB
  1795. ERTC DATA 50CDATA BASE/FILE CANNOT BE UPPED.
  1796. ERTCL EQU *-ERTC
  1797. ERTD DATA 50CDATA BASE/FILE ALREADY DOWN OR IDLE.
  1798. ERTDL EQU *-ERTD
  1799. ERTE DATA 50CINSUFFICIENT FIELD LENGTH FOR THIS COMMAND.
  1800. ERTEL EQU *-ERTE
  1801. ERTF DATA 50CINCORRECT COMMAND.
  1802. ERTFL EQU *-ERTF
  1803. ERTH DATA 50CREQUEST COMPLETE.
  1804. ERTHL EQU *-ERTH
  1805. ERTI DATA 50CCRMTASK TIMEOUT.
  1806. ERTIL EQU *-ERTI
  1807.  
  1808. * TABLE OF ERROR MESSAGE ADDRESSES AND LENGTHS.
  1809.  
  1810. ERT BSS 0
  1811. LOC 0
  1812. VFD 24/0,18/ERTAL,18/ERTA
  1813. VFD 24/0,18/ERTBL,18/ERTB
  1814. VFD 24/0,18/ERTCL,18/ERTC
  1815. VFD 24/0,18/ERTDL,18/ERTD
  1816. VFD 24/0,18/ERTEL,18/ERTE
  1817. VFD 24/0,18/ERTFL,18/ERTF
  1818. VFD 24/0,18/ERTHL,18/ERTH
  1819. VFD 24/0,18/ERTIL,18/ERTI
  1820. LOC *O
  1821. SPACE 4
  1822. MSGA DATA 1L
  1823. DATA C*CRMTASK COMPLETE.*
  1824. MSGAL EQU *-MSGA
  1825. MSGB DATA 1L
  1826. DATA C*ENTER NEXT COMMAND...*
  1827. MSGBL EQU *-MSGB
  1828.  
  1829.  
  1830. MADA VFD 30/MSGA,30/MSGAL
  1831. MADB VFD 30/MSGB,30/MSGBL
  1832. KDA SPACE 4,10
  1833. * CRMSTAT K-DISPLAY.
  1834.  
  1835. KDA VFD 10/0,1/0,1/0,6/0,18/0,24/2 FORMAT CONTROL WORD
  1836. KDL 28,T,(CRM STATUS)
  1837. KDL 16,,(TRANSACTIONS IN INPUT QUEUE = )
  1838. KDAA KDL 47,K,( )
  1839. KDL 16,,(ACTIVE TRANSACTIONS =)
  1840. KDAB KDL 37,K,( )
  1841. KDL 16,,(TRANSACTIONS IN OUTPUT QUEUE = )
  1842. KDAC KDL 47,H,( )
  1843. KDL 6,K,(DATA DATA DATA)
  1844. KDL 6,H,(BASE STATUS BASE STATUS BASE STA
  1845. ,TUS)
  1846. KDAD BSS 0 START OF VARIABLE DISPLAY
  1847. DUP KFNL-10,1 ASSIGN SPACE FOR DATA BASE NAMES/STATUSES
  1848. KDL 7,K,(
  1849. , )
  1850. KDAE KDL 5,K,(
  1851. , ) *MORE* LINE
  1852. KDAF KDL 7,M,(
  1853. , ) MESSAGE LINE
  1854. KDAG KDL 1,I,(
  1855. , ) KEYBOARD INPUT LINE
  1856. CON 0 END OF DISPLAY
  1857. KDB SPACE 4,10
  1858. * DATA BASE STATUS DISPLAY.
  1859.  
  1860. KDB BSS 0 ZERO BYTE FORMAT
  1861. VFD 10/0,1/0,1/1,1/1,5/0,18/0,24/2 FORMAT CONTROL WORD
  1862. KDBA BSS 0
  1863. DUP 5,1
  1864. DATA 60C
  1865. ,
  1866. KDBB BSS 0
  1867. DUP 15,1
  1868. DATA 60C
  1869. ,
  1870. KDBC DATA 60C
  1871. , *MORE* LINE
  1872. KDBD DATA 50C
  1873. , END OF MESSAGE LINE
  1874. KDBE DATA 50C
  1875. , END OF KEYBOARD INPUT LINE
  1876. CON 0
  1877.  
  1878. * DATA BASE STATUS HEADING.
  1879.  
  1880. KDBF DATA 60C
  1881. ,
  1882. DATA 60C ---------------- CRM DATA BASE STATUS -----------
  1883. ,-----
  1884. DATA 60C
  1885. ,
  1886. KDBG DATA 60C DATA BASE NAME = AFTER IMAGE FILE =
  1887. ,
  1888. KDBH DATA 60C DATA BASE STATUS = PRU-S REMAINING =
  1889. ,
  1890. KDBFW EQU *-KDBF NUMBER OF WORDS
  1891. KDBFL EQU KDBFW/7 NUMBER OF LINES
  1892. ERRNZ KDBFL*7-KDBFW ASSUMES 7 WORDS PER DISPLAY LINE
  1893.  
  1894. * BEFORE IMAGE FILE HEADER.
  1895.  
  1896. KDBI DATA 60C
  1897. ,
  1898. DATA 60C ------------- BEFORE IMAGE FILES STATUS --------
  1899. ,------
  1900. DATA 60C FILE STATUS FILE STATUS FILE
  1901. ,STATUS
  1902. DATA 60C
  1903. ,
  1904. KDBIW EQU *-KDBI NUMBER OF WORDS
  1905. KDBIL EQU KDBIW/7 NUMBER OF LINES
  1906. ERRNZ KDBIL*7-KDBIW ASSUMES 7 WORDS PER DISPLAY LINE
  1907.  
  1908. * DATA BASE FILE HEADER.
  1909.  
  1910. KDBJ DATA 60C
  1911. ,
  1912. DATA 60C --------------- DATA BASE FILES STATUS ---------
  1913. ,------
  1914. DATA 60C FILE STATUS FILE STATUS FILE
  1915. ,STATUS
  1916. DATA 60C
  1917. ,
  1918. KDBJW EQU *-KDBJ NUMBER OF WORDS
  1919. KDBJL EQU KDBJW/7 NUMBER OF LINES
  1920. ERRNZ KDBJL*7-KDBJW ASSUMES 7 WORDS PER DISPLAY LINE
  1921.  
  1922. * FILE AND STATUS SUB-HEADING.
  1923.  
  1924. KDBK DATA 60C
  1925. ,
  1926. DATA 60C FILE STATUS FILE STATUS FILE
  1927. ,STATUS
  1928. DATA 60C
  1929. ,
  1930. KDBKW EQU *-KDBK NUMBER OF WORDS
  1931. KDBKL EQU KDBKW/7 NUMBER OF LINES
  1932. ERRNZ KDBKL*7-KDBKW ASSUMES 7 WORDS PER DISPLAY LINE
  1933. KDC SPACE 4,10
  1934. * FILE STATUS DISPLAY.
  1935.  
  1936. KDC BSS 0 ZERO BYTE FORMAT
  1937. VFD 10/0,1/0,1/1,1/1,5/0,18/0,24/2 FORMAT CONTROL WORD
  1938. KDCA DATA 1L
  1939. DATA C* CRM FILE STATUS *
  1940. DATA 1L
  1941. KDCB DATA C* FILE NAME = *
  1942. KDCD DATA C* FILE STATUS = *
  1943. KDCE DATA C* RECOVERABLE = *
  1944. DATA 1L
  1945. KDCF DATA C* PACK NAME = *
  1946. KDCG DATA C* DEVICE TYPE = *
  1947. KDCH DATA C* ATTACH MODE = *
  1948. DATA 1L
  1949. KDCI DATA C* SIZE OF PRIMARY KEY = *
  1950. KDCJ DATA C* NUMBER OF ALTERNATE KEYS = *
  1951. DATA 1L
  1952. KDCK DATA C* ACTIVE USERS = *
  1953. KDCL DATA C* ACTIVE LOCKS = *
  1954. KDC1L EQU KDCL+3-KDCA
  1955. DUP 5,1
  1956. DATA 1L
  1957. KDCM DATA 50C
  1958. , END OF MESSAGE LINE
  1959. KDCN DATA C*
  1960. , * END OF KEYBOARD INPUT LINE
  1961. CON 0 END OF DISPLAY
  1962. SPACE 4,10
  1963. ** MENU DISPLAY.
  1964.  
  1965. KDE BSS 0
  1966. VFD 10/0,1/0,1/0,6/0,18/0,24/2
  1967. KDL 25,T,(CRMTASK COMMANDS)
  1968. KDL 8,K,(CRMSTAT SEE ALL CRM DATA BASES.)
  1969. KDL 8,K,(CRMSTAT,DB SEE CRM DATA BASE DB.)
  1970. KDL 8,H,(CRMSTAT,DBPFN SEE CRM DATA BASE FILE DBPFN.)
  1971. KDL 8,K,(DBDOWN,DB DOWN DATA BASE DB.)
  1972. KDL 8,K,(DBDOWN,DBPFN DOWN DATA BASE FILE DBPFN.)
  1973. KDL 8,K,(DBUP,DB UP DATA BASE DB.)
  1974. KDL 8,H,(DBUP,DBPFN UP DATA BASE FILE DBPFN.)
  1975. KDL 8,K,(END END CRMTASK PROCESSING.)
  1976. KDL 8,K,(MENU SEE THIS DISPLAY.)
  1977. KDL 8,K,(+ PAGE LEFT SCREEN FORWARD.)
  1978. KDL 8,K,(- PAGE LEFT SCREEN BACKWARD.)
  1979. KDEA KDL 7,M,(
  1980. , ) MESSAGE LINE
  1981. KDEB KDL 1,I,(
  1982. , ) KEYBOARD INPUT LINE
  1983. CON 0 END OF DISPLAY
  1984. SPACE 4,10
  1985.  
  1986. * BLANK LINES FOR *K-DISPLAY*.
  1987.  
  1988. KBLC DATA 50H
  1989. KBLCL EQU *-KBLC
  1990. KBLF KDL 7,M,(
  1991. , )
  1992. KBLFL EQU *-KBLF
  1993. SPACE 4,10
  1994. * Y-COORDINATE TABLE.
  1995.  
  1996. KBLG KDL *
  1997. PRK HERE REMOTE BLOCK FROM *COMCDCP*
  1998.  
  1999. SPACE 4,10
  2000. *** COMMON DECKS.
  2001.  
  2002. *CALL COMCCDD
  2003. *CALL COMCDCP
  2004. *CALL,COMCDXB
  2005. *CALL COMCMVE
  2006. *CALL COMCSFN
  2007. *CALL COMCSNM
  2008. *CALL COMCSYS
  2009. *CALL COMCUPC
  2010. *CALL,COMSPFM
  2011. BUF EJECT
  2012. * DEFINE BUFFER SIZES FOR *AAMI* REQUESTS.
  2013.  
  2014. CST1L EQU CMDM*RMDM*TSEQE+TSEQE+1+2*AAMQFL+AIBFL+AOBFL+1
  2015. CST2L EQU CMAXDB*TDRFE+1
  2016. DST1L EQU TDRFE+1+TARFE+1+BMAX*TQRFE+1
  2017. DST2L EQU CMAXNF*TLNTE+1
  2018. FSTBL EQU TLNTE+1+2+1
  2019.  
  2020. * DETERMINE MAXIMUM REQUIRED BUFFER SIZE.
  2021.  
  2022. .1 MAX CST1L,DST1L,FSTBL
  2023. .2 MAX CST2L,DST2L
  2024. BUFSIZE EQU .1+.2
  2025.  
  2026. * ALLOCATE BUFFER.
  2027.  
  2028. BADR BSSZ BUFSIZE+10B
  2029. SPACE 4,10
  2030. END CRMTASK
cdc/nos2.source/opl871/crmtask.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator