Table of Contents

LIDOU

Table Of Contents

  • [00002] LIDOU - LOGICAL IDENTIFIER OPERATOR UTILITY.
  • [00182] DEFINITIONS.
  • [00253] TLAT - TABLE OF LOGICAL IDENTIFIER ATTRIBUTES.
  • [00285] TPAT - TABLE OF PHYSICAL IDENTIFIER ATTRIBUTES.
  • [00322] WORKING STORAGE.
  • [00515] MAIN PROGRAM.
  • [00517] MAIN PROGRAM.
  • [00532] SUBROUTINES.
  • [00534] ERR - ERROR ROUTINE.
  • [00565] FBL - FORMAT BUFFER FOR LID TABLE.
  • [00631] FLL - FORMAT LID LINE.
  • [00681] FLT - FORMAT LISTING OF LID TABLE.
  • [00755] FPL - FORMAT PID LINE(S).
  • [00862] FRL - FORMAT RESPONSE LINES.
  • [00902] FRS - FORMAT REQUESTED SCREEN.
  • [00956] GLA - GET LID ATTRIBUTES.
  • [00986] GLT - GET LID TABLE.
  • [01016] GPA - GET PID ATTRIBUTES.
  • [01046] GPL - GET PID LINE COUNT.
  • [01078] LED - LIDOU END.
  • [01103] PCM - PROCESS COMMANDS.
  • [01185] PIF - PROCESS INPUT FILE.
  • [01237] PKB - PROCESS KEYBOARD.
  • [01282] POC - PROCESS OUT COMMAND.
  • [01321] POF - PROCESS OUTPUT FILE.
  • [01379] PSB - PAGE SCREEN BACKWARD.
  • [01443] PSF - PAGE SCREEN FORWARD.
  • [01502] RLD - REFORMAT LID TABLE.
  • [01566] SET - SET ATTRIBUTE(S).
  • [01597] SLA - SET LID ATTRIBUTE(S).
  • [01730] SLF - SET LID FLAGS.
  • [01814] SMF - SET MAINFRAME TYPE.
  • [01854] SNS - SET NETWORK STATUS.
  • [01932] SPA - SET PID ATTRIBUTE(S).
  • [02023] STL - SEARCH TABLE FOR LID.
  • [02055] STP - SEARCH TABLE FOR PID.
  • [02080] THD - TOGGLE TO HELP DISPLAY.
  • [02099] TLD - TOGGLE TO LID DISPLAY.
  • [02139] BUFFERS.
  • [02163] PRESET.
  • [02165] PRS - PRESET.

Source Code

LIDOU.txt
  1. IDENT LIDOU,FWA,LIDOU
  2. TITLE LIDOU - LOGICAL IDENTIFIER OPERATOR UTILITY.
  3. ABS
  4. SST
  5. ENTRY LIDOU
  6. ENTRY RFL=
  7. ENTRY SSJ=
  8. SYSCOM B1
  9. *COMMENT LIDOU - LOGICAL ID OPERATOR UTILITY.
  10. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  11. SPACE 4,10
  12. ***** LIDOU - LOGICAL IDENTIFIER OPERATOR UTILITY.
  13. *
  14. * S. D. PAINTER 83/11/01.
  15. SPACE 4,15
  16. * *LIDOU* IS AN *L* DISPLAY OPERATOR UTILITY THAT DISPLAYS THE
  17. * *LID* TABLE AND ALLOWS ADDITION, DELETION, OR ALTERATION OF
  18. * ATTRIBUTES FOR SPECIFIED LIDS AND THE CAPABILITY TO ENABLE
  19. * OR DISABLE PIDS IN RELATION TO *NAM*, *RHF*, OR *SSF*. THE
  20. * CAPABILITY ALSO EXISTS TO FORMAT A LISTING TO THE PRINTER.
  21. * IF LIDOU IS EXECUTED FROM *DSD* ALL INPUT AND OUTPUT WILL
  22. * BE PROCESSED VIA THE CONSOLE *L* DISPLAY. IF LIDOU IS IN-
  23. * ITIATED FROM *DIS* OR A BATCH JOB BOTH AN INPUT AND AN OUT-
  24. * PUT FILE MUST BE SPECIFIED ON THE CONTROL STATEMENT.
  25. SPACE 4,10
  26. *** CONTROL STATEMENT CALL.
  27. *
  28. * LIDOU. (FROM CONSOLE ONLY)
  29. * LIDOU(I=LFN1,L=LFN2). (FROM *DIS* OR A BATCH JOB)
  30. SPACE 4,10
  31. *** DAYFILE MESSAGES.
  32. *
  33. * THESE MESSAGES ARE ISSUED TO THE JOB AND SYSTEM DAYFILE.
  34. *
  35. * * LIDOU UTILITY COMPLETE.*
  36. * INDICATES NORMAL TERMINATION.
  37. *
  38. * * INCORRECT USER ACCESS.*
  39. * CALLING JOB WAS NOT SYSTEM ORIGIN (FATAL ERROR).
  40. *
  41. * * NO INPUT/OUTPUT FILE SPECIFIED.*
  42. * THE CALLING JOB CANNOT ACCESS THE *L* DISPLAY
  43. * AND MUST THEREFORE SPECIFY BOTH AN INPUT AND
  44. * AN OUTPUT FILE (FATAL ERROR).
  45. *
  46. * * FILE NAME CONFLICT.*
  47. * THE INPUT FILE AND OUTPUT FILE SPECIFIED WERE
  48. * THE SAME (FATAL ERROR).
  49. *
  50. * * INPUT FILE NOT FOUND.*
  51. * THE INPUT FILE SPECIFIED DOES NOT EXIST (FATAL
  52. * ERROR).
  53. SPACE 4,10
  54. *** *L* DISPLAY MESSAGES.
  55. *
  56. * NOTE THE FOLLOWING MESSAGES ARE DISPLAYED ON THE SECOND
  57. * TO LAST LINE ON THE *L* DISPLAY WITH THE ECHOED
  58. * COMMAND ON THE LAST LINE.
  59. *
  60. * * COMMAND PROCESSED.*
  61. * THE COMMAND ENTERED WAS PROCESSED SUCCESSFULLY.
  62. *
  63. * * ERROR IN ATTRIBUTE.*
  64. * AN ATTRIBUTE WAS SPECIFIED TWICE OR *S* AND *B* OR
  65. * *E* AND *D* WERE SPECIFIED TOGETHER OR *V* WAS NOT
  66. * SPECIFIED FOR A HOST PID.
  67. *
  68. * * LID TABLE EMPTY.*
  69. * THE LID TABLE READ FROM CENTRAL MEMORY WAS EMPTY
  70. * (PROGRAM TERMINATED).
  71. *
  72. * * INCORRECT ATTRIBUTE.*
  73. * THE ATTRIBUTE SPECIFIED WAS NOT ONE OF THE
  74. * ALLOWABLE ATTRIBUTES FOR THE COMMAND SPECIFIED.
  75. *
  76. * * INCORRECT COMMAND.*
  77. * THE COMMAND SPECIFIED WAS NOT RECOGNIZED AS ONE OF
  78. * THE ALLOWABLE COMMANDS. SEE AVAILABLE COMMANDS.
  79. *
  80. * * INCORRECT LID.*
  81. * THE LID SPECIFIED WAS NOT A CORRECT THREE CHARACTER
  82. * (ALPHANUMERIC) LID.
  83. *
  84. * * INCORRECT MAINFRAME.*
  85. * A MAINFRAME DESCRIPTOR OF LENGTH ZERO OR GREATER
  86. * THAN SEVEN CHARACTERS WAS SPECIFIED.
  87. *
  88. * * INCORRECT NETWORK.*
  89. * THE NETWORK SPECIFIED WAS NOT *RHF*, *NAM*, *SSF*,
  90. * OR *ALL*.
  91. *
  92. * * INCORRECT SEPARATOR.*
  93. * THE SEPARATOR USED WAS NOT A COMMA OR AN EQUAL SIGN
  94. * AS REQUIRED BY THE COMMAND SYNTAX.
  95. *
  96. * * INCORRECT STATUS.*
  97. * THE STATUS SPECIFIED WAS NOT *E*, (ENABLE), OR *D*
  98. * (DISABLE).
  99. *
  100. * * UTILITY COMPLETE.*
  101. * INDICATES NORMAL TERMINATION.
  102. *
  103. * * LID NOT ALTERED.*
  104. * AN ATTEMPT TO ALTER A LID WAS REJECTED BY *SFM*.
  105. *
  106. * * PID NOT ALTERED.*
  107. * AN ATTEMPT TO ALTER A PID WAS REJECTED BY *SFM*.
  108. *
  109. * * MAINFRAME NOT SET.*
  110. * AN ATTEMPT TO ALTER A MAINFRAME DESCRIPTOR WAS
  111. * REJECTED BY *SFM*.
  112. *
  113. * * LID NOT DELETED.*
  114. * AN ATTEMPT TO DELETE A LID WAS REJECTED BY *SFM*.
  115. *
  116. * * LID NOT FOUND.*
  117. * THE LID SPECIFIED COULD NOT BE FOUND IN THE LID
  118. * TABLE FOR THE SPECIFIED PID.
  119. *
  120. * * NO SPACE AVAILABLE.*
  121. * NO ROOM EXISTS IN THE LID TABLE TO ADD A LID FOR
  122. * THE SPECIFIED PID.
  123. *
  124. * * PID NOT FOUND.*
  125. * THE PID SPECIFIED COULD NOT BE FOUND IN THE LID
  126. * TABLE.
  127. *
  128. * * EXCESS PARAMETERS.*
  129. * TOO MANY PARAMETERS WERE SPECIFIED ON THE COMMAND.
  130. * SEE LIST OF AVAILABLE COMMANDS.
  131. SPACE 4,10
  132. *** AVAILABLE *L* DISPLAY COMMANDS.
  133. *
  134. * L.END TERMINATE LIDOU
  135. * L.BACK FORMAT LID DISPLAY
  136. * L.HELP FORMAT HELP DISPLAY
  137. * L.+ PAGES THE L DISPLAY FORWARD
  138. * L.- PAGES THE L DISPLAY BACKWARD
  139. * L.OUT ROUTES A LISTING OF THE LID TABLE
  140. * L.PID,PA=XXZ SET ALL APPLICABLE PID ATTRIBUTES
  141. * L.PID,NT=NNN,NA=Z ENABLE/DISABLE NETWORK STATUS
  142. * L.PID,LD=LID, ADD OR SET ATTRIBUTES FOR LID
  143. * LA=YYYZ
  144. * L.PID,LD=LID, DELETE LID FROM LID TABLE
  145. * DELETE
  146. * L.PID,MF=MAINFRM SET MAINFRAME DESCRIPTION
  147. *
  148. * PARAMETER DESCRIPTIONS
  149. *
  150. * PID IS THE THREE CHARACTER PHYSICAL IDENTIFIER
  151. * LID IS AN ASSOCIATED THREE CHARACTER LOGICAL
  152. * IDENTIFIER
  153. * MAINFRM IS A (ONE TO SEVEN CHARACTER) MAINFRAME
  154. * DESCRIPTOR
  155. * NNN IS THE NETWORK (*RHF*, *SSF*, *NAM*, OR *ALL*)
  156. * X CAN BE V OR N. Y CAN BE S, B, V OR N.
  157. * Z CAN BE E OR D.
  158. *
  159. * ATTRIBUTE DESCRIPTIONS
  160. *
  161. * S - STORE AND LIDS FOR LINKED PIDS ONLY
  162. * FORWARD
  163. * B - LOOPBACK LIDS FOR HOST PIDS ONLY
  164. * V - VALIDATE NOTE THAT S AND B CAN NOT
  165. * D - DISABLE BE SPECIFIED TOGETHER AND
  166. * E - ENABLE ALSO THAT E AND D CAN NOT
  167. * N - NOLIST BE SPECIFIED TOGETHER
  168. *
  169. * THE LIST OF LEGAL ATTRIBUTE COMBINATIONS FOR
  170. * LOGICAL IDENTIFIERS (LIDS) IS IN TABLE *TLAT*.
  171. * THE LIST OF LEGAL ATTRIBUTE COMBINATIONS FOR
  172. * PHYSICAL IDENTIFIERS (PIDS) IS IN TABLE *TPAT*.
  173. SPACE 4,10
  174. ** COMMON DECKS.
  175. *
  176. *CALL COMCMAC
  177. *CALL COMCCMD
  178. *CALL COMCDCM
  179. *CALL COMSEVT
  180. *CALL COMSSFM
  181. *CALL COMSSSJ
  182. TITLE DEFINITIONS.
  183. SPACE 4,10
  184. **** ASSEMBLY CONSTANTS.
  185.  
  186. INPC EQU 4 *L* DISPLAY INPUT COMPLETE STATUS
  187. LBOL EQU LDSY *L* DISPLAY OUTPUT BUFFER LENGTH
  188. LBIL EQU LCOM *L* DISPLAY INPUT BUFFER LENGTH
  189. LIIL EQU MXLDT+1 LID TABLE BUFFER LENGTH
  190. INPL EQU 101B LENGTH OF INPUT BUFFER
  191. MFTL EQU MXPID+1 LENGTH OF MAINFRAME DESCRIPTOR BUFFER
  192. NMLL EQU 20B NUMBER OF LINES TO FORMAT
  193. OUTL EQU 101B LENGTH OF OUTPUT BUFFER
  194. OUTL EQU 101B LENGTH OF OUTPUT BUFFER
  195. XCDT EQU 1 *L* DISPLAY FIRST CHARACTER POSITION
  196. YCDT EQU 2 *L* DISPLAY FIRST LINE NUMBER
  197.  
  198. ****
  199. SPACE 4,10
  200. ORG 120B
  201. FWA BSS 0
  202. SPACE 4,10
  203. ** DAYFILE MESSAGES.
  204.  
  205. DAFC DATA C* LIDOU UTILITY COMPLETE.*
  206. SPACE 4,10
  207. ** *L* DISPLAY MESSAGES.
  208.  
  209. MSCP DATA 20HCOMMAND PROCESSED.
  210. MSEA DATA 20HERROR IN ATTRIBUTE.
  211. MSET DATA 20HLID TABLE EMPTY.
  212. MSIA DATA 20HINCORRECT ATTRIBUTE.
  213. MSIC DATA 20HINCORRECT COMMAND.
  214. MSIL DATA 20HINCORRECT LID.
  215. MSIM DATA 20HINCORRECT MAINFRAME.
  216. MSIN DATA 20HINCORRECT NETWORK.
  217. MSIP DATA 20HINCORRECT SEPARATOR.
  218. MSIS DATA 20HINCORRECT STATUS.
  219. MSLC DATA 20HUTILITY COMPLETE.
  220. MSNA DATA 20HLID NOT ALTERED.
  221. MSNC DATA 20HPID NOT ALTERED.
  222. MSMF DATA 20HMAINFRAME NOT SET.
  223. MSND DATA 20HLID NOT DELETED.
  224. MSNF DATA 20HLID NOT FOUND.
  225. MSNS DATA 20HNO SPACE AVAILABLE.
  226. MSPN DATA 20HPID NOT FOUND.
  227. MSTP DATA 20HEXCESS PARAMETERS.
  228. SPACE 4,10
  229. ** ROLLOUT PARAMETER BLOCK.
  230.  
  231. ROLL VFD 30/0,18/LINE,12/10
  232. SPACE 4,10
  233. ** ROUTE PARAMETER BLOCK.
  234.  
  235. ROTB DATA 6LOUTPUT
  236. BSSZ 6
  237. SPACE 4,10
  238. ** SSJ= PARAMETER BLOCK.
  239.  
  240. SSJ= BSS 0 SSJ= ENTRY POINT
  241. BSSZ SSJL SSJ= PARAMETER BLOCK
  242. SPACE 4,10
  243. ** FET DEFINITIONS.
  244.  
  245. LIDF FILEB LIDI,LIIL,FET=5 LID TABLE FET
  246.  
  247. IF BSS 0
  248. INPUT FILEB INPU,INPL,FET=5 INPUT FET
  249.  
  250. LF BSS 0
  251. OUTPUT FILEB OUTP,OUTL,FET=5 OUTPUT FET
  252. SPACE 4,10
  253. ** TLAT - TABLE OF LOGICAL IDENTIFIER ATTRIBUTES.
  254. *
  255. *T 42/ LA, 14/ 0, 4/ AM.
  256. *
  257. * LA - LID ATTRIBUTES (ALPHABETIC REPRESENTATION).
  258. * AM - ATTRIBUTE MASK (OCTAL REPRESENTATION).
  259. *
  260. * NOTES THE FORMAT OF THE ATTRIBUTE MASK IS -
  261. *
  262. * 1/ S 1 = STORE AND FORWARD
  263. * 1/ B 1 = LOOPBACK
  264. * 1/ V 1 = VALIDATE
  265. * 1/ N 1 = NOLIST
  266. *
  267. * THE ALPHABETIC REPRESENTATION EXCLUDES THE *E*
  268. * BIT SINCE THE LID DISPLAY HAS A SEPARATE WORD
  269. * TO SHOW THE ENABLED/DISABLED STATUS.
  270.  
  271. TLAT VFD 42/7L ---- ,14/0,4/00B
  272. VFD 42/7L ---N ,14/0,4/01B
  273. VFD 42/7L -B-- ,14/0,4/02B
  274. VFD 42/7L -B-N ,14/0,4/03B
  275. VFD 42/7L --V- ,14/0,4/04B
  276. VFD 42/7L --VN ,14/0,4/05B
  277. VFD 42/7L -BV- ,14/0,4/06B
  278. VFD 42/7L -BVN ,14/0,4/07B
  279. VFD 42/7L S--- ,14/0,4/10B
  280. VFD 42/7L S--N ,14/0,4/11B
  281. VFD 42/7L S-V- ,14/0,4/14B
  282. VFD 42/7L S-VN ,14/0,4/15B
  283. VFD 60/0 END OF TABLE
  284. SPACE 4
  285. ** TPAT - TABLE OF PHYSICAL IDENTIFIER ATTRIBUTES.
  286. *
  287. *T 42/ PA, 14/ 0, 4/ AM.
  288. *
  289. * PA - PID ATTRIBUTES (ALPHABETIC REPRESENTATION).
  290. * AM - ATTRIBUTE MASK (OCTAL REPRESENTATION).
  291. *
  292. * NOTES THE FORMAT OF THE ATTRIBUTE MASK IS -
  293. *
  294. * 1/ H/L 1 = HOST, 0 = LINK
  295. * 1/ E 1 = ENABLE, 0 =DISABLED
  296. * 1/ V 1 = VALIDATE
  297. * 1/ N 1 = NOLIST
  298. *
  299. * THE ALPHABETIC REPRESENTATION EXPANDS THE *H*
  300. * BIT TO *H* AND *L* AND EXCLUDES THE *E* BIT
  301. * SINCE THE LID DISPLAY HAS A SEPARATE WORD TO
  302. * SHOW THE ENABLED/DISABLED STATUS.
  303.  
  304.  
  305. TPAT VFD 42/7L -L-- ,14/0,4/00B
  306. VFD 42/7L -L-N ,14/0,4/01B
  307. VFD 42/7L -LV- ,14/0,4/02B
  308. VFD 42/7L -LVN ,14/0,4/03B
  309. VFD 42/7L -L-- ,14/0,4/04B
  310. VFD 42/7L -L-N ,14/0,4/05B
  311. VFD 42/7L -LV- ,14/0,4/06B
  312. VFD 42/7L -LVN ,14/0,4/07B
  313. VFD 42/7L H--- ,14/0,4/10B
  314. VFD 42/7L H--N ,14/0,4/11B
  315. VFD 42/7L H-V- ,14/0,4/12B
  316. VFD 42/7L H-VN ,14/0,4/13B
  317. VFD 42/7L H--- ,14/0,4/14B
  318. VFD 42/7L H--N ,14/0,4/15B
  319. VFD 42/7L H-V- ,14/0,4/16B
  320. VFD 42/7L H-VN ,14/0,4/17B
  321. VFD 60/0 END OF TABLE
  322. TITLE WORKING STORAGE.
  323. SPACE 4
  324.  
  325. ** *L* DISPLAY BUFFER FOR LID TABLE DISPLAY.
  326.  
  327. LIDA DATA 8L1 HEADER FOR LISTINGS
  328. DATA 8L
  329. DATA 10H
  330. LIDB DATA 50HPID LID ENABLED ATTR MFTYPE NETWORK ST
  331. DATA 8LATUS
  332. DATA 50H
  333. DATA 8L
  334. LIDD DATA 50H
  335. DATA 8L
  336. DATA 50H
  337. DATA 8L
  338. DATA 50H
  339. DATA 8L
  340. DATA 50H
  341. DATA 8L
  342. DATA 50H
  343. DATA 8L
  344. DATA 50H
  345. DATA 8L
  346. DATA 50H
  347. DATA 8L
  348. DATA 50H
  349. DATA 8L
  350. DATA 50H
  351. DATA 8L
  352. DATA 50H
  353. DATA 8L
  354. DATA 50H
  355. DATA 8L
  356. DATA 50H
  357. DATA 8L
  358. DATA 50H
  359. DATA 8L
  360. DATA 50H
  361. DATA 8L
  362. DATA 50H
  363. DATA 8L
  364. DATA 50H
  365. DATA 8L
  366. DATA 50H
  367. DATA 8L
  368. DATA 10H
  369. LIDE DATA 40H
  370. DATA 8L
  371. LIDO EQU *-LIDB COMMAND RESPONSE OFFSET
  372. DATA 50H
  373. DATA 8L
  374. DATA 50H
  375. DATA 8L
  376. CON 0 END OF BUFFER
  377. CON 0
  378. SPACE 4
  379.  
  380. HLPA DATA 8L1 HEADER FOR LISTINGS
  381. DATA 8L
  382. DATA 10H
  383. DATA 50H LID OPERATOR UTILITY OUTPUT LISTING
  384. DATA 8L
  385. DATA 50H
  386. DATA 8L
  387.  
  388. ** *L* DISPLAY BUFFER FOR PAGE ONE OF HELP DISPLAY.
  389.  
  390. HLPB DATA 50HLID OPERATOR UTILITY HELP DISPLAY PAG
  391. DATA 8LE 1 OF 2
  392. DATA 50H
  393. DATA 8L
  394. DATA 50HCOMMAND DESCRIPTION
  395. DATA 8L
  396. DATA 50H
  397. DATA 8L
  398. DATA 50HL.END TERMINATE LIDOU
  399. DATA 8L
  400. DATA 50HL.BACK FORMAT LID DISPLAY
  401. DATA 8L
  402. DATA 50HL.HELP FORMAT HELP DISPLAY
  403. DATA 8L
  404. DATA 50HL.+ PAGES THE L DISPLAY FORWA
  405. DATA 8LRD
  406. DATA 50HL.- PAGES THE L DISPLAY BACKW
  407. DATA 8LARD
  408. DATA 50HL.OUT ROUTES A LISTING OF THE L
  409. DATA 8LID TABLE
  410. DATA 50HL.PID,PA=XXZ SET ALL APPLICABLE PID AT
  411. DATA 8LTIBUTES
  412. DATA 50HL.PID,NT=NNN,NA=Z ENABLE/DISABLE NETWORK ST
  413. DATA 8LATUS
  414. DATA 50HL.PID,LD=LID,LA=YYYZ ADD OR SET ATTRIBUTES FOR
  415. DATA 8L LID
  416. DATA 50HL.PID,LD=LID,DELETE DELETE LID FROM LID TABLE
  417. DATA 8L
  418. DATA 50HL.PID,MF=MAINFRM SET MAINFRAME DESCRIPTION
  419. DATA 8L
  420. DATA 50H
  421. DATA 8L
  422. DATA 50HX CAN BE V OR N. Y CAN BE S, B, V OR N. Z CAN BE
  423. DATA 8L E OR D.
  424. DATA 50HALL COMMANDS CAN BE ENTERED FROM THE HELP OR LID D
  425. DATA 8LISPLAY
  426. DATA 50HENTER L.+ FOR MORE HELP (COMPLETE ATTRIBUTE DESCRI
  427. DATA 8LPTIONS)
  428. DATA 50H
  429. DATA 8L
  430. HLAO EQU *-HLPB COMMAND RESPONSE OFFSET
  431. DATA 50H
  432. DATA 8L
  433. DATA 50H
  434. DATA 8L
  435. CON 0 END OF BUFFER
  436. CON 0
  437. SPACE 4
  438.  
  439. ** *L* DISPLAY BUFFER FOR PAGE TWO OF HELP DISPLAY.
  440.  
  441. HLPC DATA 50HLID OPERATOR UTILITY HELP DISPLAY PAG
  442. DATA 8LE 2 OF 2
  443. DATA 50H
  444. DATA 8L
  445. DATA 50HATTRIBUTE DESCRIPTIONS
  446. DATA 8L
  447. DATA 50H
  448. DATA 8L
  449. DATA 50HS - STORE AND FORWARD LIDS FOR LINKED P
  450. DATA 8LIDS ONLY
  451. DATA 50HB - LOOPBACK LIDS FOR HOST PID
  452. DATA 8LS ONLY
  453. DATA 50HV - VALIDATE NOTE THAT S AND B
  454. DATA 8L CAN NOT
  455. DATA 50HD - DISABLE BE SPECIFIED TOGE
  456. DATA 8LTHER AND
  457. DATA 50HE - ENABLE ALSO THAT E AND D
  458. DATA 8L CAN NOT
  459. DATA 50HN - NOLIST BE SPECIFIED TOGE
  460. DATA 8LTHER
  461. DATA 50H
  462. DATA 8L
  463. DATA 50HPARAMETER DESCRIPTIONS
  464. DATA 8L
  465. DATA 50H
  466. DATA 8L
  467. DATA 50HPID IS THE THREE CHARACTER PHYSICAL IDENTIFIER
  468. DATA 8L
  469. DATA 50HLID IS AN ASSOCIATED THREE CHARACTER LOGICAL IDENT
  470. DATA 8LIFIER
  471. DATA 50HX CAN BE V OR N. Y CAN BE S, B, V OR N. Z CAN BE
  472. DATA 8L E OR D.
  473. DATA 50HMAINFRM IS A (ONE TO SEVEN CHARACTER) MAINFRAME DE
  474. DATA 8LSCRIPTOR
  475. DATA 50HNNN IS THE NETWORK (*RHF*, *SSF*, *NAM*, OR *ALL*)
  476. DATA 8L
  477. DATA 50HENTER L.- TO SEE THE AVAILABLE COMMANDS
  478. DATA 8L
  479. DATA 50H
  480. DATA 8L
  481. HLBO EQU *-HLPC COMMAND RESPONSE OFFSET
  482. DATA 50H
  483. DATA 8L
  484. DATA 50H
  485. DATA 8L
  486. CON 0 END OF BUFFER
  487. CON 0
  488. ERRNZ HLAO-LIDO COMMAND RESPONSE OFFSET NOT CONSISTENT
  489. ERRNZ HLBO-LIDO COMMAND RESPONSE OFFSET NOT CONSISTENT
  490. SPACE 4
  491. ** CONSTANT DATA.
  492.  
  493. BLKS DATA 10H BLANK MESSAGE
  494. DATA 10H
  495. DATA 8L WORD OF BLANKS WITH ZERO BYTE
  496. MORE DATA 10HMORE LID DISPLAY WORD FOR MORE DATA
  497. SPACE 4
  498. ** STORAGE LOCATIONS.
  499.  
  500. BUFF BSSZ 2 *GETPP* REPLY BUFFER
  501. CHDF CON 0 CHANGE IN LID DISPLAY FLAG
  502. CMLN CON 0 COMMAND LENGTH FOR OUTPUT FILE
  503. EMAD CON 0 ERROR MESSAGE ADDRESS
  504. HLPF CON 0 HELP DISPLAY FLAG
  505. LCNT CON 0 LINE COUNT FOR LISTINGS
  506. LDSF CON 0 *L* DISPLAY INPUT FLAG
  507. IND1 CON 0 FIRST DISPLAYED INDEX IN LID BUFFER
  508. IND2 CON 0 NEXT INDEX IN LID BUFFER TO BE DISPLAYED
  509. PAGC CON 0 PAGE LINE LIMIT
  510. PDFC CON 0 PRINT DENSITY FORMAT CONTROL CHARACTER
  511. PDFE CON 0 PRINT DENSITY FORMAT EFFECTOR FLAG
  512. PONE VFD 42/0,18/HLPB ADDRESS OF START OF CURRENT HELP PAGE
  513. PTWO VFD 42/0,18/HLPC ADDRESS OF START OF OTHER HELP PAGE
  514. WBUF BSSZ 20 WORKING BUFFER
  515. TITLE MAIN PROGRAM.
  516. LIDOU SPACE 4,10
  517. ** LIDOU - MAIN PROGRAM.
  518. *
  519. * CALLS PCM, PRS.
  520. *
  521. * NOTE CONTROL IS NOT RETURNED FROM ROUTINE *PCM* BUT
  522. * RATHER WHEN AN *L.END* COMMAND (OR AN *EOF* IN
  523. * THE CASE OF AN INPUT FILE) IS ENCOUNTERD ROU-
  524. * TINE *LED* IS CALLED WHICH TERMINATES LIDOU.
  525. *
  526.  
  527.  
  528. LIDOU BSS 0 ENTRY
  529. RJ PRS PRESET
  530. SB7 B0+ CLEAR ERROR MESSAGE ADDRESS
  531. RJ PCM PROCESS COMMANDS
  532. TITLE SUBROUTINES.
  533. ERR SPACE 4,15
  534. ** ERR - ERROR ROUTINE.
  535. *
  536. * ENTRY THE LID TABLE READ FROM CENTRAL MEMORY IS EMPTY.
  537. *
  538. * EXIT TO *LED* AFTER INITIAL OUTPUT MESSAGE.
  539. * (CHDF) = 0.
  540. *
  541. * USES X - 1, 6.
  542. * A - 1, 6.
  543. * B - 7.
  544. *
  545. * CALLS FRS, LED, POF.
  546.  
  547. ERR SA1 MSET * LID TABLE EMPTY.*
  548. BX6 X1
  549. SA1 A1+B1
  550. SA6 LBFI+1 MOVE MESSAGE TO COMMAND BUFFER
  551. BX6 X1
  552. SA6 A6+B1
  553. SX6 B0+ CLEAR CHANGED FLAG
  554. SA6 CHDF
  555. SA1 LDSF CHECK *L* DISPLAY FLAG
  556. ZR X1,ERR1 IF *L* DISPLAY NOT ACTIVE
  557. SB7 MSLC * UTILITY COMPLETE*
  558. RJ FRS FORMAT REQUESTED SCREEN
  559. JP LED END UTILITY
  560.  
  561. ERR1 SB7 MSET * LID TABLE EMPTY.*
  562. RJ POF PROCESS OUTPUT FILE
  563. JP LED END UTILITY
  564. FBL SPACE 4,20
  565. ** FBL - FORMAT BUFFER FOR LID TABLE.
  566. *
  567. * ENTRY *LIDI* CONTAINS THE REFORMATTED LID TABLE.
  568. * *MFTB* CONTAINS THE MAINFRAME AND NETWORK DATA.
  569. * (NMLL) = THE NUMBER OF USABLE LINES PER SCREEN.
  570. * (IND1) = INDEX INTO *LIDI* OF FIRST ENTRY
  571. * TO BE DISPLAYED.
  572. *
  573. * EXIT *LIDB* CONTAINS THE INFORMATION TO BE DISPLAYED.
  574. * (X7) = *MORE DATA* WORD FOR LID DISPLAY.
  575. * (X6) = INDEX INTO *LIDI* OF NEXT ENTRY,
  576. * (NOT YET DISPLAYED).
  577. *
  578. * USES X - 1, 2, 3, 6, 7.
  579. * A - 1, 2, 6.
  580. * B - 2, 3.
  581. *
  582. * CALLS FLL, FPL.
  583.  
  584.  
  585. FBL3 SA1 BLKS FORMAT BLANK LINE(S)
  586. SA2 BLKS+2
  587. FBL4 BX6 X1
  588. SA6 A6+B1
  589. SA6 A6+B1
  590. SA6 A6+B1
  591. SA6 A6+B1
  592. SA6 A6+B1
  593. BX6 X2 STORE END OF LINE
  594. SA6 A6+B1
  595. SB3 B3-1 CHECK IF STILL LINES TO FORMAT
  596. NZ B3,FBL4 IF NOT DONE
  597. FBL5 SA1 LIDI CHECK IF LAST SCREEN
  598. SX6 B2
  599. IX3 X6-X1
  600. SA1 BLKS
  601. SA2 MORE
  602. BX7 X1
  603. PL X3,FBLX IF LAST SCREEN
  604. BX7 X2
  605.  
  606. FBL SUBR ENTRY/EXIT
  607. SA1 LIDD-1 PRESET ADDRESSES
  608. BX6 X1
  609. SA6 A1
  610. SA2 IND1 GET INDEX INTO *LIDI*
  611. SB2 X2+
  612. SB3 NMLL SET NUMBER OF LINES TO FORMAT
  613. SA1 LIDI+B2 GET WORD FROM TABLE
  614. SX2 X1+ CHECK FOR LID OR PID
  615. ZR X2,FBL2 IF LID
  616. FBL1 SA2 X2 GET MAINFRAME AND SUBSYSTEM INFORMATION
  617. LX1 18 RIGHT JUSTIFY PID
  618. RJ FPL FORMAT PID LINE(S)
  619. ZR B3,FBL5 IF NO MORE LINES TO FORMAT
  620. SA1 LIDI+B2 GET NEXT WORD FROM TABLE
  621. FBL2 SB2 B2+1
  622. RJ FLL FORMAT LID LINE
  623. SB3 B3-B1
  624. SA1 LIDI+B2 GET NEXT WORD FROM TABLE
  625. SX2 X1
  626. ZR B3,FBL5 IF NO MORE LINES TO FORMAT
  627. ZR X1,FBL3 IF END OF TABLE
  628. ZR X2,FBL2 IF ANOTHER LID
  629. EQ FBL1 FORMAT NEXT PID
  630. FLL SPACE 4,15
  631. ** FLL - FORMAT LID LINE.
  632. *
  633. * ENTRY (X1) = THE WORD (FROM *LIDI*) CONTAINING THE LID.
  634. * (A6) = ADDRESS (MINUS ONE) TO STORE THE LINE.
  635. *
  636. * EXIT (A6) = ADDRESS (MINUS ONE) TO STORE THE NEXT LINE.
  637. *
  638. * USES X - 1, 2, 3, 4, 6.
  639. * A - 2, 3, 4 ,6.
  640. *
  641. * CALLS GLA.
  642.  
  643.  
  644. FLL2 SA2 FLLA+1 SAVE BLANK LID WORD
  645. BX6 X2
  646. SA6 A6+B1
  647. BX6 X3 ZERO WORDS TWO AND THREE
  648. SA6 A6+B1
  649. SA6 A6+1
  650. FLL3 SA6 A6+B1 ZERO WORDS FOUR AND FIVE
  651. SA6 A6+B1
  652. BX6 X4 END OF LINE
  653. SA6 A6+B1
  654.  
  655. FLL SUBR ENTRY/EXIT
  656. SA3 BLKS+1 GET BLANK WORD
  657. SA4 A3+B1
  658. MX6 -18 MASK OFF LID
  659. LX1 18
  660. BX6 -X6*X1
  661. ZR X6,FLL2 IF ZERO LID
  662. SA2 FLLA STORE LID WORD
  663. BX6 X6+X2
  664. SA6 A6+B1
  665. LX1 6 CHECK FOR ENABLED STATUS
  666. SA2 FPLA GET ENABLED STATUS WORD
  667. BX6 X2
  668. NG X1,FLL1 IF ENABLED
  669. SA2 A2+B1 GET DISABLED STATUS WORD
  670. BX6 X2
  671. FLL1 SA6 A6+B1 SAVE STATUS WORD
  672. LX1 5 RIGHT JUSTIFY ATTRIBUTES
  673. RJ GLA GET LID ATTRIBUTES
  674. SA6 A6+B1 SAVE ATTRIBUTE WORD
  675. BX6 X3
  676. EQ FLL3 FINISH LINE
  677.  
  678. FLLA VFD 42/7L ,18/0 LID WORD
  679. VFD 60/10L --- BLANK LID WORD
  680. FLT SPACE 4,20
  681. ** FLT - FORMAT LISTING OF LID TABLE.
  682. *
  683. * ENTRY *LIDI* CONTAINS THE REFORMATTED LID TABLE.
  684. * *MFTB* CONTAINS THE MAINFRAME AND NETWORK DATA.
  685. * (LCNT) = NUMBER OF LINES TO FORMAT PER PAGE.
  686. * (A0) = 1.
  687. *
  688. * EXIT LISTING OF THE LID TABLE WRITTEN TO OUTPUT FILE.
  689. *
  690. * USES X - 0, 1, 2, 4, 5, 6.
  691. * A - 0, 1, 4, 5, 6.
  692. * B - 2, 3, 4.
  693. *
  694. * CALLS FLL, FPL, GPL.
  695. *
  696. * MACROS WRITEC, WRITEH, WRITEW.
  697.  
  698.  
  699. FLT SUBR ENTRY/EXIT
  700. SA1 PDFE
  701. NZ X1,FLT1 IF FORMAT EFFECTOR WRITTEN
  702. WRITEC OUTPUT,PDFC WRITE PRINT DENSITY FORMAT EFFECTOR
  703. FLT1 WRITEW OUTPUT,LIDA,15 WRITE PAGE HEADER
  704. SA1 LCNT GET LINE COUNT
  705. SX6 X1+
  706. FLT2 SA6 FLTA SAVE LINE COUNT
  707. SA1 LIDI+A0 GET WORD FORM TABLE
  708. SB2 A0
  709. SX2 X1 CHECK POINTER TO *MFTB*
  710. ZR X1,FLTX IF END OF TABLE
  711. ZR X2,FLT4 IF LID
  712. LX1 18 RIGHT JUSTIFY PID
  713. SA4 X2 GET MAINFRAME AND NETWORK DATA
  714. MX0 -12
  715. BX2 -X0*X4
  716. RJ GPL GET PID LINE COUNT
  717. BX2 X4
  718. SA5 BLKS GET BLANK WORD
  719. BX6 X5 STORE BLANK WORD
  720. SA6 WBUF
  721. SB3 3 SET NUMBER OF LINES
  722. RJ FPL FORMAT PID LINE(S)
  723. SA0 B2 SAVE INDEX
  724. SX0 B4 SAVE LINE COUNT
  725. SA1 FLTA DECREMENT LINE COUNT
  726. SB3 X1
  727. SB4 B3-B4
  728. SX6 B4
  729. SA6 A1
  730. SA5 BLKS GET BLANK WORD
  731. WRITEH OUTPUT,WBUF,7
  732. SX0 X0-1
  733. ZR X0,FLT3 IF DONE WITH PID LINES
  734. BX6 X5 STORE BLANK WORD
  735. SA6 WBUF+6
  736. WRITEH OUTPUT,WBUF+6,7
  737. SX0 X0-1
  738. ZR X0,FLT3 IF DONE WITH PID LINES
  739. BX6 X5 STORE BLANK WORD
  740. SA6 WBUF+12
  741. WRITEH OUTPUT,WBUF+12,7
  742. FLT3 SA1 LIDI+A0 GET NEXT WORD FROM TABLE
  743. FLT4 BX6 X5 STORE BLANK WORD
  744. SA6 WBUF
  745. SA0 A0+B1
  746. RJ FLL FORMAT LINE LINE
  747. WRITEH OUTPUT,WBUF,7 WRITE LID LINE
  748. SA1 FLTA CHECK LINE COUNT
  749. SX6 X1-1
  750. PL X6,FLT2 IF MORE ROOM ON PAGE
  751. EQ FLT1 FORMAT PAGE HEADER
  752.  
  753. FLTA BSS 1 HOLDS LINE COUNT
  754. FPL SPACE 4,20
  755. ** FPL - FORMAT PID LINE(S).
  756. *
  757. * ENTRY (X1) = THE PID ENTRY, WITH THE PID RIGHT JUSTIFIED.
  758. * (X2) = THE MAINFRAME/NETWORK WORD FROM *MFTB*.
  759. * (A6) = ADDRESS (MINUS ONE) TO STORE THE LINE(S).
  760. * (B2) = THE INDEX INTO *LIDI* FOR THE PID ENTRY.
  761. * (B3) = THE NUMBER OF LINES LEFT ON THE SCREEN.
  762. *
  763. * EXIT (A6) = ADDRESS (MINUS ONE) TO STORE NEXT LINE.
  764. * (B2) = THE INDEX INTO *LIDI* FOR THE NEXT ENTRY.
  765. * (B3) = THE NUMBER OF LINES LEFT ON THE SCREEN.
  766. *
  767. * USES X - ALL.
  768. * A - 3, 4, 6.
  769. * B - 2, 3, 5, 6
  770. *
  771. * CALLS GPA.
  772.  
  773.  
  774. FPL6 NZ X5,FPLX IF ANY NETWORK INFORMATION WRITTEN
  775. SA3 BLKS BLANK FILL INITIAL LINE
  776. BX6 X3
  777. SA6 A6+B1
  778. BX6 X0*X6 END OF LINE
  779. SA6 A6+B1
  780.  
  781. FPL SUBR ENTRY/EXIT
  782. SX6 X1 STORE PID WORD
  783. SA3 FPLB
  784. LX6 -18
  785. BX6 X6+X3
  786. SA6 A6+B1 STORE PID WORD
  787. SA3 FPLA GET ENABLED STATUS WORD
  788. BX6 X3
  789. LX1 1 CHECK ENABLED/DISABLED STATUS
  790. MX0 42
  791. SX5 B0 SET INITIAL LINE BEING PROCESSED
  792. NG X1,FPL1 IF ENABLED
  793. SA3 A3+B1 GET DISABLED STATUS
  794. BX6 X3
  795. FPL1 SA6 A6+B1 STORE STATUS WORD
  796. LX1 3 RIGHT JUSTIFY ATTRIBUTES
  797. RJ GPA GET PID ATTRIBUTES
  798. SA6 A6+B1 STORE ATTRIBUTE WORD
  799. SX3 3R
  800. BX6 X0*X2 STORE MAINFRAME WORD
  801. BX3 -X0*X3 MASK OFF SIGN EXTENSION
  802. BX1 -X0*X2 MASK OFF NETWORK INFORMATION
  803. BX6 X6+X3
  804. SA6 A6+B1
  805. SA3 FPLD GET NETWORK WORD
  806. SB5 3 NUMBER OF NETWORKS
  807. MX2 -4
  808. SB2 B2+B1
  809. SB3 B3-1
  810. FPL2 SX7 X3 GET NETWORK IDENTIFIER
  811. BX4 -X2*X1
  812. SB6 B0
  813. LX7 -18 LEFT JUSTIFY NETWORK IDENTIFIER
  814. SX6 X4-/NTS/ISV
  815. ZR X6,FPL4 IF IN SERVICE
  816. SB6 B6+2
  817. SX6 X4-/NTS/OSV
  818. ZR X6,FPL4 IF OUT OF SERVICE
  819. SB6 B6+2
  820. SX6 X4-/NTS/DAB
  821. PL X6,FPL4 IF DISABLED
  822. FPL3 SB5 B5-B1
  823. MX0 48
  824. ZR B5,FPL6 IF ALL NETWORKS CHECKED
  825. LX1 -4
  826. LX3 -18
  827. EQ FPL2 CHECK NEXT NETWORK
  828.  
  829. FPL4 ZR X5,FPL5 IF INITIAL LINE
  830. SB3 B3-B1 DECREMENT LINE COUNT
  831. SB2 B2+B1 INCREMENT INDEX INTO *LIDI*
  832. SA4 BLKS BLANK FILL START OF LINE
  833. BX6 X4
  834. SA6 A6+B1
  835. SA6 A6+B1
  836. SA6 A6+B1
  837. SA6 A6+1
  838. FPL5 SX5 B1 CLEAR INITIAL LINE
  839. SA4 FPLC+B6 STORE FIRST WORD OF NETWORK STATUS
  840. BX6 X4+X7 ADD IN NETWORK IDENTIFIER
  841. SA6 A6+B1
  842. SA4 A4+B1 STORE SECOND WORD
  843. BX6 X4
  844. SA6 A6+B1
  845. ZR B3,FPLX IF NO MORE LINES ON SCREEN
  846. EQ FPL3 CHECK IF ALL NETWORKS PROCESSED
  847.  
  848. FPLA VFD 60/10L YES ENABLED
  849. VFD 60/10L NO NOT ENABLED
  850. FPLB VFD 18/0,42/7L --- PID WORD
  851. FPLC VFD 18/0,42/7L IN SER NETWORK STATUSES
  852. VFD 60/8LVICE
  853. VFD 18/0,42/7L OUT OF
  854. VFD 60/8L SERVICE
  855. VFD 18/0,42/7L DISABL
  856. VFD 60/8LED
  857. FPLD VFD 6/0 NETWORKS
  858. VFD 18/3LSSF
  859. VFD 18/3LRHF
  860. VFD 18/3LNAM
  861. FRL SPACE 4,15
  862. ** FRL - FORMAT RESPONSE LINES.
  863. *
  864. * ENTRY (X1) = START OF BUFFER BEING USED.
  865. * (X2) = COMMAND RESPONSE OFFSET INTO BUFFER.
  866. * (B7) = ADDRESS OF ERROR RESPONSE.
  867. * = 0, IF NO ERROR MESSAGE.
  868. *
  869. * EXIT RESPONSE LINES FORMATTED.
  870. * (X6) = LWA OF BUFFER (FOR *COMCFLD*).
  871. *
  872. * USES X - 2, 3, 6.
  873. * A - 2, 3, 6.
  874. * B - 3, 4, 7.
  875.  
  876.  
  877. FRL1 SA3 B7 FORMAT MESSAGE LINE
  878. BX6 X3
  879. SA6 B4
  880. SA3 A3+B1
  881. BX6 X3
  882. SA6 A6+B1
  883. SB4 A6+5
  884. FRL2 BX6 X2 FORMAT COMMAND LINE
  885. SA6 B4
  886. SA2 A2+1
  887. SB4 B4+1
  888. SB3 B3-1
  889. ZR X2,FRL3 IF END OF INPUT
  890. NZ B3,FRL2 IF NOT DONE
  891. FRL3 SX6 A6+ SAVE END OF BUFFER ADDRESS
  892.  
  893. FRL SUBR ENTRY/EXIT
  894. SB4 X1 CALCULATE MESSAGE ADDRESS
  895. SB4 X2+B4
  896. SB3 6 SET COUNTER
  897. SA2 LBFI+1
  898. NZ B7,FRL1 IF ERROR MESSAGE REQUESTED
  899. SB7 BLKS SET BLANK ERROR MESSAGE
  900. EQ FRL1 FORMAT LINES
  901. FRS SPACE 4,30
  902. ** FRS - FORMAT REQUESTED SCREEN.
  903. *
  904. * ENTRY *LIDI* CONTAINS THE REFORMATTED LID TABLE.
  905. * *MFTB* CONTAINS THE MAINFRAME AND NETWORK DATA.
  906. * (CMRO) = COMMAND RESPONSE OFFSET INTO BUFFER.
  907. * (B7) = ADDRESS OF ERROR RESPONSE.
  908. * = 0, IF NO ERROR MESSAGE.
  909. * (IND1) = INDEX INTO *LIDI* OF FIRST ENTRY
  910. * TO BE DISPLAYED ON SCREEN
  911. * (HLPF) = 1, IF HELP DISPLAY REQUESTED.
  912. * = 0, IF LID TABLE DISPLAY REQUESTED.
  913. * (PONE) = ADDRESS OF CURRENT HELP PAGE.
  914. * (CHDF) = 1, IF LID DISPLAY NEEDS TO BE RE-
  915. * FORMATTED.
  916. * = 0, OTHERWISE.
  917. *
  918. * EXIT *L* DISPLAY INFORMATION FORMATTED, IF NECESSARY,
  919. * AND DISPLAYED.
  920. * (IND2) = INDEX INTO *LIDI* OF NEXT ENTRY,
  921. * NOT YET DISPLAYED ON SCREEN.
  922. *
  923. * USES X - 1, 2, 3, 6, 7.
  924. * A - 1, 2, 6, 7.
  925. * B - 2, 3, 4, 6.
  926. *
  927. * CALLS FBL, FLB, FRL.
  928. *
  929. * MACROS DSDOUT.
  930.  
  931. FRS2 SX2 LIDO SET COMMAND RESPONSE OFFSET
  932. RJ FRL FORMAT RESPONSE LINE
  933. SB2 LBFO+1 SET DESTINATION BUFFER ADDRESSES
  934. SB6 LBFOE-1
  935. SB3 XCDT SET X AND Y STARTING COORDINATES
  936. SB4 YCDT
  937. SX2 B0 SET DISPLAY CODE FOR *L* DISPLAY
  938. SX3 B1
  939. RJ FLB FORMAT BUFFER FOR *L* DISPLAY
  940. DSDOUT LBFO DISPLAY *L* DISPLAY
  941.  
  942. FRS SUBR ENTRY/EXIT
  943. SA2 HLPF CHECK FOR HELP DISPLAY REQUESTED
  944. SA1 PONE SET START OF HELP BUFFER
  945. NZ X2,FRS2 IF HELP DISPLAY REQUESTED
  946. SA2 CHDF CHECK FOR LID DISPLAY CHANGE
  947. ZR X2,FRS1 IF NO CHANGE
  948. SX6 B0+ CLEAR LID TABLE CHANGED FLAG
  949. SA6 CHDF
  950. RJ FBL FORMAT BUFFER FOR LID TABLE
  951. SA6 IND2 SAVE NEXT ENTRY INDEX
  952. SA7 LIDE STORE *MORE DATA* WORD
  953. FRS1 SX1 LIDB SET START OF LID BUFFER
  954. EQ FRS2 FORMAT RESPONSE LINE
  955. GLA SPACE 4,10
  956. ** GLA - GET LID ATTRIBUTES.
  957. *
  958. * ENTRY (X1) = LID WORD WITH ATTRIBUTES RIGHT JUSTIFIED.
  959. *
  960. * EXIT (X6) = ATTRIBUTE WORD (DISPLAY CODE EQUIVALENT).
  961. * (X1) = 0, IF NO ERROR.
  962. * NONZERO IF NO MATCH.
  963. *
  964. * USES X - 1, 2, 6.
  965. * A - 2.
  966.  
  967.  
  968. GLA2 MX1 42
  969. SX6 3R
  970. BX6 -X1*X6 MASK OFF SIGN EXTENSION
  971. BX2 X1*X2 MASK OFF ATTRIBUTES
  972. BX6 X2+X6 ADD IN BLANKS
  973. SX1 B0+ CLEAR ERROR
  974.  
  975. GLA SUBR ENTRY/EXIT
  976. MX2 -4 IGNORE ENABLED BIT
  977. BX1 -X2*X1
  978. SA2 TLAT GET TABLE ENTRY
  979. GLA1 ZR X2,GLAX IF END OF TABLE
  980. SX6 X2
  981. BX6 X6-X1 CHECK FOR MATCH
  982. ZR X6,GLA2 IF ATTRIBUTES MATCH
  983. SA2 A2+1
  984. EQ GLA1 CHECK FOR END OF TABLE
  985. GLT SPACE 4,15
  986. ** GLT - GET LID TABLE.
  987. *
  988. * ENTRY (A1) = ADDRESS OF LID TABLE FET (*LIDF*).
  989. *
  990. * EXIT LID TABLE READ FROM CORE AND, IF NOT EMPTY,
  991. * *LIDI* CONTAINS THE REFORMATTED LID TABLE AND
  992. * *MFTB* CONTAINS THE MAINFRAME AND NETWORK DATA.
  993. * TO *ERR* IF EMPTY LID TABLE.
  994. *
  995. * USES X - 1, 6, 7.
  996. * A - 1, 6.
  997. *
  998. * CALLS RLD.
  999. *
  1000. * MACROS GETLIDT.
  1001.  
  1002.  
  1003. GLT SUBR ENTRY/EXIT
  1004. SA1 A1+B1 REWIND FET
  1005. SX6 X1
  1006. SA6 A1+B1
  1007. SA6 A6+B1
  1008. GETLIDT LIDF GET LID TABLE
  1009. SA1 LIDI GET NUMBER OF PIDS IN TABLE
  1010. MX6 -12
  1011. BX7 -X6*X1
  1012. ZR X7,ERR IF EMPTY TABLE
  1013. RJ RLD REFORMAT LID TABLE
  1014. EQ GLTX RETURN
  1015. GPA SPACE 4,10
  1016. ** GPA - GET PID ATTRIBUTES.
  1017. *
  1018. * ENTRY (X1) = PID ATTRIBUTES, RIGHT JUSTIFIED.
  1019. *
  1020. * EXIT (X6) = ATTRIBUTE WORD (DISPLAY CODE EQUIVALENT).
  1021. * (X1) = 0, IF NO ERROR.
  1022. * NONZERO IF NO MATCH.
  1023. *
  1024. * USES X - 1, 3, 6.
  1025. * A - 3.
  1026.  
  1027.  
  1028. GPA2 MX1 42
  1029. SX6 3R
  1030. BX6 -X1*X6 MASK OFF SIGN EXTENSION
  1031. BX3 X1*X3 MASK OFF ATTRIBUTES
  1032. BX6 X3+X6 ADD IN BLANKS
  1033. SX1 B0+ CLEAR ERROR
  1034.  
  1035. GPA SUBR ENTRY/EXIT
  1036. MX3 -4
  1037. BX1 -X3*X1
  1038. SA3 TPAT GET TABLE ENTRY
  1039. GPA1 ZR X3,GPAX IF END OF TABLE
  1040. SX6 X3
  1041. BX6 X6-X1 CHECK FOR MATCH
  1042. ZR X6,GPA2 IF ATTRIBUTES MATCH
  1043. SA3 A3+1
  1044. EQ GPA1 CHECK FOR END OF TABLE
  1045. GPL SPACE 4,10
  1046. ** GPL - GET PID LINE COUNT.
  1047. *
  1048. * ENTRY (X2) = NETWORK INFORMATION FOR PID, RIGHT
  1049. * JUSTIFIED.
  1050. *
  1051. * EXIT (B4) = PID LINE COUNT, 1, 2, OR 3.
  1052. *
  1053. * USES X - 2, 3, 6, 7.
  1054. * B - 4, 5.
  1055.  
  1056.  
  1057. GPL4 NZ B4,GPLX IF AT LEAST ONE LINE
  1058. SB4 B1+ SET ONE LINE
  1059.  
  1060. GPL SUBR ENTRY/EXIT
  1061. MX3 -4
  1062. BX6 -X3*X2
  1063. SB4 B0 INITIALIZE PID LINE COUNT
  1064. SB5 B1+B1
  1065. GPL1 SX7 X6-/NTS/ISV
  1066. ZR X7,GPL2 IF *IN SERVICE*
  1067. SX7 X6-/NTS/OSV
  1068. ZR X7,GPL2 IF *OUT OF SERVICE*
  1069. SX7 X6-/NTS/DAB
  1070. NG X7,GPL3 IF NOT *DISABLED*
  1071. GPL2 SB4 B4+1 INCREMENT PID LINE COUNT
  1072. GPL3 SB5 B5-1
  1073. NG B5,GPL4 IF DONE WITH ALL THREE NETWORKS
  1074. LX2 -4
  1075. BX6 -X3*X2
  1076. EQ GPL1 PROCESS NEXT NETWORK
  1077. LED SPACE 4,15
  1078. ** LED - LIDOU END.
  1079. *
  1080. * EXIT *L* DISPLAY DROPPED, PROGRAM TERMINATED.
  1081. *
  1082. * USES X - 1.
  1083. * A - 1.
  1084. * B - 7.
  1085. *
  1086. * CALLS FRS, POF.
  1087. *
  1088. * MACROS DSDINP, ENDRUN, MESSAGE, WRITER.
  1089.  
  1090.  
  1091. LED SA1 LDSF CHECK *L* DISPLAY FLAG
  1092. SB7 MSLC * UTILITY COMPLETE.*
  1093. NZ X1,LED1 IF *L* DISPLAY ACTIVE
  1094. RJ POF PROCESS OUTPUT FILE
  1095. WRITER OUTPUT,R FLUSH OUTPUT BUFFER
  1096. EQ LED2 ISSUE DAYFILE MESSAGE AND END
  1097.  
  1098. LED1 RJ FRS FORMAT REQUESTED SCREEN
  1099. DSDINP LBFI,C DROP *L* DISPLAY
  1100. LED2 MESSAGE DAFC,O,R * LIDOU UTILITY COMPLETE.*
  1101. ENDRUN
  1102. PCM SPACE 4,15
  1103. ** PCM - PROCESS COMMANDS.
  1104. *
  1105. * ENTRY (B7) = 0.
  1106. *
  1107. * EXIT TO *LED* WHEN THE COMMAND *L.END* IS ENCOUNTERED.
  1108. *
  1109. * USES X - 0, 1, 2, 4, 5, 6, 7.
  1110. * A - 1, 5, 6.
  1111. * B - 3, 7.
  1112. *
  1113. * CALLS FRS, GLT, LED, PIF, PKB, POF, POP, STP.
  1114.  
  1115.  
  1116. PCM SUBR ENTRY/EXIT
  1117. PCM1 SA1 CHDF CHECK FOR CHANGE TO LID DISPLAY
  1118. ZR X1,PCM2 IF NO CHANGE
  1119. SA1 LIDF SET FET ADDRESS
  1120. RJ GLT GET LID TABLE
  1121. PCM2 SA1 LDSF CHECK *L* DISPLAY FLAG
  1122. ZR X1,PCM9 IF *L* DISPLAY NOT ACTIVE
  1123. PCM3 SX6 B7+ SAVE MESSAGE ADDRESS
  1124. SA6 EMAD
  1125. RJ FRS FORMAT REQUESTED SCREEN
  1126. MX0 -12 SET MASK
  1127. RJ PKB GET KEYBOARD INPUT
  1128. PCM4 RJ POP PICK OUT FIRST PARAMETER
  1129. ZR X6,PCM7 IF NO PARAMETERS
  1130. SX4 X1-1R.
  1131. SA5 TLC1 CHECK FOR PRIMARY COMMAND MATCH
  1132. ZR X1,PCM6 IF ONLY ONE PARAMETER
  1133. ZR X4,PCM6 IF ONLY ONE PARAMETER
  1134. MX0 -42 CHECK FOR MORE THAN 3 CHARACTERS
  1135. BX4 -X0*X6
  1136. NZ X4,PCM8 IF MORE THAN THREE CHARACTERS
  1137. RJ STP SEARCH TABLE FOR PID
  1138. SB7 MSPN * PID NOT FOUND.*
  1139. NZ X2,PCM1 IF PID NOT FOUND
  1140. SA6 PARB+1 SAVE PID
  1141. SX6 A5 SAVE PID ADDRESS
  1142. SA6 A6+B1
  1143. PCM5 SX4 X1-1R,
  1144. NZ X4,PCM8 IF INITIAL SEPARATOR NOT *,*
  1145. SA5 TLC2 CHECK FOR SECONDARY COMMAND MATCH
  1146. RJ POP GET NEXT PARAMETER
  1147. SX4 X1-1R=
  1148. NZ X4,PCM8 IF SECONDARY SEPARATOR NOT *=*
  1149. PCM6 MX0 42
  1150. ZR X5,PCM8 IF END OF TABLE
  1151. BX2 X5-X6
  1152. BX2 X0*X2
  1153. SB3 X5
  1154. SA5 A5+1
  1155. NZ X2,PCM6 IF NO MATCH
  1156. JP B3 PROCESS COMMAND
  1157.  
  1158. PCM7 SX4 X1-1R+ CHECK FOR PAGE FORWARD COMMAND
  1159. SX7 X1-1R- CHECK FOR PAGE BACKWARD COMMAND
  1160. ZR X4,PSF IF PAGE FORWARD COMMAND
  1161. ZR X7,PSB IF PAGE BACKWARD COMMAND
  1162. PCM8 SB7 MSIC * INCORRECT COMMAND.*
  1163. EQ PCM1 PROCESS NEXT COMMAND
  1164.  
  1165. PCM9 RJ POF PROCESS OUTPUT FILE
  1166. RJ PIF PROCESS INPUT FILE
  1167. EQ PCM4 PROCESS COMMAND
  1168.  
  1169. TLC1 VFD 42/3LEND,18/LED
  1170. VFD 42/3LOUT,18/POC
  1171. VFD 42/4LHELP,18/THD
  1172. VFD 42/4LBACK,18/TLD
  1173. VFD 60/0 END OF PRIMARY COMMANDS
  1174.  
  1175. TLC2 VFD 42/2LLD,18/SLA
  1176. VFD 42/2LMF,18/SMF
  1177. VFD 42/2LNT,18/SNS
  1178. VFD 42/2LPA,18/SPA
  1179. VFD 60/0 END OF SECONDARY COMMANDS
  1180.  
  1181. PARB VFD 12/0,12/1,36/0 FUNCTION CODE, PID COUNT
  1182. VFD 18/0,42/0 PID, FUNCTION DEPENDENT DATA
  1183. VFD 42/0,18/0 HOLDS PID ADDRESS FOR LID CHECKING
  1184. PIF SPACE 4,20
  1185. ** PIF - PROCESS INPUT FILE.
  1186. *
  1187. * EXIT COMMAND UNPACKED TO *USBB* IN *COMCUSB*.
  1188. * (USBC) = LAST WORD ADDRESS OF BUFFER.
  1189. * (CMLN) = CHARACTER COUNT OF COMMAND.
  1190. * (B6) = FIRST WORD ADDRESS OF BUFFER.
  1191. *
  1192. * USES X - 1, 6, 7.
  1193. * A - 1, 6, 7.
  1194. * B - 2, 6.
  1195. *
  1196. * MACROS READS.
  1197. *
  1198. * NOTE IF NO COMMAND IS PRESENT AN *END* COMMAND
  1199. * WILL BE MOVED INTO THE BUFFER TO TERMINATE
  1200. * THE PROGRAM. ALSO, IF THE COMMAND DOES
  1201. * NOT TERMINATE IN A PERIOD THE NEXT WORD
  1202. * IN THE BUFFER IS ZEROED TO SIGNIFY THE
  1203. * END OF THE COMMAND TO *COMCPOP*.
  1204.  
  1205.  
  1206. PIF2 SX7 B6-B1
  1207. SA1 B6-B1 CHECK FOR TERMINATOR
  1208. SX1 X1-1R.
  1209. SX6 B0
  1210. ZR X1,PIF3 IF *.* TERMINATOR
  1211. SA6 B6 SIGNIFY END OF COMMAND
  1212. PIF3 SX6 B6-USBB SAVE COMMAND LENGTH
  1213. SA6 CMLN
  1214. SB6 USBB RESET TO START OF BUFFER
  1215. SA7 USBC
  1216.  
  1217. PIF SUBR ENTRY/EXIT
  1218. SX6 B0+ CLEAR BUFFER
  1219. SB2 80
  1220. PIF1 SA6 USBB+B2
  1221. SB2 B2-1
  1222. PL B2,PIF1 IF NOT DONE
  1223. READS INPUT,USBB,80 READ COMMAND
  1224. ZR X1,PIF2 IF COMMAND PRESENT
  1225. SX6 1RE SET *END* COMMAND
  1226. SA6 USBB
  1227. SX6 1RN
  1228. SA6 A6+B1
  1229. SX6 1RD
  1230. SA6 A6+B1
  1231. SX6 1R.
  1232. SB6 USBB+4 SET COMMAND LENGTH
  1233. SA6 A6+B1
  1234. SX7 B6
  1235. EQ PIF3 SAVE COMMAND LENGTH
  1236. PKB SPACE 4,15
  1237. ** PKB - PROCESS KEYBOARD.
  1238. *
  1239. * ENTRY (X0) = 42 BIT MASK, LEFT JUSTIFIED.
  1240. *
  1241. * EXIT *L* DISPLAY INPUT IN *LBFI*, AND
  1242. * UNPACKED TO *USBB* IN *COMCUSB*.
  1243. *
  1244. * USES X - 0, 1, 6.
  1245. * A - 1, 6.
  1246. * B - 2, 7.
  1247. *
  1248. * CALLS FRS, GLT, USB.
  1249. *
  1250. * MACROS DSDINP, ROLLOUT.
  1251.  
  1252.  
  1253. PKB2 SX6 B0+ CLEAR BUFFER
  1254. SB2 80
  1255. PKB3 SA6 USBB+B2
  1256. SB2 B2-1
  1257. PL B2,PKB3 IF NOT DONE
  1258. SB2 LBFI+1 UNPACK COMMAND
  1259. RJ USB
  1260.  
  1261. PKB SUBR ENTRY/EXIT
  1262. PKB1 DSDINP LBFI CHECK FOR *L* DISPLAY INPUT
  1263. SA1 LBFI
  1264. BX1 -X0*X1
  1265. AX1 1 IGNORE COMPLETION BIT
  1266. SX1 X1-INPC
  1267. NZ X1,PKB2 IF INPUT
  1268. ROLLOUT ROLL ROLLOUT UNTIL *L* DISPLAY INPUT
  1269.  
  1270. * REFRESH THE SCREEN.
  1271.  
  1272. SA1 LIDF SET FET ADDRESS
  1273. RJ GLT GET LID TABLE
  1274. SA1 EMAD GET ERROR MESSAGE ADDRESS
  1275. SB7 X1
  1276. SX6 B1 SET LID DISPLAY CHANGE FLAG
  1277. SA6 CHDF
  1278. RJ FRS FORMAT REQUESTED SCREEN
  1279. MX0 -12
  1280. EQ PKB1 CHECK FOR INPUT
  1281. POC SPACE 4,15
  1282. ** POC - PROCESS OUT COMMAND.
  1283. *
  1284. * EXIT TO *PCM3* (IF *L* DISPLAY IS ACTIVE).
  1285. * TO *PCM9* (IF *L* DISPLAY INACTIVE).
  1286. * (POFA) = -1, IF *L* DISPLAY INACTIVE.
  1287. *
  1288. * USES X - 1, 2, 6.
  1289. * A - 0, 1, 6.
  1290. * B - 7.
  1291. *
  1292. * CALLS FLT.
  1293. *
  1294. * MACROS ROUTE, WRITER.
  1295.  
  1296.  
  1297. POC SA1 LDSF CHECK *L* DISPLAY FLAG
  1298. ZR X1,POC1 IF *L* DISPLAY NOT ACTIVE
  1299. SA1 OUTPUT+1 REWIND FET
  1300. SX6 X1
  1301. SA6 A1+B1
  1302. SA6 A1+B1
  1303. SA0 B1
  1304. RJ FLT FORMAT LISTING OF LID TABLE
  1305. WRITER OUTPUT,R FLUSH OUTPUT BUFFER
  1306. SA1 ROTB CLEAR COMPLETE BIT IN ROUTE BLOCK
  1307. MX2 59
  1308. BX6 X2*X1
  1309. SA6 A1
  1310. ROUTE ROTB,R ROUTE FILE
  1311. SB7 MSCP * COMMAND PROCESSED.*
  1312. EQ PCM3 CONTINUE PROCESSING COMMAND
  1313.  
  1314. POC1 SX6 -B1 CLEAR OUTPUT FILE LINE COUNT
  1315. SA6 POFA
  1316. SA0 B1
  1317. RJ FLT FORMAT LISTING OF LID TABLE
  1318. SB7 MSCP * COMMAND PROCESSED.*
  1319. EQ PCM9 CONTINUE PROCESSING COMMAND
  1320. POF SPACE 4,15
  1321. ** POF - PROCESS OUTPUT FILE.
  1322. *
  1323. * ENTRY (CMLN) = CHARACTER COUNT OF COMMAND.
  1324. * (B7) = 0, IF INITIAL CALL.
  1325. * = ADDRESS OF COMMAND RESPONSE,
  1326. * IF NOT INITIAL CALL.
  1327. *
  1328. * EXIT OUTPUT LINE WRITTEN TO OUTPUT FET.
  1329. *
  1330. * USES X - 1, 2, 6, 7.
  1331. * A - 0, 1, 2, 6, 7.
  1332. * B - 7.
  1333. *
  1334. * MACROS WRITEC, WRITEH, WRITEO, WRITES, WRITEW.
  1335.  
  1336.  
  1337. POF2 SX6 X1-2 DECREMENT LINE COUNT
  1338. SA6 POFA
  1339. SA1 BLKS WRITE BLANK WORD
  1340. BX6 X1
  1341. WRITEO OUTPUT
  1342. SA1 CMLN GET COMMAND LENGTH
  1343. SB7 X1+
  1344. WRITES OUTPUT,USBB,B7 ECHO COMMAND
  1345. SA1 BLKS+1 WRITE RESPONSE
  1346. SA2 A0
  1347. BX6 X1
  1348. BX7 X2
  1349. SA6 WBUF
  1350. SA7 A6+B1
  1351. SA1 A1+B1
  1352. SA2 A2+B1
  1353. BX6 X1
  1354. BX7 X2
  1355. SA7 A7+B1
  1356. SA6 A7+B1
  1357. WRITEH OUTPUT,WBUF,4
  1358.  
  1359. POF SUBR ENTRY/EXIT
  1360. NZ B7,POF1 IF NOT INITIAL CALL
  1361. WRITEC OUTPUT,PDFC WRITE PRINT DENSITY FORMAT EFFECTOR
  1362. SX6 B1+ SET PRINT DENSITY FORMAT EFFECTOR FLAG
  1363. SA6 PDFE
  1364. WRITEW OUTPUT,HLPA,15 WRITE PAGE HEADER
  1365. SA1 LCNT SET LINE COUNT
  1366. SX6 X1+
  1367. SA6 POFA
  1368. EQ POFX RETURN
  1369.  
  1370. POF1 SA0 B7+ SAVE COMMAND RESPONSE ADDRESS
  1371. SA1 POFA CHECK LINE COUNT
  1372. PL X1,POF2 IF STILL MORE LINES ON PAGE
  1373. WRITEW OUTPUT,HLPA,15 WRITE PAGE HEADER
  1374. SA1 LCNT SET LINE COUNT
  1375. EQ POF2 DECREMENT LINE COUNT
  1376.  
  1377. POFA CON -1 HOLDS LINE COUNT
  1378. PSB SPACE 4,20
  1379. ** PSB - PAGE SCREEN BACKWARD.
  1380. *
  1381. * ENTRY (IND1) = INDEX INTO *LIDI* OF FIRST ENTRY
  1382. * DISPLAYED ON SCREEN.
  1383. * (HLPF) = 1, IF HELP DISPLAY IS ACTIVE.
  1384. *
  1385. * EXIT TO *PCM3* IF NO ERRORS WERE ENCOUNTERED.
  1386. * TO *PCM1* IF *L* DISPLAY NOT ACTIVE.
  1387. * TO *PCM1* IF TOO MANY PARAMETERS.
  1388. * (IND1) UPDATED IF LID DISPLAY CHANGED.
  1389. * (PONE) = ADDRESS OF CURRENT HELP PAGE.
  1390. * (CHDF) = 1, IF LID DISPLAY CHANGED.
  1391. * (B7) = ADDRESS OF RESPONSE.
  1392. *
  1393. * USES X - 1, 2, 6, 7.
  1394. * A - 1, 2, 6, 7.
  1395. * B - 7.
  1396. *
  1397. * CALLS POP.
  1398.  
  1399.  
  1400. PSB SA1 LDSF CHECK IF *L* DISPLAY ACTIVE
  1401. SB7 MSIC * INCORRECT COMMAND.*
  1402. ZR X1,PCM1 IF INCORRECT COMMAND FOR INPUT FILE
  1403. RJ POP CHECK FOR MORE COMMAND
  1404. SB7 MSTP * EXCESS PARAMETERS.*
  1405. NZ X6,PCM1 IF TOO MANY PARAMETERS
  1406. SB7 B0+ CLEAR ERROR MESSAGE
  1407. SA1 HLPF CHECK IF HELP DISPLAY IS ACTIVE
  1408. NZ X1,PSB3 IF HELP DISPLAY IS ACTIVE
  1409. SA1 IND1 CHECK IF FIRST SCREEN
  1410. SX2 X1-1
  1411. ZR X2,PCM3 IF FIRST SCREEN
  1412. SX2 NMLL PAGE BACKWARDS
  1413. IX6 X1-X2
  1414. SX6 X6-1
  1415. PL X6,PSB1 IF WITHIN BOUNDS
  1416. SX6 B1+ RESET TO START OF BUFFER
  1417. EQ PSB2 SAVE INDEX AND SET CHANGED FLAG
  1418.  
  1419. PSB1 SA1 LIDI+X6 CHECK FOR SPACER WORD
  1420. LX1 18
  1421. SX1 X1
  1422. NZ X1,PSB2 IF LID OR PID WORD
  1423. SX6 X6+1
  1424. EQ PSB1 CHECK FOR SECOND SPACER WORD
  1425.  
  1426. PSB2 SA6 IND1 SAVE INDEX
  1427. SX6 B1+ SET LID DISPLAY CHANGED FLAG
  1428. SA6 CHDF
  1429. EQ PCM3 PROCESS NEXT COMMAND
  1430.  
  1431. PSB3 SA1 PONE CHECK IF ALREADY PAGE ONE OF HELP DISPLAY
  1432. SX2 HLPB PAGE ONE OF HELP DISPLAY
  1433. SB7 B0 CLEAR ERROR MESSAGE
  1434. BX2 X2-X1
  1435. ZR X2,PCM3 IF ALREADY ON FIRST PAGE OF HELP DISPLAY
  1436. SA2 PTWO
  1437. BX6 X1
  1438. BX7 X2
  1439. SA6 A2
  1440. SA7 A1
  1441. EQ PCM3 PROCESS NEXT COMMAND
  1442. PSF SPACE 4,20
  1443. ** PSF - PAGE SCREEN FORWARD.
  1444. *
  1445. * ENTRY (IND1) = INDEX INTO *LIDI* OF FIRST ENTRY
  1446. * DISPLAYED ON SCREEN.
  1447. * (IND2) = INDEX INTO *LIDI* OF NEXT ENTRY,
  1448. * NOT YET DISPLAYED ON SCREEN.
  1449. * (HLPF) = 1, IF HELP DISPLAY IS ACTIVE.
  1450. *
  1451. * EXIT TO *PCM3* IF NO ERRORS WERE ENCOUNTERED.
  1452. * TO *PCM1* IF *L* DISPLAY NOT ACTIVE.
  1453. * TO *PCM1* IF TOO MANY PARAMETERS.
  1454. * (IND1) UPDATED IF LID DISPLAY CHANGED.
  1455. * (PONE) = ADDRESS OF CURRENT HELP PAGE.
  1456. * (CHDF) = 1, IF LID DISPLAY CHANGED.
  1457. * (B7) = ADDRESS OF RESPONSE.
  1458. *
  1459. * USES X - 1, 2, 3, 6, 7.
  1460. * A - 1, 2, 6, 7.
  1461. * B - 7.
  1462. *
  1463. * CALLS POP.
  1464.  
  1465.  
  1466. PSF SA1 LDSF CHECK IF *L* DISPLAY ACTIVE
  1467. SB7 MSIC * INCORRECT COMMAND.*
  1468. ZR X1,PCM1 IF INCORRECT COMMAND FOR INPUT FILE
  1469. RJ POP CHECK FOR MORE COMMAND
  1470. SB7 MSTP * EXCESS PARAMETERS.*
  1471. NZ X6,PCM1 IF TOO MANY PARAMETERS
  1472. SB7 B0+ CLEAR ERROR MESSAGE
  1473. SA1 HLPF CHECK IF HELP DISPLAY IS ACTIVE
  1474. NZ X1,PSF3 IF HELP DISPLAY IS ACTIVE
  1475. SA1 LIDI CHECK IF LAST SCREEN
  1476. SX7 B1 SET LID TABLE CHANGED FLAG
  1477. SX6 B1 SET LOOP TO FIRST SCREEN
  1478. SA2 IND2
  1479. IX3 X2-X1
  1480. PL X3,PSF2 IF LAST SCREEN
  1481. BX6 X2 PAGE FORWARD
  1482. PSF1 SA1 LIDI+X6 CHECK FOR SPACER WORD
  1483. LX1 18
  1484. SX1 X1
  1485. NZ X1,PSF2 IF LID OR PID WORD
  1486. SX6 X6-1
  1487. EQ PSF1 CHECK FOR SECOND SPACER WORD
  1488.  
  1489. PSF2 SA6 IND1 SAVE INDEX
  1490. SA7 CHDF SAVE LID TABLE CHANGED FLAG
  1491. EQ PCM3 CONTINUE PROCESSING COMMAND
  1492.  
  1493. PSF3 SA1 PONE SWAP PAGE HELP PAGE ADDRESSES
  1494. SA2 PTWO
  1495. BX6 X1
  1496. BX7 X2
  1497. SA6 A2
  1498. SA7 A1
  1499. SB7 B0+ CLEAR ERROR MESSAGE
  1500. EQ PCM3 PROCESS NEXT COMMAND
  1501. RLD SPACE 4,15
  1502. ** RLD - REFORMAT LID TABLE.
  1503. *
  1504. * ENTRY *LIDI* CONTAINS THE LID TABLE FROM CORE.
  1505. * (A1) = FIRST WORD ADDRESS OF *LIDI*.
  1506. * (X7) = NUMBER OF PIDS IN TABLE.
  1507. *
  1508. * EXIT *LIDI* CONTAINS THE REFORMATTED LID TABLE.
  1509. * *MFTB* CONTAINS THE MAINFRAME AND NETWORK DATA.
  1510. *
  1511. * USES X - ALL.
  1512. * A - 1, 6, 7.
  1513. * B - 2, 3, 4.
  1514. *
  1515. * CALLS GPL.
  1516.  
  1517.  
  1518. RLD SUBR ENTRY/EXIT
  1519. SA6 LIDI PRESET ADDRESS IN *LIDI*
  1520. SA7 MFTB SAVE NUMBER OF PIDS
  1521. RLD1 MX0 42 SET MASKS
  1522. MX5 -12
  1523. SA1 A1+B1 GET PID WORD
  1524. BX2 -X5*X1 MASK OFF NETWORK INFORMATION
  1525. BX3 X0*X1
  1526. SA1 A1+B1 GET MAINFRAME DESCRIPTOR
  1527. BX7 X0*X1
  1528. BX4 -X5*X1 MASK OFF NEXT PID OFFSET
  1529. SA1 A1+B1 GET NUMBER OF LID SLOTS
  1530. SX6 A7+B1
  1531. BX7 X7+X2
  1532. BX6 X3+X6
  1533. SA7 A7+B1 SAVE MAINFRAME AND NETWORK INFORMATION
  1534. SA6 A6+B1 SAVE PID, ATTRIBUTES AND *MFTB* ADDRESS
  1535. RJ GPL GET PID LINES
  1536. BX3 -X5*X1
  1537. SB2 X3 SET SLOT COUNT
  1538. SB3 X3 SET NON EMPTY SLOT COUNT
  1539. MX6 24
  1540. EQ B4,B1,RLD2 IF NO EXTRA LINES
  1541. LX6 -18
  1542. SA6 A6+B1 STORE DUMMY PID ENTRY
  1543. SB4 B4-B1
  1544. EQ B4,B1,RLD2 IF ONE EXTRA LINE
  1545. SA6 A6+B1 STORE DUMMY PID ENTRY
  1546. RLD2 SA1 A1+B1 GET LID
  1547. BX6 X0*X1
  1548. ZR X6,RLD3 IF EMPTY SLOT
  1549. SA6 A6+1 SAVE LID
  1550. SB3 B3-1 DECREMENT NON EMPTY SLOT COUNT
  1551. RLD3 SB2 B2-B1 DECREMENT SLOT COUNT
  1552. NZ B2,RLD2 IF MORE SLOTS TO CHECK
  1553. MX6 24
  1554. ZR B3,RLD4 IF NO EMPTY SLOTS
  1555. LX6 -18
  1556. SA6 A6+B1 SIGNIFY EMPTY LID
  1557. RLD4 NZ X4,RLD1 IF NOT END OF TABLE
  1558. SA1 LIDI SAVE LARGEST TABLE INDEX
  1559. SB2 A1
  1560. SX7 A6-B2
  1561. SA7 A1
  1562. BX6 X6-X6 ZERO WORD FOR END OF REFORMATTED TABLE
  1563. SA6 A6+1
  1564. EQ RLDX RETURN
  1565. SET SPACE 4,15
  1566. ** SET - SET ATTRIBUTE(S).
  1567. *
  1568. * ENTRY (X7) = FUNCTION CODE AND PID COUNT FOR
  1569. * FIRST WORD OF PARAMETER BLOCK.
  1570. * (X6) = BOTTOM 42 BITS FOR SECOND WORD.
  1571. *
  1572. * EXIT (X4) = RETURN CODE FROM *SETPIDA*.
  1573. *
  1574. * USES X - 0, 4, 6, 7.
  1575. * A - 4, 6, 7.
  1576. *
  1577. * MACROS SETPIDA.
  1578.  
  1579.  
  1580. SET SUBR ENTRY/EXIT
  1581. LX7 36 POSITION FUNCTION CODE AND PID COUNT
  1582. SX4 B1+ SET FET NOT BUSY
  1583. BX7 X7+X4
  1584. SA7 PARB SET FIRST WORD INTO PARAMETER BLOCK
  1585. SA4 A7+B1 SET BOTTOM 42 BITS INTO SECOND WORD
  1586. MX0 18
  1587. BX4 X0*X4
  1588. BX6 X4+X6
  1589. SA6 A4
  1590. MX0 -8
  1591. SETPIDA PARB MAKE *SFM* CALL
  1592. SA4 PARB MASK OFF RETURN CODE
  1593. LX4 -10
  1594. BX4 -X0*X4
  1595. EQ SETX RETURN
  1596. SLA SPACE 4,25
  1597. ** SLA - SET LID ATTRIBUTE(S).
  1598. *
  1599. * EXIT TO *PCM1* IF NO MORE COMMAND TO PROCESS OR ERROR.
  1600. * TO *PCM5* IF NO ERROR AND MORE COMMAND TO PROCESS.
  1601. * (X1) = SEPARATOR, IF MORE COMMAND TO PROCESS.
  1602. * (CHDF) = 1, IF THE LID TABLE CHANGED.
  1603. * (B7) = ADDRESS OF RESPONSE.
  1604. *
  1605. * USES X - 0, 1, 2, 4, 5, 6, 7.
  1606. * A - 4.
  1607. * B - 7.
  1608. *
  1609. * CALLS POP, SET, SLF, STL.
  1610. *
  1611. * NOTE ATTRIBUTES *D* AND *E* CANNOT BE SPECIFIED TOGETHER
  1612. * AND IF NEITHER IS SPECIFIED THE PRESENT STATUS WILL
  1613. * BE USED WHEN ALTERING ATTRIBUTES AND THE DEFAULT
  1614. * STATUS OF ENABLE WILL BE USED WHEN ADDING A LID.
  1615. * ATTRIBUTES *S* AND *B* CANNOT BE SPECIFIED TOGETHER
  1616. * AND *B* IS NOT ALLOWED ON A LINKED PID. THE *V*
  1617. * ATTRIBUTE CAN ONLY BE SET IF THE *S* ATTRIBUTE IS SET.
  1618.  
  1619.  
  1620. SLA MX4 6 SET MASKS
  1621. MX0 -42
  1622. RJ POP GET NEXT PARAMETER
  1623. SB7 MSIP * INCORRECT SEPARATOR.*
  1624. SX7 X1-1R,
  1625. NZ X7,PCM1 IF SEPARATOR NOT *,*
  1626. SB7 MSIL * INCORRECT LID.*
  1627. BX0 -X0*X6 CHECK FOR CORRECT LID
  1628. BX7 X4*X6
  1629. NZ X0,PCM1 IF MORE THAN THREE CHARACTERS
  1630. LX4 -6
  1631. BX5 X4*X6
  1632. LX4 -6
  1633. BX4 X4*X6
  1634. LX7 6 POSITION CHARACTERS
  1635. LX5 12
  1636. LX4 18
  1637. MX2 42 SET MASK
  1638. ZR X7,PCM1 IF NO FIRST CHARACTER
  1639. ZR X5,PCM1 IF NO SECOND CHARACTER
  1640. ZR X4,PCM1 IF NO THIRD CHARACTER
  1641. SX7 X7-1R9-1 CHECK FOR ALPHANUMERIC CHARACTERS
  1642. SX5 X5-1R9-1
  1643. SX4 X4-1R9-1
  1644. PL X7,PCM1 IF INCORRECT FIRST CHARACTER
  1645. PL X5,PCM1 IF INCORRECT SECOND CHARACTER
  1646. PL X4,PCM1 IF INCORRECT THIRD CHARACTER
  1647. RJ STL SEARCH TABLE FOR LID
  1648. SA4 SLAA CHECK FOR DELETE
  1649. RJ POP GET NEXT PARAMETER
  1650. SX2 X1-1R=
  1651. SB7 MSIC * INCORRECT COMMAND.*
  1652. ZR X2,SLA1 IF *=* SEPARATOR
  1653. BX2 X6-X4
  1654. SX6 A0
  1655. NZ X2,PCM1 IF NOT *=* AND NOT *DELETE*
  1656. SB7 MSNF * LID NOT FOUND.*
  1657. NZ X0,PCM1 IF DELETE AND LID NOT FOUND
  1658. SX7 40001B SET FUNCTION CODE AND PID COUNT
  1659. ERRNZ DLDF-4 ADJUST VALUE IF CHANGED
  1660. LX6 24 POSITION LID
  1661. SX5 X1 SAVE SEPARATOR
  1662. RJ SET DELETE LID
  1663. SX1 X5 RESTORE SEPARATOR
  1664. SB7 MSND * LID NOT DELETED.*
  1665. SX7 B1
  1666. NZ X4,PCM1 IF ERROR
  1667. EQ SLA9 SET CHANGED FLAG
  1668.  
  1669. SLA1 SX2 2RLA CHECK FOR *LA*
  1670. LX6 12
  1671. BX2 X6-X2
  1672. NZ X2,PCM1 IF NOT *LA*
  1673. RJ SLF SET LID FLAGS
  1674. NZ B7,PCM1 IF ERROR
  1675. ZR B3,SLA4 IF NO *S* OR *B* SPECIFIED
  1676. SA4 PARB+2 PID ENTRY
  1677. SA4 X4
  1678. LX4 18 CHECK HOST/LINKED STATUS
  1679. GT B3,B1,SLA4 IF *S*
  1680. NG X4,SLA4 IF HOST PID
  1681. SLA2 SB7 MSEA * ERROR IN ATTRIBUTE.*
  1682. EQ PCM1 PROCESS ERROR
  1683.  
  1684. SLA4 ZR B4,SLA5 IF *V* NOT SPECIFIED
  1685. LE B3,B1,SLA2 IF *S* NOT SPECIFIED
  1686. SLA5 SX7 B1+
  1687. ZR X0,SLA7 IF ALTERING LID
  1688. NZ B2,SLA6 IF *D* OR *E* SPECIFIED
  1689. LX7 23
  1690. BX6 X6+X7 DEFAULT FOR ADDING LID IS ENABLE
  1691. SLA6 SX7 30001B ADD LID
  1692. ERRNZ ALDF-3 ADJUST VALUE IF CHANGED
  1693. SX5 A0 COMBINE LID AND ATTRIBUTES
  1694. LX5 24
  1695. BX6 X5+X6
  1696. SX5 X1 SAVE SEPARATOR
  1697. RJ SET
  1698. SX1 X5 RESTORE SEPARATOR
  1699. SB7 MSNS * NO SPACE AVAILABLE.*
  1700. SX7 B1
  1701. NZ X4,PCM1 IF ERROR
  1702. EQ SLA9 SET CHANGED FLAG
  1703.  
  1704. SLA7 NZ B2,SLA8 IF *D* OR *E* SPECIFIED
  1705. SA4 A5 GET LID WORD
  1706. LX4 24 CHECK PRESENT STATUS
  1707. PL X4,SLA8 IF DISABLED
  1708. LX7 23
  1709. BX6 X6+X7
  1710. SLA8 SX7 50001B ALTER LID
  1711. ERRNZ SLTF-5 ADJUST VALUE IF CHANGED
  1712. SX5 A0 COMBINE LID AND ATTRIBUTES
  1713. LX5 24
  1714. BX6 X5+X6
  1715. SX5 X1 SAVE SEPARATOR
  1716. RJ SET
  1717. SX1 X5+ RESTORE SEPARATOR
  1718. SB7 MSNA * LID NOT ALTERED.*
  1719. SX7 B1+
  1720. NZ X4,PCM1 IF ERROR
  1721. SLA9 SA7 CHDF SET LID TABLE CHANGED FLAG
  1722. SX4 X1-1R. CHECK FOR MORE COMMAND
  1723. SB7 MSCP * COMMAND PROCESSED.*
  1724. ZR X1,PCM1 IF NO MORE COMMAND
  1725. ZR X4,PCM1 IF NO MORE COMMAND
  1726. EQ PCM5 CONTINUE PROCESSING COMMAND
  1727.  
  1728. SLAA VFD 60/6LDELETE
  1729. SLF SPACE 4,20
  1730. ** SLF - SET LID FLAGS.
  1731. *
  1732. * EXIT (B2) = 1, IF *D* SPECIFIED.
  1733. * = 2, IF *E* SPECIFIED.
  1734. * (B3) = 1, IF *B* SPECIFIED.
  1735. * = 2, IF *S* SPECIFIED.
  1736. * (B4) = 1, IF *V* SPECIFIED.
  1737. * (B5) = 1, IF *N* SPECIFIED.
  1738. * (B7) = ADDRESS OF RESPONSE.
  1739. * = 0, IF NO ERROR.
  1740. * (X6) = ATTRIBUTE MASK.
  1741. * (X1) = SEPARATOR.
  1742. *
  1743. * USES X - 2, 3, 4, 5, 6, 7.
  1744. * B - 2, 3, 4, 5, 7.
  1745. *
  1746. * CALLS POP.
  1747. *
  1748. * NOTE ATTRIBUTES *D* AND *E* CANNOT BE SPECIFIED TOGETHER.
  1749. * ATTRIBUTES *S* AND *B* CANNOT BE SPECIFIED TOGETHER.
  1750.  
  1751.  
  1752. SLF SUBR ENTRY/EXIT
  1753. MX4 -6
  1754. RJ POP GET NEXT PARAMETER
  1755. SB2 B0 CLEAR FLAGS
  1756. SB3 B0
  1757. SB4 B0
  1758. SB5 B0
  1759. SB7 B0 CLEAR ERROR RESPONSE
  1760. SX5 B0 CLEAR ATTRIBUTE MASK
  1761. ZR X6,SLF8 IF NO CHARACTERS
  1762. SLF1 LX6 6 SHIFT CHARACTER
  1763. BX3 -X4*X6
  1764. ZR X3,SLF8 IF NO MORE CHARACTERS
  1765. SX2 X3-1RE
  1766. ZR X2,SLF3 IF *E*
  1767. SX7 X3-1RD
  1768. ZR X7,SLF3 IF *D*
  1769. SX2 X3-1RS
  1770. ZR X2,SLF4 IF *S*
  1771. SX7 X3-1RB
  1772. ZR X7,SLF4 IF *B*
  1773. SX2 X3-1RV
  1774. ZR X2,SLF6 IF *V*
  1775. SX2 X3-1RN
  1776. ZR X2,SLF7 IF *N*
  1777. SB7 MSIA * INCORRECT ATTTRIBUTE.*
  1778. EQ PCM1 PROCESS ERROR
  1779.  
  1780. SLF2 SB7 MSEA * ERROR IN ATTRIBUTE.*
  1781. EQ PCM1 PROCESS ERROR
  1782.  
  1783. SLF3 NZ B2,SLF2 IF SPECIFIED TWICE OR *E* AND *D*
  1784. SB2 1
  1785. NZ X2,SLF1 IF NOT *E*
  1786. SB2 2
  1787. SX5 X5+20B
  1788. EQ SLF1 PROCESS NEXT CHARACTER
  1789.  
  1790. SLF4 NZ B3,SLF2 IF SPECIFIED TWICE OR *S* AND *B*
  1791. SB3 1
  1792. NZ X2,SLF5 IF NOT *S*
  1793. SB3 2
  1794. SX5 X5+10B
  1795. EQ SLF1 PROCESS NEXT CHARACTER
  1796.  
  1797. SLF5 SX5 X5+2
  1798. EQ SLF1 PROCESS NEXT CHARACTER
  1799.  
  1800. SLF6 NZ B4,SLF2 IF SPECIFIED TWICE
  1801. SX5 X5+4
  1802. SB4 B1+
  1803. EQ SLF1 PROCESS NEXT CHARACTER
  1804.  
  1805. SLF7 NZ B5,SLF2 IF SPECIFIED TWICE
  1806. SX5 X5+1
  1807. SB5 B1+
  1808. EQ SLF1 PROCESS NEXT CHARACTER
  1809.  
  1810. SLF8 SX6 X5 SET ATTRIBUTE MASK
  1811. LX6 19 POSITION ATTRIBUTE MASK
  1812. EQ SLFX RETURN
  1813. SMF SPACE 4,15
  1814. ** SMF - SET MAINFRAME TYPE.
  1815. *
  1816. * EXIT TO *PCM1* IF NO MORE COMMAND TO PROCESS OR ERROR.
  1817. * TO *PCM5* IF NO ERROR AND MORE COMMAND TO PROCESS.
  1818. * (X1) = SEPARATOR, IF MORE COMMAND TO PROCESS.
  1819. * (CHDF) = 1, IF THE LID TABLE CHANGED.
  1820. * (B7) = ADDRESS OF RESPONSE.
  1821. *
  1822. * USES X - 1, 4, 5, 6, 7.
  1823. * A - 7.
  1824. * B - 7.
  1825. *
  1826. * CALLS POP, SET, SFN.
  1827.  
  1828.  
  1829. SMF RJ POP GET NEXT PARAMETER
  1830. SX5 X1 SAVE SEPARATOR
  1831. SB7 MSIM * INCORRECT MAINFRAME.*
  1832. SX7 X6
  1833. ZR X6,PCM1 IF NO MAINFRAME
  1834. NZ X7,PCM1 IF MORE THAN SEVEN CHARACTERS
  1835. MX4 42 SPACE FILL MAINFRAME DESCRIPTOR
  1836. BX1 X6
  1837. RJ SFN
  1838. BX6 X4*X6
  1839. SX7 20001B SET FUNCTION CODE AND PID COUNT
  1840. ERRNZ SMFF-2 ADJUST VALUE IF CHANGED
  1841. LX6 -18 POSITION MAINFRAME DESCRIPTOR
  1842. RJ SET SET MAINFRAME
  1843. SB7 MSMF * MAINFRAME NOT SET.*
  1844. NZ X4,PCM1 IF ERROR
  1845. SB7 MSCP * COMMAND PROCESSED.*
  1846. SX7 B1 SET LID TABLE CHANGED FLAG
  1847. SX1 X5 RESTORE SEPARATOR
  1848. SA7 CHDF
  1849. SX4 X1-1R. CHECK FOR MORE COMMAND
  1850. ZR X1,PCM1 IF NO MORE COMMAND
  1851. ZR X4,PCM1 IF NO MORE COMMAND
  1852. EQ PCM5 CONTINUE PROCESSING COMMAND
  1853. SNS SPACE 4,15
  1854. ** SNS - SET NETWORK STATUS.
  1855. *
  1856. * EXIT TO *PCM1* IF NO MORE COMMAND TO PROCESS OR ERROR.
  1857. * TO *PCM5* IF NO ERROR AND MORE COMMAND TO PROCESS.
  1858. * (X1) = SEPARATOR, IF MORE COMMAND TO PROCESS.
  1859. * (CHDF) = 1, IF THE LID TABLE CHANGED.
  1860. * (B7) = ADDRESS OF RESPONSE.
  1861. *
  1862. * USES X - 0, 1, 4, 5, 6, 7.
  1863. * A - 7.
  1864. * B - 7.
  1865. *
  1866. * CALLS POP, SET.
  1867.  
  1868.  
  1869. SNS MX0 -42
  1870. RJ POP GET NEXT PARAMETER
  1871. SB7 MSIP * INCORRECT SEPARATOR.*
  1872. SX4 X1-1R,
  1873. NZ X4,PCM1 IF SEPARATOR NOT *,*
  1874. SB7 MSIN * INCORRECT NETWORK.*
  1875. ZR X6,PCM1 IF NO NETWORK
  1876. BX7 -X0*X6
  1877. NZ X7,PCM1 IF MORE THAN THREE CHARACTERS
  1878. LX6 18 POSITION NETWORK
  1879. SX4 X6-3RNAM
  1880. SX0 NANS
  1881. ZR X4,SNS1 IF *NAM*
  1882. SX4 X6-3RRHF
  1883. SX0 RHNS
  1884. ZR X4,SNS1 IF *RHF*
  1885. SX4 X6-3RSSF
  1886. SX0 SSNS
  1887. ZR X4,SNS1 IF *SSF*
  1888. SX4 X6-3RALL
  1889. SX0 NANS+RHNS+SSNS
  1890. ZR X4,SNS1 IF *ALL*
  1891. EQ PCM1 PROCESS ERROR
  1892.  
  1893. SNS1 SX4 2RNA CHECK FOR REST OF COMMAND
  1894. RJ POP GET NEXT PARAMETER
  1895. SB7 MSIP * INCORRECT SEPARATOR.*
  1896. SX7 X1-1R=
  1897. NZ X7,PCM1 IF SEPARATOR NOT *=*
  1898. LX6 12
  1899. SB7 MSIC * INCORRECT COMMAND.*
  1900. BX4 X6-X4
  1901. NZ X4,PCM1 IF PARAMETER NOT *NA*
  1902. RJ POP GET NEXT PARAMETER
  1903. MX4 -54 CHECK FOR ONLY ONE CHARACTER
  1904. BX5 -X4*X6
  1905. SB7 MSIS * INCORRECT STATUS.*
  1906. NZ X5,PCM1 IF MORE THAN ONE CHARACTER
  1907. BX4 X4*X6
  1908. SX5 X1 SAVE SEPARATOR
  1909. SX7 10001B SET FUNCTION CODE AND PID COUNT
  1910. ERRNZ SNSF-1 ADJUST VALUE IF CHANGED
  1911. SX6 B1+ SET ENABLE NETWORK STATUS
  1912. LX4 6 RIGHT JUSTIFY CHARACTER
  1913. LX6 12
  1914. SX1 X4-1RE
  1915. ZR X1,SNS2 IF ENABLED
  1916. SX6 X6+10B SET DISABLE NETWORK STATUS
  1917. SX1 X4-1RD
  1918. NZ X1,PCM1 IF NOT DISABLED
  1919. SNS2 LX0 -12 POSITION NETWORK IDENTIFIER
  1920. BX7 X7+X0 ADD IN NETWORK IDENTIFIER
  1921. RJ SET SET NETWORK
  1922. NZ X4,PCM1 IF ERROR
  1923. SB7 MSCP * COMMAND PROCESSED.*
  1924. SX7 B1 LID TABLE CHANGED
  1925. SX1 X5 RESTORE SEPARATOR
  1926. SA7 CHDF
  1927. SX4 X1-1R. CHECK FOR MORE COMMAND
  1928. ZR X1,PCM1 IF NO MORE COMMAND
  1929. ZR X4,PCM1 IF NO MORE COMMAND
  1930. EQ PCM5 CONTINUE PROCESSING COMMAND
  1931. SPA SPACE 4,20
  1932. ** SPA - SET PID ATTRIBUTE(S).
  1933. *
  1934. * EXIT TO *PCM1* IF NO MORE COMMAND TO PROCESS OR ERROR.
  1935. * TO *PCM5* IF NO ERROR AND MORE COMMAND TO PROCESS.
  1936. * (X1) = SEPARATOR, IF MORE COMMAND TO PROCESS.
  1937. * (CHDF) = 1, IF THE LID TABLE CHANGED.
  1938. * (B7) = ADDRESS OF RESPONSE.
  1939. *
  1940. * USES X - ALL.
  1941. * A - 1, 7.
  1942. * B - 2, 3, 4, 5, 7.
  1943. *
  1944. * CALLS POP, SET.
  1945. *
  1946. * NOTE ATTRIBUTES *D* AND *E* CANNOT BE SPECIFIED TOGETHER
  1947. * AND IF NEITHER IS SPECIFIED THE PRESENT STATUS WILL
  1948. * BE USED. *V* MUST BE SPECIFIED ON THE HOST PID.
  1949.  
  1950.  
  1951. SPA RJ POP GET NEXT PARAMETER
  1952. SX5 X1 SAVE SEPARATOR
  1953. BX3 X6 SAVE CHARACTERS
  1954. SB2 B0+ CLEAR FLAGS
  1955. SB3 B0+
  1956. SB4 B0
  1957. SB5 B0
  1958. SX6 B0 CLEAR ATTRIBUTE MASK
  1959. ZR X3,SPA7 IF NO CHARACTERS
  1960. MX0 -6 SET CHARACTER MASK
  1961. SPA1 LX3 6 SHIFT CHARACTER
  1962. BX1 -X0*X3
  1963. ZR X1,SPA7 IF NO MORE CHARACTERS
  1964. SX2 X1-1RE
  1965. ZR X2,SPA3 IF *E*
  1966. SX2 X1-1RD
  1967. ZR X2,SPA4 IF *D*
  1968. SX2 X1-1RV
  1969. ZR X2,SPA5 IF *V*
  1970. SX2 X1-1RN
  1971. ZR X2,SPA6 IF *N*
  1972. SB7 MSIA * INCORRECT ATTTRIBUTE.*
  1973. EQ PCM1 PROCESS ERROR
  1974.  
  1975. SPA2 SB7 MSEA * ERROR IN ATTRIBUTE.*
  1976. EQ PCM1 PROCESS ERROR
  1977.  
  1978. SPA3 NZ B2,SPA2 IF SPECIFIED TWICE
  1979. SX6 X6+4
  1980. SB2 B1+
  1981. EQ SPA1 PROCESS NEXT CHARACTER
  1982.  
  1983. SPA4 NZ B3,SPA2 IF SPECIFIED TWICE
  1984. SB3 B1+
  1985. EQ SPA1 PROCESS NEXT CHARACTER
  1986.  
  1987. SPA5 NZ B4,SPA2 IF SPECIFIED TWICE
  1988. SX6 X6+2
  1989. SB4 B1+
  1990. EQ SPA1 PROCESS NEXT CHARACTER
  1991.  
  1992. SPA6 NZ B5,SPA2 IF SPECIFIED TWICE
  1993. SX6 X6+1
  1994. SB5 B1+
  1995. EQ SPA1 PROCESS NEXT CHARACTER
  1996.  
  1997. SPA7 SA1 PARB+2 GET PID ATTRIBUTES
  1998. SA1 X1
  1999. LX1 59-41
  2000. NZ B4,SPA8 IF *V* SPECIFIED
  2001. NG X1,SPA2 IF *V* NOT SPECIFIED ON HOST
  2002. SPA8 SX7 B1 SET FUNCTION CODE AND PID COUNT
  2003. ERRNZ SPAF-0 ADJUST VALUE IF CHANGED
  2004. SB4 B2+B3 CHECK FOR *D* OR *E*
  2005. GT B4,B1,SPA2 IF BOTH SPECIFIED
  2006. NZ B4,SPA9 IF EITHER SPECIFIED
  2007. LX1 59-40-59+41
  2008. SB7 MSNC * PID NOT ALTERED.*
  2009. PL X1,SPA9 IF DISABLED
  2010. SX6 X6+4 SET ENABLED BIT
  2011. SPA9 LX6 9 POSITION ATTRIBUTES
  2012. RJ SET
  2013. NZ X4,PCM1 IF ERROR
  2014. SB7 MSCP * COMMAND PROCESSED.*
  2015. SX7 B1 SET LID TABLE CHANGED FLAG
  2016. SX1 X5 RESTORE SEPARATOR
  2017. SA7 CHDF
  2018. SX4 X1-1R. CHECK FOR MORE COMMAND
  2019. ZR X1,PCM1 IF NO MORE COMMAND
  2020. ZR X4,PCM1 IF NO MORE COMMAND
  2021. EQ PCM5 CONTINUE PROCESSING COMMAND
  2022. STL SPACE 4,15
  2023. ** STL - SEARCH TABLE FOR LID.
  2024. *
  2025. * ENTRY (X6) = LID, LEFT JUSTIFIED.
  2026. * (X2) = 42 BIT MASK, LEFT JUSTIFIED.
  2027. * (PARB+2) = PID ADDRESS (IN *LIDI*)
  2028. *
  2029. *
  2030. * EXIT (X0) = ZERO, IF LID FOUND IN TABLE.
  2031. * = NONZERO, IF LID NOT FOUND.
  2032. * (A5) = ADDRESS OF LID ENTRY, IF FOUND.
  2033. * (A0) = LID.
  2034. *
  2035. * USES X - 0, 3, 4, 5, 6.
  2036. * A - 0, 5.
  2037.  
  2038.  
  2039. STL SUBR ENTRY/EXIT
  2040. SA5 PARB+2 GET PID ADDRESS
  2041. SA5 X5+B1
  2042. MX3 18
  2043. LX6 18 SAVE LID
  2044. SA0 X6+
  2045. LX6 -18
  2046. STL1 BX5 X3*X5 CHECK FOR MATCH
  2047. BX0 X6-X5
  2048. ZR X0,STLX IF MATCH
  2049. STL2 SA5 A5+B1 GET NEXT ENTRY
  2050. ZR X5,STLX IF END OF TABLE
  2051. BX4 -X2*X5 CHECK FOR PID
  2052. NZ X4,STLX IF PID
  2053. EQ STL1 CHECK NEXT LID
  2054. STP SPACE 4,10
  2055. ** STP - SEARCH TABLE FOR PID.
  2056. *
  2057. * ENTRY (X6) = PID, LEFT JUSTIFIED.
  2058. *
  2059. * EXIT (X2) = ZERO, IF PID FOUND IN TABLE.
  2060. * = NONZERO, IF PID NOT FOUND.
  2061. * (A5) = ADDRESS OF PID ENTRY, IF FOUND.
  2062. *
  2063. * USES X - 0, 2, 3, 4, 5.
  2064. * A - 5.
  2065.  
  2066.  
  2067. STP SUBR ENTRY/EXIT
  2068. SA5 LIDI+1
  2069. MX0 -18
  2070. MX3 18
  2071. STP1 BX5 X3*X5 CHECK FOR MATCH
  2072. BX2 X6-X5
  2073. ZR X2,STPX IF MATCH
  2074. STP2 SA5 A5+B1 GET NEXT ENTRY
  2075. ZR X5,STPX IF END OF TABLE
  2076. BX4 -X0*X5 CHECK FOR PID
  2077. NZ X4,STP1 IF PID
  2078. EQ STP2 CHECK NEXT ENTRY
  2079. THD SPACE 4,15
  2080. ** THD - TOGGLE TO HELP DISPLAY.
  2081. *
  2082. * EXIT TO *PCM1* IF *L* DISPLAY NOT ACTIVE.
  2083. * TO *PCM3* WITH HELP FLAG SET.
  2084. * (B7) = 0, IF DISPLAY ACTIVE.
  2085. *
  2086. * USES X - 5, 6.
  2087. * A - 5, 6.
  2088. * B - 7.
  2089.  
  2090.  
  2091. THD SA5 LDSF CHECK IF *L* DISPLAY ACTIVE
  2092. SB7 MSIC * INCORRECT COMMAND.*
  2093. ZR X5,PCM1 IF INCORRECT COMMAND FOR INPUT FILE
  2094. SX6 B1 SET HELP DISPLAY REQUESTED
  2095. SB7 B0 CLEAR ERROR MESSAGE
  2096. SA6 HLPF
  2097. EQ PCM3 PROCESS NEXT COMMAND
  2098. TLD SPACE 4,15
  2099. ** TLD - TOGGLE TO LID DISPLAY.
  2100. *
  2101. * EXIT TO *PCM1* IF *L* DISPLAY NOT ACTIVE.
  2102. * TO *PCM3* WITH HELP FLAG CLEARED.
  2103. * (B7) = 0, IF DISPLAY ACTIVE.
  2104. *
  2105. * USES X - 5, 6.
  2106. * A - 5, 6.
  2107. * B - 7.
  2108.  
  2109.  
  2110. TLD SA5 LDSF CHECK IF *L* DISPLAY ACTIVE
  2111. SB7 MSIC * INCORRECT COMMAND.*
  2112. ZR X5,PCM1 IF INCORRECT COMMAND FOR INPUT FILE
  2113. SX6 B0 CLEAR HELP DISPLAY REQUESTED
  2114. SB7 B0 CLEAR ERROR MESSAGE
  2115. SA6 HLPF
  2116. EQ PCM3 PROCESS NEXT COMMAND
  2117. SPACE 4,10
  2118. * COMMON DECKS.
  2119.  
  2120. *CALL COMCCIO
  2121. *CALL COMCCOD
  2122. *CALL COMCCPM
  2123. *CALL COMCFLD
  2124. *CALL COMCLFM
  2125. *CALL COMCPOP
  2126. *CALL COMCRDS
  2127. *CALL COMCRDW
  2128. *CALL COMCSFM
  2129. *CALL COMCSFN
  2130. *CALL COMCSYS
  2131. *CALL COMCUSB
  2132. *CALL COMCWOD
  2133. *CALL COMCWTC
  2134. *CALL COMCWTS
  2135. *CALL COMCWTH
  2136. *CALL COMCWTO
  2137. *CALL COMCWTW
  2138. *CALL COMCZTB
  2139. TITLE BUFFERS.
  2140. SPACE 4,10
  2141. ** BUFFERS.
  2142.  
  2143. USE BUFFERS
  2144.  
  2145.  
  2146. LIDI EQU * LID TABLE BUFFER
  2147. LIDIE EQU LIDI+LIIL
  2148.  
  2149. LBFO EQU LIDIE OUTPUT *L* DISPLAY BUFFER
  2150. LBFOE EQU LBFO+LBOL
  2151.  
  2152. LBFI EQU LBFOE INPUT *L* DISPLAY BUFFER
  2153. LBFIE EQU LBFI+LBIL
  2154.  
  2155. INPU EQU LBFIE INPUT BUFFER
  2156. INPUE EQU INPU+INPL
  2157.  
  2158. MFTB EQU INPUE MAINFRAME DESCRIPTOR BUFFER
  2159. MFTBE EQU MFTB+MFTL
  2160.  
  2161. OUTP EQU MFTBE OUTPUT BUFFER
  2162. OUTPE EQU OUTP+OUTL
  2163. TITLE PRESET.
  2164. PRS SPACE 4,25
  2165. ** PRS - PRESET.
  2166. *
  2167. * EXIT SYSTEM ORIGIN CHECKED FOR, ABORT IF JOB IS NOT
  2168. * SYSTEM ORIGIN.
  2169. * INPUT AND OUTPUT FILES CHECKED IF *L* DISPLAY
  2170. * NOT ACTIVE, ABORT IF NOT SPECIFED.
  2171. * FILE NAME CONFLICT AND INPUT FILE EXISTENCE
  2172. * CHECKED IF *L* DISPLAY NOT ACTIVE, ABORT IF ERROR.
  2173. * *L* DISPLAY INPUT/OUTPUT BUFFER FIRST WORDS SET,
  2174. * IF *L* DISPLAY IS ACTIVE.
  2175. * (LDSF) = 1 IF *L* DISPLAY IS ACTIVE.
  2176. * = 0 IF SPECIFIED FILES ARE ACTIVE.
  2177. * (LCNT) = LINE COUNT FOR LISTINGS.
  2178. * (NMLL) = SET FOR CONSOLE IN USE.
  2179. * (CMRO) = SET FOR CONSOLE IN USE.
  2180. * (CHDF) = 1.
  2181. * (IND1) = 1.
  2182. * (HLPF) = 0.
  2183. *
  2184. * CALLS ARG.
  2185. *
  2186. * MACROS ABORT, FILINFO, GETJN, GETPP, MESSAGE, SETFS,
  2187. * SYSTEM, WRITE.
  2188.  
  2189.  
  2190. PRS SUBR ENTRY/EXIT
  2191. SB1 1
  2192. SA1 JOPR CHECK FOR SYSTEM ORIGIN
  2193. MX0 -12
  2194. LX1 36
  2195. BX1 -X0*X1
  2196. MX5 42
  2197. SX1 X1-SYOT
  2198. ZR X1,PRS1 IF SYSTEM ORIGIN
  2199. MESSAGE ERIU * INCORRECT USER ACCESS.*
  2200. ABORT ABORT NON SYSTEM ORIGIN JOB
  2201.  
  2202. PRS1 GETPP BUFF,PAGC,PDFC GET LINES PER PAGE AND PRINT DENSITY
  2203. SA1 PAGC
  2204. SX6 X1-6 ENSURE SPACE FOR HEADERS
  2205. SX7 B1+
  2206. SA6 LCNT
  2207. SA7 CHDF SET LID TABLE CHANGED FLAG
  2208. SYSTEM RSB,R,JSNA GET POINTER TO *L* DISPLAY WORD
  2209. SA1 JSNB
  2210. LX1 6
  2211. MX0 -18
  2212. LX0 18
  2213. BX1 -X0*X1
  2214. SA2 A1+B1
  2215. BX2 X0*X2
  2216. BX6 X2+X1
  2217. SA6 A2
  2218. SYSTEM RSB,R,JSNC GET JSN OF JOB USING *L* DISPLAY
  2219. GETJN JSNB COMPARE TO JSN OF RUNNING JOB
  2220. SA1 JSNB
  2221. SA2 JSND
  2222. BX1 X1-X2
  2223. MX0 24
  2224. BX1 X0*X1
  2225. SX6 B0
  2226. ZR X1,PRS6 IF *L* DISPLAY ACTIVE
  2227. SA6 LDSP CLEAR *L* DISPLAY ACTIVE FLAG
  2228. SA1 ACTR CHECK ARGUMENT COUNT
  2229. SB4 X1
  2230. R= A4,ARGR PROCESS ARGUMENTS
  2231. GT B4,B1,PRS3 IF AT LEAST TWO ARGUMENTS
  2232. PRS2 MESSAGE ERFS * NO INPUT/OUTPUT FILE SPECIFIED.*
  2233. ABORT FATAL ERROR
  2234.  
  2235. PRS3 SB5 TARG
  2236. RJ ARG
  2237. NZ X1,PRS2 IF ARGUMENT ERRORS
  2238. SA1 TARG
  2239. SA2 TARG+1
  2240. PL X1,PRS2 IF NO INPUT FILE EQUIVALENCED
  2241. PL X2,PRS2 IF NO OUTPUT FILE EQUIVALENCED
  2242. SA1 IF
  2243. SA2 LF
  2244. MX0 42 CHECK FOR FILE CONFLICT
  2245. BX6 X0*X2
  2246. BX7 X0*X1
  2247. BX1 X6-X7
  2248. NZ X1,PRS4 IF NO CONFLICT
  2249. MESSAGE ERFL * FILE NAME CONFLICT.*
  2250. ABORT FATAL ERROR
  2251.  
  2252. PRS4 SA1 FIBK CHECK FOR INPUT FILE EXISTENCE
  2253. BX1 -X0*X1
  2254. BX7 X7+X1
  2255. SA7 FIBK
  2256. FILINFO FIBK
  2257. SA1 FIBK+1
  2258. AX1 48
  2259. NZ X1,PRS5 IF INPUT FILE DOES EXIST
  2260. MESSAGE ERNF * INPUT FILE NOT FOUND.*
  2261. ABORT FATAL ERROR
  2262.  
  2263. PRS5 SETFS OUTPUT,0 PRESERVE OUTPUT FILE
  2264. WRITE OUTPUT,* PRESET WRITE FUNCTION
  2265. EQ PRSX RETURN
  2266.  
  2267. PRS6 SA1 LDIW STORE *L* DISPLAY BUFFER FIRST WORDS
  2268. SA2 LDOW
  2269. BX6 X1
  2270. BX7 X2
  2271. SA6 LBFI
  2272. SA7 LBFO
  2273. SX6 B1
  2274. SX7 B0
  2275. SA6 LDSF SET *L* DISPLAY ACTIVE FLAG
  2276. SA6 IND1 SET INDEX INTO *LIDI*
  2277. SA7 HLPF CLEAR HELP DISPLAY REQUESTED
  2278. EQ PRSX RETURN
  2279.  
  2280. ERFL DATA C* FILE NAME CONFLICT.*
  2281. ERFS DATA C* NO INPUT/OUTPUT FILE SPECIFIED.*
  2282. ERIU DATA C* INCORRECT USER ACCESS.*
  2283. ERNF DATA C* INPUT FILE NOT FOUND.*
  2284.  
  2285. FIBK VFD 42/0,6/FIBKL,12/1 *FILINFO* PARAMETER BLOCK
  2286. BSS 4
  2287. FIBKL EQU *-FIBK
  2288.  
  2289. JSNA VFD 12/0,12/1,18/LDSP,18/JSNB
  2290. JSNB CON -1
  2291. JSNC VFD 12/0,12/1,18/0,18/JSND
  2292. JSND CON -1
  2293.  
  2294. LDIW VFD 12/LBIL,48/0 *L*DISPLAY INPUT BUFFER FIRST WORD
  2295. LDOW VFD 12/LBOL,48/0 *L*DISPLAY OUTPUT BUFFER FIRST WORD
  2296.  
  2297.  
  2298. TARG BSS 0 ARGUMENT LIST FOR *COMCARG*
  2299. I ARG IF,IF,400B INPUT FILE NAME
  2300. L ARG LF,LF,400B OUTPUT FILE NAME
  2301. ARG
  2302. SPACE 4
  2303. * PRESET COMMON DECKS.
  2304.  
  2305. *CALL COMCARG
  2306. SPACE 4,10
  2307. LIDOUE EQU * END OF PROGRAM
  2308. .RFL= MAX LIDOUE,OUTPE
  2309. RFL= EQU .RFL=
  2310. SPACE 4,10
  2311. END