User Tools

Site Tools


cdc:nos2.source:opl871:sdsplay

SDSPLAY

Table Of Contents

  • [00008] SDSPLAY - SYSTEM VALUES DISPLAY.
  • [00012] SYSTEM VALUES DISPLAY.
  • [00150] SCLASS - DEFINE SERVICE CLASS TABLE.
  • [00179] DTAV - DEFINE TABLE VALUES.
  • [00206] SETKW - SET KEYWORD ENTRY.
  • [00248] ASSEMBLY CONSTANTS.
  • [00266] TABLES AND DATA DEFINITIONS.
  • [00304] TASC - ATTRIBUTES FOR SERVICE CLASS PAGE TABLE.
  • [00312] TCSV - TABLE OF EQUIVALENCED PARAMETER VALUES FOR
  • [00332] TDSV - TABLE OF EQUIVALENCED PARAMETER VALUES FOR
  • [00352] TFCV - TABLE OF EQUIVALENCED PARAMETER VALUES FOR *FC*.
  • [00371] TFSV - TABLE OF EQUIVALENCED PARAMETER VALUES FOR *FS*.
  • [00390] THLP - *HELP* PAGE TABLE.
  • [00398] TKWP - TABLE OF KEYWORD POSITIONS.
  • [00445] TKWV - TABLE OF KEYWORD VALUES.
  • [00503] TSCT - SERVICE CLASS TABLE.
  • [00518] ROLB - ROLLOUT PARAMETER BLOCK.
  • [00563] MAIN PROGRAM.
  • [00565] MAIN PROGRAM.
  • [00583] PROCESS COMMAND LOOP.
  • [00585] PCL - PROCESS COMMAND LOOP.
  • [00610] PIN - PROCESS INPUT FILE DIRECTIVES.
  • [00656] PLP - PROCESS LINE PRINTER.
  • [00710] FUNCTION PROCESSORS.
  • [00712] CLS - PROCESS *CLASS* COMMAND.
  • [00766] END - END *L* DISPLAY UTILITY.
  • [00789] HLP - PROCESS *HELP* COMMAND.
  • [00806] PGO - PROCESS *GO* COMMAND.
  • [00907] PLD - PAGE *L* DISPLAY.
  • [00936] RST - *RESET* DISPLAY TO SYSTEM VALUES.
  • [00949] SUBROUTINES.
  • [00951] AFT - ADD FLOATING TERMINATOR.
  • [00993] ATC - APPEND TERMINATOR CHARACTER.
  • [01033] BLD - BUILD *L* DISPLAY.
  • [01086] CJA - CALCULATE *JCB* OFFSET.
  • [01104] CMP - COMMAND PROCESSOR.
  • [01175] TCMD - TABLE OF COMMANDS.
  • [01193] COI - CONVERT OPERATOR INPUT.
  • [01222] CVB - CALCULATE VALUE BOUNDARIES.
  • [01249] CVK - CHECK FOR VALID KEYWORD.
  • [01270] EFP - EXECUTE FUNCTION PROCESSOR.
  • [01291] EPA - ENTER PARAMETER VALUES IN TEMPLATE.
  • [01327] EPB - ENTER REMAINING VALUES IN TEMPLATES.
  • [01433] GMP - GENERATE MASKING PARAMETERS.
  • [01467] GSD - GET SYSTEM *JCB* DATA.
  • [01478] GSE - GET SYSTEM ENTRY.
  • [01506] ILD - INPUT *L* DISPLAY.
  • [01533] OLD - OUTPUT *L* DISPLAY DATA.
  • [01546] PKC - PROCESS KEYWORD=VALUE COMMAND.
  • [01633] PSK - PROCESS SPECIAL KEYWORDS.
  • [01696] RPN - RESET PAGE NUMBER.
  • [01721] SDT - SET DATA IN TEMPLATE.
  • [01774] SIN - SET INCORRECT NUMERIC PARAMETER.
  • [01810] SIP - SET INCORRECT PARAMETER KEYWORD.
  • [01839] SPS - SET PARAMETER INTO SYSTEM BUFFER.
  • [01869] SSM - SET SERVICE CLASS IN MESSAGE.
  • [01898] SVT - SET VALUE IN TEMPLATE.
  • [01954] HELP - PAGE 1.
  • [01983] HELP - PAGE 2.
  • [02011] HELP - PAGE 3.
  • [02039] LINE PRINTER HEADER FOR TEMPLATES.
  • [02047] ATTRIBUTES FOR SERVICE CLASS - PAGE 1.
  • [02088] ATTRIBUTES FOR SERVICE CLASS - PAGE 2.
  • [02130] ATTRIBUTES FOR SERVICE CLASS - PAGE 3.
  • [02164] OTHER BUFFERS.
  • [02198] PRESET.
  • [02200] PRS - PRESET ROUTINE.
  • [02384] TLOP - TABLE OF LIST OPTIONS.
  • [02396] CVO - CHECK FOR VALID OPTION.
  • [02416] ERR - ABORT PROGRAM WITH ERROR MESSAGE.

Source Code

SDSPLAY.txt
  1. IDENT SDSPLAY,SDS
  2. ABS
  3. SST ASCM
  4. ENTRY SDSPLAY
  5. ENTRY RFL=
  6. ENTRY SSJ=
  7. SYSCOM B1
  8. TITLE SDSPLAY - SYSTEM VALUES DISPLAY.
  9. *COMMENT SDSPLAY - SYSTEM VALUES DISPLAY.
  10. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  11. SDSPLAY SPACE 4,10
  12. *** SDSPLAY - SYSTEM VALUES DISPLAY.
  13. *
  14. * J. J. CHIASSON. 85/01/04.
  15. SPACE 4,10
  16. *** *SDSPLAY* IS A CPU UTILITY USED BY THE OPERATOR TO DISPLAY
  17. * AND UPDATE THE SYSTEM SERVICE CLASS PARAMETERS ON THE *L*
  18. * DISPLAY OR TO FORMAT THE SAME FOR A PRINTER.
  19. SPACE 4,20
  20. *** COMMAND FORMAT.
  21. *
  22. * SDSPLAY(LFN,OP,IFN) ORDER DEPENDENT PARAMETERS.
  23. * OR
  24. * SDSPLAY(L=LFN,LO=OP,I=IFN) ORDER INDEPENDENT PARAMETERS.
  25. *
  26. * WHERE
  27. *
  28. * OP = *D* FORMAT DATA FOR *L* DISPLAY (DEFAULT).
  29. *
  30. * OP = *L* FORMAT DATA FOR A LINE PRINTER.
  31. *
  32. * LFN LIST OUTPUT FILE NAME (DEFAULT = OUTPUT).
  33. * THIS PARAMETER IS VALID ONLY WITH *LO=L*
  34. * OR *I=IFN*.
  35. *
  36. * IFN INPUT FILE NAME (DEFAULT = NONE).
  37. *
  38. * NOTES SPECIAL PRIVILEGES REQUIRED.
  39. * 1. USER MUST BE *SYOT* TO USE *L* DISPLAY (LO=D).
  40. * 2. USER MUST BE *SYOT* OR HAVE SYSTEM ORIGIN
  41. * PRIVILEGES TO GENERATE A LISTING (LO=L).
  42. *
  43. * IF A DIRECTIVE ERROR IS DETECTED WHILE PROCESSING
  44. * INPUT FILE DIRECTIVES (*I=IFN* SPECIFIED), LIST
  45. * OUTPUT WILL BE GENERATED EVEN IF *LO=L* WAS NOT
  46. * SPECIFIED.
  47. SPACE 4,15
  48. *** DAYFILE MESSAGES.
  49. *
  50. * * ARGUMENT ERROR - ARG.*
  51. * THE SPECIFIED ARGUMENT, *ARG* WAS NOT ONE OF THE
  52. * ALLOWABLE ARGUMENTS TO *SDSPLAY*.
  53. *
  54. * * SDSPLAY UTILITY COMPLETE.*
  55. * PROCESSING OF THE *SDSPLAY* UTILITY HAS BEEN ENDED.
  56. *
  57. * * USER ACCESS NOT VALID.*
  58. * THE USER MUST HAVE SYSTEM ORIGIN PRIVILEGE.
  59. SPACE 4,10
  60. *** *L* DISPLAY ERROR MESSAGES.
  61. *
  62. * *UNRECOGNIZABLE DIRECTIVE.*
  63. * A COMMAND WAS ENTERED VIA THE *L* DISPLAY WHICH WAS
  64. * NOT ONE OF THE VALID *SDSPLAY* COMMANDS.
  65. *
  66. * *UNKNOWN PARAMETER - KW.*
  67. * AN UNKNOWN KEYWORD PARAMETER, KW, WAS ENTERED.
  68. *
  69. * *UNKNOWN SEPARATOR - KW.*
  70. * THE SEPARATOR FOR THE KEYWORD, KW, WAS NOT AN *=*.
  71. *
  72. * *UNKNOWN SERVICE CLASS.*
  73. * THE SPECIFIED SERVICE CLASS ON A *CLASS* COMMAND
  74. * WAS INCORRECT.
  75. *
  76. * *INCORRECT NUMERIC PARAMETER FOR KW.*
  77. * THE ENTERED VALUE FOR THE KEYWORD, KW, WAS NOT IN THE
  78. * ALLOWABLE RANGE FOR THAT KEYWORD.
  79. *
  80. * *INCORRECT SERVICE CLASS FOR *DT*.*
  81. * THE SERVICE CLASS SPECIFIED FOR THE *DT* PARAMETER
  82. * WAS NOT ALLOWED.
  83. *
  84. * *LOWER BOUND IS .GE. UPPER BOUND FOR CLASS XX.*
  85. * DURING *GO* PROCESSING, A LOWER BOUND WAS ENCOUNTERED
  86. * WHICH EXCEEDED OR EQUALED THE ASSOCIATED UPPER BOUND
  87. * FOR THE SERVICE CLASS XX.
  88. *
  89. * /*RS* IS GREATER THAN *US* FOR CLASS XX./
  90. * DURING *GO* PROCESSING, AN *RS* (RECALL CPU SLICE)
  91. * WAS ENCOUNTERED WHICH EXCEEDED THE *US* (UNEXTENDED
  92. * CPU SLICE) FOR THE SERVICE CLASS XX.
  93. *
  94. * *YYYY NOT WITHIN ALLOWABLE RANGE FOR CLASS XX.*
  95. * THE PARAMETER *YYYY* (EITHER *EXIL*, *EXIP* OR
  96. * *EXTP*) WAS NOT WITHIN THE EXECUTION QUEUE PRIORITY
  97. * RANGE (*EXLP* TO *EXUP*) FOR SERVICE CLASS *XX*.
  98. *
  99. * *EXCESS PARAMETERS.*
  100. * ONE OR MORE EXTRA PARAMETERS WERE ENCOUNTERED ON THE
  101. * COMMAND.
  102. SPACE 4,10
  103. *** *L* DISPLAY INFORMATIVE MESSAGES.
  104. *
  105. * *UTILITY COMPLETE.*
  106. * THE *END* COMMAND WAS ENTERED VIA THE *L* DISPLAY AND
  107. * *SDSPLAY* SUCCESSFULLY TERMINATED.
  108. SPACE 4,10
  109. *** *L* DISPLAY COMMANDS.
  110. *
  111. * L.+ PAGE DISPLAY FORWARD.
  112. *
  113. * L.- PAGE DISPLAY BACKWARD.
  114. *
  115. * L.CLASS=XX DISPLAY THE DATA FOR SERVICE CLASS XX.
  116. *
  117. * L.END END PROCESSING OF *SDSPLAY*.
  118. *
  119. * L.GO ENTER INTO CMR ALL OF THE VALUES ENTERED
  120. * VIA THE KEYWORD=VALUE COMMMANDS SINCE THE
  121. * LAST *GO* OR *RESET* COMMAND.
  122. *
  123. * L.HELP DISPLAY THE FIRST PAGE OF THE *HELP*
  124. * SCREENS.
  125. *
  126. * L.KEYWORD=VALUE ALTER THE VALUE FOR THE SPECIFIED KEYWORD.
  127. * THIS COMMAND MAY ONLY BE SPECIFIED WHEN A
  128. * *CLASS* DISPLAY IS CURRENTLY BEING
  129. * DISPLAYED. ANY NUMBER OF KEYWORD=VALUE
  130. * ENTRIES MAY BE SPECIFIED ON A LINE,
  131. * SEPARATED BY COMMAS, SUBJECT TO THE *L*
  132. * DISPLAY INPUT LINE LENGTH RESTRICTION.
  133. *
  134. * L.RESET RE-READS THE KEYWORD=VALUE PARAMETERS
  135. * FROM CMR AND SETS THEM INTO THE DISPLAYS.
  136. SPACE 4,10
  137. * COMMON DECKS.
  138.  
  139.  
  140. *CALL COMCCMD
  141. *CALL COMCDCM
  142. *CALL COMCDCP
  143. *CALL COMCMAC
  144. *CALL COMSEVT
  145. *CALL COMSMSC
  146. *CALL COMSPFM
  147. *CALL COMSSFM
  148. *CALL COMSSSJ
  149. SPACE 4,15
  150. ** SCLASS - DEFINE SERVICE CLASS TABLE.
  151. *
  152. * SCLASS NM,MN,DF,ST,TX
  153. *
  154. * ENTRY *NM* = SERVICE CLASS NAME.
  155. * *MN* = TWO CHARACTER MNEMONIC.
  156. * *DF* = DAYFILE MESSAGE CHARACTER.
  157. * *ST* = SHORT TEXT FOR *QFTLIST*.
  158. * *TX* = TEXT OF SERVICE CLASS NAME FOR BANNER PAGE.
  159. *
  160. * NOTES THE CALL TO *COMSSCD* MUST FOLLOW THE DEFINITION OF
  161. * THIS MACRO.
  162.  
  163.  
  164. PURGMAC SCLASS
  165.  
  166. SCLASS MACRO NM,MN,DF,ST,TX
  167. MACREF SCLASS
  168. .SCL RMT
  169. VFD 12/0L_MN,48/0 TX
  170. .SCL RMT
  171. SCLASS ENDM
  172.  
  173.  
  174. SCL$ EQU 0 ONLY PROCESS CLASSES WITH JCB-S
  175. *CALL COMSSCD
  176. SPACE 4,20
  177. * MACRO DEFINITIONS.
  178. DTAV SPACE 4,15
  179. ** DTAV - DEFINE TABLE VALUES.
  180. *
  181. * DTAV V
  182. *
  183. * ENTRY *V* = NUMERIC VALUE TO BE CONVERTED.
  184. *
  185. * EXIT IF *V* = 0, THEN THE DISPLAY CODE STRING *UNLIMITED*
  186. * IS GENERATED.
  187. * IF *V* .NE. 0, THEN A DISPLAY CODE STRING IS GENERATED
  188. * WITH LEADING BLANKS AND THE VALUE OF *V* EXPRESSED IN
  189. * DISPLAY CODE RIGHT JUSTIFIED WITH DECIMAL BASE.
  190.  
  191.  
  192. PURGMAC DTAV
  193.  
  194. DTAV MACRO V
  195. MACREF DTAV
  196. .A IFEQ V,0
  197. DATA 10H UNLIMITED
  198. .A ELSE
  199. M DECMIC V
  200. L MICCNT M
  201. B MICRO 1,10-L,* *
  202. DATA 10H_"B"_"M"
  203. .A ENDIF
  204. DTAV ENDM
  205. SETKW SPACE 4,10
  206. ** SETKW - SET KEYWORD ENTRY.
  207. *
  208. * *SETKW* GENERATES A TABLE OF VALID KEYWORDS AND THEIR
  209. * ASSOCIATED ATTRIBUTES.
  210. *
  211. * SETKW MN,HI,LO,OF,LB,SZ,SP
  212. *
  213. * ENTRY *MN* = KEYWORD MNEMONIC.
  214. * *HI* = HIGHEST VALUE ALLOWED FOR KEYWORD.
  215. * *LO* = LOWEST VALUE ALLOWED FOR KEYWORD.
  216. * *OF* = WORD OFFSET INTO *JCB* FOR KEYWORD.
  217. * *LB* = LOW ORDER BIT POSITION IN *JCB* FIELD.
  218. * *SZ* = BIT SIZE OF FIELD.
  219. * *SP* = SPECIAL PROCESSING OF THIS KEYWORD REQUIRED.
  220. *
  221. * NOTES THE *HI* AND *LO* PARAMETERS DO NOT APPLY IF *SP*
  222. * IS SPECIFIED.
  223.  
  224.  
  225. PURGMAC SETKW
  226.  
  227. SETKW MACRO MN,HI,LO,OF,LB,SZ,SP
  228. MACREF SETKW
  229. VFD 24/0L_MN,6/OF
  230. .A IFC NE,$SP$$
  231. VFD 1/1
  232. .A ELSE
  233. VFD 1/0
  234. .A ENDIF
  235. VFD 5/
  236. .B IFC NE,$HI$$
  237. VFD 18/HI
  238. .B ELSE
  239. VFD 18/0
  240. .B ENDIF
  241. .C IFC NE,$LO$$
  242. VFD 6/LO
  243. .C ELSE
  244. VFD 6/0
  245. .C ENDIF
  246. VFD 48/,6/LB,6/SZ
  247. SETKW ENDM
  248. TITLE ASSEMBLY CONSTANTS.
  249. SPACE 4,10
  250. **** ASSEMBLY CONSTANTS.
  251.  
  252.  
  253. CNCI EQU 4 NO COMMAND INPUT (*CPM* RETURN STATUS)
  254. DBUFL EQU 101B DIRECTIVE INPUT FILE BUFFER LENGTH
  255. LCOMU EQU LCOM/2+1 INPUT BUFFER PACKED
  256. LDML EQU 6 *L* DISPLAY MESSAGE LENGTH
  257. LIML EQU 6 *L* DISPLAY INPUT LENGTH
  258. MXFL EQU 3777B-MNFL MAXIMUM CM FL FOR ONE JOB
  259. SBUFL EQU MXJC*JCBE-JCBE *SBUF* LENGTH
  260. SDTA EQU 0 CURRENT DISPLAY SCREEN IS DATA
  261. SHLP EQU 1 CURRENT DISPLAY SCREEN IS *HELP*
  262. XCDT EQU 4 X - COORDINATE FOR *L* DISPLAY
  263. YCDT EQU 2 Y - COORDINATE FOR *L* DISPLAY
  264.  
  265. ****
  266. TITLE TABLES AND DATA DEFINITIONS.
  267. ORG 111B
  268. SDS BSS 0
  269. SPACE 4,10
  270. * DAYFILE MESSAGES.
  271.  
  272. ERAE DATA C* ARGUMENT ERROR - XXXXXXXX*
  273. ERNV DATA C* USER ACCESS NOT VALID.*
  274. SEND DATA C* SDSPLAY UTILITY COMPLETE.*
  275. SPACE 4,10
  276. * *L* DISPLAY MESSAGES.
  277. * NOTES 1. ALL MESSAGES MUST BE *LDML* WORDS IN LENGTH.
  278. * 2. THE PROCESSING ROUTINES FOR THESE MESSAGES
  279. * ASSUME A SPECIFIC LOCATION FOR THE SUBSTITUTABLE
  280. * PARAMETERS. IF THE POSITION OF ANY OF THE
  281. * SUBSTITUTABLE PARAMETERS IS CHANGED, THE
  282. * APPROPRIATE PROCESSING ROUTINE SHOULD BE UPDATED.
  283.  
  284.  
  285. TMLD BSS 0
  286. LOC 0
  287. EBMS DATA 58C
  288. ERRNZ EBMS BLANK MESSAGE MUST BE FIRST
  289. EURD DATA 58CUNRECOGNIZABLE DIRECTIVE.
  290. EUKP DATA 58CUNKNOWN PARAMETER - XX.
  291. EUKS DATA 58CUNKNOWN SEPARATOR - XX.
  292. EUKC DATA 58CUNKNOWN SERVICE CLASS.
  293. EICP DATA 58CINCORRECT NUMERIC PARAMETER FOR XX.
  294. EISC DATA 58CINCORRECT SERVICE CLASS FOR *DT*.
  295. ELGU DATA 58CLOWER BOUND IS .GE. UPPER BOUND FOR CLASS XX.
  296. ERGU DATA 58C*RS* IS GREATER THAN *US* FOR CLASS XX.
  297. EVOR DATA 58CYYYY NOT WITHIN ALLOWABLE RANGE FOR CLASS XX.
  298. EEXP DATA 58CEXCESS PARAMETERS.
  299. ENDM DATA 58CUTILITY COMPLETE.
  300.  
  301. EBUF BSS 6 ERROR MESSAGE ASSEMBLY BUFFER
  302. LOC *O
  303. TASC SPACE 4,10
  304. ** TASC - ATTRIBUTES FOR SERVICE CLASS PAGE TABLE.
  305.  
  306.  
  307. TASC PAGT SCA1 PAGE 1
  308. PAGT SCA2 PAGE 2
  309. PAGT SCA3 PAGE 3
  310. PAGT *
  311. TCSV SPACE 4,10
  312. ** TCSV - TABLE OF EQUIVALENCED PARAMETER VALUES FOR
  313. * *CS*.
  314. *
  315. *T TCSV 60/VALUE
  316. *
  317. * VALUE = RIGHT JUSTIFIED DISPLAY CODE VALUE.
  318.  
  319.  
  320. TCSV BSS 0
  321. LOC 0
  322. DTAV 0
  323. DTAV CSRNG1*100B
  324. DTAV CSRNG2*100B
  325. DTAV CSRNG3*100B
  326. DTAV CSRNG4*100B
  327. DTAV CSRNG5*100B
  328. DTAV CSRNG6*100B
  329. DTAV CSRNG7*100B
  330. LOC *O
  331. TDSV SPACE 4,10
  332. ** TDSV - TABLE OF EQUIVALENCED PARAMETER VALUES FOR
  333. * *DS*.
  334. *
  335. *T TDSV 60/VALUE
  336. *
  337. * VALUE = RIGHT JUSTIFIED DISPLAY CODE VALUE.
  338.  
  339.  
  340. TDSV BSS 0
  341. LOC 0
  342. DTAV 0
  343. DTAV DSRNG1*100B
  344. DTAV DSRNG2*100B
  345. DTAV DSRNG3*100B
  346. DTAV DSRNG4*100B
  347. DTAV DSRNG5*100B
  348. DTAV DSRNG6*100B
  349. DTAV DSRNG7*100B
  350. LOC *O
  351. TFCV SPACE 4,10
  352. ** TFCV - TABLE OF EQUIVALENCED PARAMETER VALUES FOR *FC*.
  353. *
  354. *T TFCV 60/VALUE
  355. *
  356. * VALUE = RIGHT JUSTIFIED DISPLAY CODE VALUE.
  357.  
  358.  
  359. TFCV BSS 0
  360. LOC 0
  361. DTAV 0
  362. DTAV NFRNG1*10B
  363. DTAV NFRNG2*10B
  364. DTAV NFRNG3*10B
  365. DTAV NFRNG4*10B
  366. DTAV NFRNG5*10B
  367. DTAV NFRNG6*10B
  368. DTAV NFRNG7*10B
  369. LOC *O
  370. TFSV SPACE 4,10
  371. ** TFSV - TABLE OF EQUIVALENCED PARAMETER VALUES FOR *FS*.
  372. *
  373. *T TFSV 60/VALUE
  374. *
  375. * VALUE = RIGHT JUSTIFIED DISPLAY CODE VALUE.
  376.  
  377.  
  378. TFSV BSS 0
  379. LOC 0
  380. DTAV 0
  381. DTAV FSRNG1*10B
  382. DTAV FSRNG2*10B
  383. DTAV FSRNG3*10B
  384. DTAV FSRNG4*10B
  385. DTAV FSRNG5*10B
  386. DTAV FSRNG6*10B
  387. DTAV FSRNG7*10B
  388. LOC *O
  389. THLP SPACE 4,10
  390. ** THLP - *HELP* PAGE TABLE.
  391.  
  392.  
  393. THLP PAGT HLPA PAGE 1
  394. PAGT HLPB PAGE 2
  395. PAGT HLPC PAGE 3
  396. PAGT *
  397. TKWP SPACE 4,10
  398. ** TKWP - TABLE OF KEYWORD POSITIONS.
  399. *
  400. *T 24/ ,18/ TAB,18/ ADDR
  401. *
  402. * TAB = FWA OF PARAMETER EQUIVALENCE TABLE FOR *DS*, *FC*,
  403. * *CS* AND *FS* PARAMETERS.
  404. * ADDR = ADDRESS OF PARAMETER VALUES POSITION IN TEMPLATE.
  405. *
  406. * NOTES ENTRIES IN THIS TABLE MUST BE IN THE SAME ORDER AS
  407. * THOSE IN THE *TKWV* TABLE.
  408.  
  409.  
  410. TKWP BSS 0
  411. VFD 24/0,18/0,18/INLP
  412. VFD 24/0,18/0,18/INUP
  413. VFD 24/0,18/0,18/OTLP
  414. VFD 24/0,18/0,18/OTUP
  415. VFD 24/0,18/0,18/EXLP
  416. VFD 24/0,18/0,18/EXUP
  417. VFD 24/0,18/0,18/EXIL
  418. VFD 24/0,18/0,18/EXIP
  419. VFD 24/0,18/0,18/EXTP
  420. VFD 24/0,18/0,18/INWF
  421. VFD 24/0,18/0,18/EXWF
  422. VFD 24/0,18/0,18/OTWF
  423. VFD 24/0,18/0,18/ASCT
  424. VFD 24/0,18/0,18/ASCM
  425. VFD 24/0,18/0,18/ASNJ
  426. VFD 24/0,18/0,18/ASCP
  427. VFD 24/0,18/0,18/ASFL
  428. VFD 24/0,18/0,18/ASAM
  429. VFD 24/0,18/0,18/ASEC
  430. VFD 24/0,18/0,18/ASEM
  431. VFD 24/0,18/0,18/ASPR
  432. VFD 24/0,18/0,18/ASSE
  433. VFD 24/0,18/0,18/ASRS
  434. VFD 24/0,18/0,18/ASUS
  435. CON 0 END OF PAGE 1 AND 2 PARAMETERS
  436. VFD 24/0,18/TDSV,18/ASDS
  437. VFD 24/0,18/TFCV,18/ASFC
  438. VFD 24/0,18/TCSV,18/ASCS
  439. VFD 24/0,18/TFSV,18/ASFS
  440. CON 0 END OF INDEXED PARAMETERS
  441. VFD 24/0,18/0,18/ASDT
  442. VFD 24/0,18/0,18/ASTD
  443. VFD 24/0,18/0,18/ASCJ
  444. TKWV SPACE 4,25
  445. ** TKWV - TABLE OF KEYWORD VALUES.
  446. *
  447. *T 24/ MN,6/ OF,1/ SP,5/ ,18/ HI,6/ LO
  448. *T, 48/ ,6/ LB,6/ SZ
  449. *
  450. * MN = DISPLAY CODE KEYWORD MNEMONIC.
  451. * OF = OFFSET INTO *JCB* FOR KEYWORD.
  452. * SP = SET IF SPECIAL PROCESSING REQUIRED FOR THIS KEYWORD.
  453. * HI = HIGHEST VALUE ALLOWED FOR THIS KEYWORD.
  454. * LO = LOWEST VALUE ALLOWED FOR THIS KEYWORD.
  455. * LB = LOW ORDER BIT OF KEYWORD IN *JCB*.
  456. * SZ = BIT SIZE OF KEYWORD IN *JCB*.
  457. *
  458. * NOTES 1. *HI* AND *LO* ARE NOT USED IF *SP* IS SPECIFIED.
  459. * 2. ENTRIES IN THIS TABLE MUST BE IN THE SAME ORDER
  460. * AS THOSE IN THE *TKWP* TABLE.
  461. * 3. ALL 4 CHARACTER KEYWORD MNEMONICS MUST OCCUR
  462. * TOGETHER BEFORE ANY OF THE 2 CHARACTER KEYWORD
  463. * MNEMONICS IN THIS TABLE.
  464. * 4. THE INDEXED KEYWORD ENTRIES *DS*, *FC*, *CS* AND
  465. * *FS* MUST REMAIN TOGETHER.
  466.  
  467.  
  468. TKWV BSS 0
  469. SETKW INLP,7777B,0,INQT,36,12
  470. SETKW INUP,7777B,0,INQT,24,12
  471. SETKW OTLP,7777B,0,OTQT,36,12
  472. SETKW OTUP,7777B,0,OTQT,24,12
  473. SETKW EXLP,7777B,0,EXQT,36,12
  474. SETKW EXUP,7777B,0,EXQT,24,12
  475. SETKW EXIL,7777B,0,EXQT,48,12
  476. SETKW EXIP,7777B,0,EXQT,0,12
  477. SETKW EXTP,7777B,0,MCMT,36,12
  478. SETKW INWF,,,INQT,12,12,SP
  479. SETKW EXWF,,,EXQT,12,12,SP
  480. SETKW OTWF,,,OTQT,12,12,SP
  481. LFCE BSS 0 END OF 4 CHARACTER KEYWORD ENTRIES
  482. SETKW CT,7777B,0,SVJT,36,12
  483. SETKW CM,7777B,0,SVJT,24,12
  484. SETKW NJ,7777B,0,SVJT,12,12
  485. SETKW CP,7777B,0,MCMT,48,12
  486. SETKW FL,MXFL,0,MCMT,24,12
  487. SETKW AM,77777B,0,MCMT,0,18
  488. SETKW EC,7777B,0,MECT,24,12
  489. SETKW EM,7777B,0,MECT,0,12
  490. SETKW PR,77B,2,CSJT,48,12
  491. SETKW SE,7777B,0,CSJT,24,12
  492. SETKW RS,7777B,1,CSJT,12,12
  493. SETKW US,7777B,1,CSJT,0,12
  494. SETKW DS,7,0,PFCT,57,3
  495. SETKW FC,7,0,PFCT,54,3
  496. SETKW CS,7,0,PFCT,51,3
  497. SETKW FS,7,0,PFCT,48,3
  498. LDTE SETKW DT,,,PFCT,0,12,SP
  499. SETKW TD,7777B,0,SVJT,0,12
  500. CON 0 END OF TABLE
  501. SETKW CJ,7777B,0,JCTT,48,12 SPECIAL ENTRY FOR *CJ*
  502. TSCT SPACE 4,10
  503. ** TSCT - SERVICE CLASS TABLE.
  504. *
  505. *T 12/ CLASS,48/ 0
  506. *
  507. * CLASS = TWO CHARACTER SERVICE CLASS MNEMONIC.
  508.  
  509.  
  510. TSCT BSS 0
  511. LOC 0
  512. LIST G
  513. .SCL HERE REMOTE BLOCK FROM *SCLASS* MACRO
  514. LIST *
  515. CON 0 END OF TABLE
  516. LOC *O
  517. SPACE 4,10
  518. ** ROLB - ROLLOUT PARAMETER BLOCK.
  519.  
  520.  
  521. ROLB VFD 30/0,18/LINE,12/0
  522. SPACE 4,10
  523. * *SETJOB* PARAMETER BLOCK.
  524.  
  525. SETB VFD 60/0
  526. VFD 48/0,12/2LDF
  527. SPACE 4,10
  528. * *SFM* PARAMETER BLOCKS.
  529.  
  530.  
  531. * READ SYSTEM SERVICE CLASS DATA.
  532.  
  533. SFMA VFD 12/RCIF,11/0,1/0,12/SBUFL,6/0,18/SBUF
  534. CON 0
  535.  
  536. * UPDATE SYSTEM SERVICE CLASS DATA.
  537.  
  538. SFMB VFD 12/RCIF,11/0,1/1,12/SBUFL,6/0,18/SBUF
  539. CON 0
  540. SPACE 4,10
  541. * SSJ= ENTRY POINT.
  542.  
  543.  
  544. SSJ= EQU SSJP
  545. SPACE 4,10
  546. * FET DEFINITION.
  547.  
  548. INPUT FILEC DBUF,DBUFL DIRECTIVE INPUT FET
  549.  
  550. OUTPUT FILEB OBUF,OBUFL OUTPUT FET
  551. SPACE 4,10
  552. * GLOBAL STORAGE DEFINITIONS.
  553.  
  554. CLDS CON SHLP CURRENT *L* DISPLAY SCREEN STATUS
  555. CSCL CON 0 SERVICE CLASS ORDINAL FOR DATA DISPLAYS
  556. EMOR CON 0 *L* DISPLAY MESSAGE ORDINAL
  557. LDBP CON LBUF *L* DISPLAY BUFFER POINTER
  558. SPACE 4,10
  559. * FLAG DEFINITIONS.
  560.  
  561. DFLG CON 0 DIRECTIVE INPUT FILE OPTION FLAG
  562. LFLG CON 0 LINE PRINTER OPTION FLAG
  563. TITLE MAIN PROGRAM.
  564. SDSPLAY SPACE 4,10
  565. ** SDSPLAY - MAIN PROGRAM.
  566. *
  567. * EXIT TO *PLP* IF PRINT OPTION SPECIFIED.
  568. * TO *PCL* IF *L* DISPLAY OPTION SPECIFIED.
  569. *
  570. * USES X - 1.
  571. * A - 1.
  572. *
  573. * CALLS PRS.
  574.  
  575.  
  576. SDSPLAY BSS 0 ENTRY
  577. RJ PRS PRESET ROUTINE
  578. SA1 DFLG
  579. NZ X1,PIN IF INPUT FILE DIRECTIVES SPECIFIED
  580. SA1 LFLG CHECK IF LINE PRINTER OPTION SPECIFIED
  581. NZ X1,PLP IF LINE PRINTER SPECIFIED
  582. EQ PCL PROCESS COMMAND LOOP
  583. TITLE PROCESS COMMAND LOOP.
  584. PCL SPACE 4,15
  585. ** PCL - PROCESS COMMAND LOOP.
  586. *
  587. * *PCL* IS THE PROCESSING LOOP FOR THE *L* DISPLAY OPTION.
  588. *
  589. * ENTRY (CSCL) = 0.
  590. *
  591. * EXIT VIA FUNCTION PROCESSOR *END* WHEN *END* DIRECTIVE
  592. * IS ENCOUNTERED.
  593. *
  594. * USES X - 2.
  595. * A - 2.
  596. *
  597. * CALLS BLD, CMP, EFP, ILD, OLD.
  598.  
  599.  
  600. PCL BSS 0 ENTRY
  601. PCL1 RJ BLD BUILD *L* DISPLAY
  602. RJ OLD OUTPUT *L* DISPLAY
  603. RJ ILD INPUT *L* DISPLAY COMMAND
  604. RJ CMP COMMAND PROCESSOR
  605. SA2 EMOR CHECK FOR ERROR
  606. NZ X2,PCL1 IF ERROR
  607. RJ EFP EXECUTE FUNCTION PROCESSOR
  608. EQ PCL1 LOOP
  609. PIN SPACE 4,20
  610. ** PIN - PROCESS INPUT FILE DIRECTIVES.
  611. *
  612. * *PIN* IS THE PROCESSOR FOR THE INPUT DIRECTIVES FILE.
  613. *
  614. * ENTRY (CSCL) = 0.
  615. *
  616. * EXIT TO *PLP* IF PRINT OPTION SPECIFIED OR IF ERRORS
  617. * ENCOUNTERED.
  618. * TO *END* IF END OF INPUT FILE ENCOUNTERED.
  619. *
  620. * USES X - 1, 2, 6.
  621. * A - 1, 2, 6.
  622. *
  623. * CALLS CMP, EFP, END.
  624. *
  625. * MACROS MESSAGE, READ, READC.
  626.  
  627.  
  628. PIN BSS 0 ENTRY
  629. READ INPUT INITIALIZE READ
  630. PIN1 READC INPUT,IBUF,LIML READ NEXT LINE
  631. NZ X1,PIN3 IF END OF INPUT
  632. RJ CMP COMMAND PROCESSOR
  633. SA2 EMOR CHECK FOR ERROR
  634. NZ X2,PIN2 IF ERROR
  635. RJ EFP EXECUTE FUNCTION PROCESSOR
  636. SA2 EMOR CHECK FOR ERROR
  637. ZR X2,PIN1 IF NO ERROR
  638. PIN2 BX6 X2
  639. SA6 PINA SET ERROR ENCOUNTERED
  640. MESSAGE TMLD+X2 POST ERROR
  641. MESSAGE IBUF POST ORIGINAL LINE
  642. EQ PIN1 GET NEXT DIRECTIVE
  643.  
  644. PIN3 SA1 PINA CHECK FOR ERRORS
  645. SA2 LFLG CHECK FOR OUTPUT DESIRED
  646. MX6 0
  647. BX1 X1+X2
  648. SA6 CSCL
  649. NZ X1,PLP IF LINE PRINTER OUTPUT NEEDED
  650. RJ END
  651. * ENDRUN
  652.  
  653.  
  654. PINA BSSZ 1 .NZ. IF ERROR ENCOUNTERED
  655. PLP SPACE 4,15
  656. ** PLP - PROCESS LINE PRINTER.
  657. *
  658. * *PLP* FORMATS AND OUTPUTS ALL DATA DISPLAYS TO A LOCAL FILE
  659. * FOR PRINTING ON A LINE PRINTER.
  660. *
  661. * ENTRY (CSCL) = 0.
  662. *
  663. * EXIT DATA FORMATTED ON LOCAL FILE.
  664. *
  665. * USES X - 1, 2, 3, 6.
  666. * A - 1, 6.
  667. *
  668. * CALLS FLD, GSD, SDT.
  669. *
  670. * MACROS ENDRUN, MESSAGE, SETFS, SETJOB, WRITER.
  671.  
  672.  
  673. PLP BSS 0 ENTRY
  674.  
  675. * INITIALIZE DATA BUFFERS.
  676.  
  677. RJ GSD GET SYSTEM SERVICE CLASS DATA
  678.  
  679. * LOOP THROUGH ALL SERVICE CLASSES.
  680.  
  681. PLP1 RJ SDT SET DATA IN TEMPLATE
  682. SX1 LPHR FWA OF PAGE TO DISPLAY
  683. SX2 OUTPUT SET FET ADDRESS
  684. SX3 B1+ INDICATE ZERO BYTE TERMINATED LINES
  685. SX6 X1+LPHRL+SCA1L-1 LWA OF PAGE TO DISPLAY
  686. RJ FLD FORMAT *L* DISPLAY BUFFER
  687. WRITER X2 FLUSH BUFFER
  688. SX1 SCA2 PAGE 2 OF DATA
  689. SX3 1
  690. SX6 SCA2+SCA2L-1
  691. RJ FLD FORMAT *L* DISPLAY BUFFER
  692. WRITER X2
  693. SX1 SCA3 PAGE 3 OF DATA
  694. SX3 1
  695. SX6 SCA3+SCA3L-1
  696. RJ FLD FORMAT *L* DISPLAY BUFFER
  697. WRITER X2
  698. SA1 CSCL GET SERVICE CLASS ORDINAL
  699. SX6 X1+B1 INCREMENT TO NEXT SERVICE CLASS
  700. SA6 A1
  701. SX2 X6-MXJC+1
  702. NZ X2,PLP1 IF MORE SERVICE CLASSES TO PROCESS
  703.  
  704. * SET JOB PARAMETERS.
  705.  
  706. PLP2 SETFS OUTPUT,0 SAVE OUTPUT AS LOCAL FILE
  707. SETJOB SETB CHANGE JOB DISPOSITION TO *DF*
  708. MESSAGE SEND,0,R * SDSPLAY UTILITY COMPLETE.*
  709. ENDRUN
  710. TITLE FUNCTION PROCESSORS.
  711. CLS SPACE 4,15
  712. ** CLS - PROCESS *CLASS* COMMAND.
  713. *
  714. * ENTRY (X1) = SEPARATOR EXIT CONDITION FROM *POP*.
  715. * (B6) = EXIT CONDITION FROM *POP*.
  716. *
  717. * EXIT (CSCL) = UPDATED SERVICE CLASS ORDINAL, IF NO ERROR.
  718. * (CLDS) = CURRENT *L* DISPLAY SCREEN STATUS.
  719. * THE DATA FOR THE SPECIFIED SERVICE CLASS IS SET INTO
  720. * THE TEMPLATES.
  721. *
  722. * USES X - 1, 6.
  723. * A - 1, 6.
  724. *
  725. * CALLS POP, RPN, SDT.
  726.  
  727.  
  728. CLS3 SX6 EEXP *EXCESS PARAMETERS.*
  729. SA6 EMOR SET MESSAGE ORDINAL
  730. EQ CLSX RETURN
  731.  
  732. CLS4 SX6 EUKC *UNKNOWN SERVICE CLASS.*
  733. SA6 EMOR
  734. EQ CLSX RETURN
  735.  
  736. CLS5 SX6 EURD *UNRECOGNIZABLE DIRECTIVE.*
  737. SA6 EMOR
  738.  
  739.  
  740. CLS SUBR ENTRY/EXIT
  741. ZR B6,CLS5 IF NO MORE PARAMETERS ON COMMAND
  742. SX1 X1-1R=
  743. NZ X1,CLS5 IF INCORRECT SEPARATOR
  744. RJ POP GET SERVICE CLASS PARAMETER
  745. PL X2,CLS3 IF NO TERMINATOR, ECXESS PARAMETERS.
  746.  
  747. * CHECK SERVICE CLASS TABLE FOR A MATCH.
  748.  
  749. SA1 TSCT FWA SERVICE CLASS TABLE
  750. CLS1 ZR X1,CLS4 IF UNKNOWN SERVICE CLASS
  751. BX1 X6-X1
  752. ZR X1,CLS2 IF A VALID SERVICE CLASS IS FOUND
  753. SA1 A1+1 GET NEXT ENTRY IN SERVICE CLASS TABLE
  754. EQ CLS1 CHECK NEXT ENTRY
  755.  
  756. * SET SERVICE CLASS TO BE DISPLAYED.
  757.  
  758. CLS2 SX6 A1-TSCT SET SERVICE CLASS ORDINAL
  759. SA6 CSCL
  760. SX6 SDTA SET CURRENT SCREEN STATUS TO DATA
  761. SA6 CLDS
  762. RJ SDT SET DATA IN TEMPLATE
  763. RJ RPN RESET PAGE NUMBER
  764. EQ CLSX RETURN
  765. END SPACE 4,10
  766. ** END - END *L* DISPLAY UTILITY.
  767. *
  768. * *END* TERMINATES THE UTILITY WITH A DAYFILE MESSAGE.
  769. *
  770. * USES X - 6.
  771. * A - 6.
  772. *
  773. * CALLS BLD, OLD.
  774. *
  775. * MACROS DSDINP, ENDRUN, MESSAGE.
  776.  
  777.  
  778. END SUBR ENTRY/EXIT
  779. SX6 ENDM *UTILITY COMPLETE.*
  780. SA6 EMOR SET MESSAGE ORDINAL
  781. SA1 DFLG
  782. NZ X1,END1 IF INPUT DIRECTIVES
  783. RJ BLD
  784. RJ OLD OUTPUT *L* DISPLAY
  785. DSDINP IPW,C CLEAR *L* DISPLAY INPUT BUFFER
  786. END1 MESSAGE SEND,0,R * SDSPLAY UTILITY COMPLETE.*
  787. ENDRUN
  788. HLP SPACE 4,10
  789. ** HLP - PROCESS *HELP* COMMAND.
  790. *
  791. * EXIT (CLDS) = *HELP* DISPLAY SCREEN STATUS.
  792. * *HELP* DISPLAY RESET TO PAGE 1.
  793. *
  794. * USES X - 6.
  795. * A - 6.
  796. *
  797. * CALLS RPN.
  798.  
  799.  
  800. HLP SUBR ENTRY/EXIT
  801. SX6 SHLP SET *HELP* DISPLAY SCREEN STATUS
  802. SA6 CLDS
  803. RJ RPN RESET PAGE NUMBER
  804. EQ HLPX RETURN
  805. PGO SPACE 4,20
  806. ** PGO - PROCESS *GO* COMMAND.
  807. *
  808. * *PGO* PERFORMS CERTAIN DATA VALIDATIONS, THEN IF THERE ARE
  809. * NO ERRORS, SETS ALL KEYWORD VALUES ENTERED SINCE THE LAST
  810. * *GO* OR *RESET* INTO CMR.
  811. *
  812. * ENTRY (SBUF) = UPDATED *JCB* DATA.
  813. *
  814. * EXIT *JCB* IN CMR UPDATED, IF NO ERROR DETECTED.
  815. *
  816. * USES X - 0, 1, 2, 5, 6, 7.
  817. * A - 1, 2, 5, 7.
  818. * B - 2, 5.
  819. *
  820. * CALLS CVB, SSM.
  821. *
  822. * MACROS SYSTEM.
  823.  
  824.  
  825. * SET *LOWER BOUND IS .GE. UPPER BOUND FOR CLASS XX.* ERROR.
  826.  
  827. PGO3 SX0 ELGU
  828. EQ PGO5 PROCESS ERROR MESSAGE
  829.  
  830. * SET *YYYY NOT WITHIN ALLOWABLE RANGE FOR CLASS XX.* ERROR.
  831.  
  832. PGO4 SA1 TMLD+EVOR INSERT VALUE IN MESSAGE
  833. MX0 -36
  834. BX1 -X0*X1
  835. SX0 EVOR DEFINE MESSAGE INDEX
  836. BX7 X5+X1
  837. SA7 A1
  838. PGO5 RJ SSM SET SERVICE CLASS IN MESSAGE
  839. EQ PGOX RETURN
  840.  
  841. * SET /*RS* IS GREATER THAN *US* FOR CLASS XX./ ERROR.
  842.  
  843. PGO6 SX0 ERGU
  844. EQ PGO5 PROCESS ERROR MESSAGE
  845.  
  846. * SET VALIDATED VALUES INTO CMR.
  847.  
  848. PGO7 SYSTEM SFM,R,SFMB,RSDF*100B SET SYSTEM VALUES IN CMR
  849.  
  850. PGO SUBR ENTRY/EXIT
  851.  
  852. * ENSURE ALL *LP* VALUES ARE LESS THAN ALL *UP* VALUES.
  853.  
  854. MX0 -12
  855. SB2 SBUF SET FWA SYSTEM BUFFER
  856. SB5 B0 INITIALIZE *JCB* OFFSET
  857. PGO1 SB5 B5+1 SET NEXT SERVICE CLASS ORDINAL
  858. SX2 B5-MXJC
  859. ZR X2,PGO7 IF END OF SERVICE CLASSES
  860. SA2 B2+INQT CHECK INPUT QUEUE
  861. RJ CVB CALCULATE VALUE BOUNDARIES
  862. NG X1,PGO3 IF BOUNDS ERROR
  863. SA2 B2+OTQT CHECK OUTPUT QUEUE
  864. RJ CVB CALCULATE VALUE BOUNDARIES
  865. NG X1,PGO3 IF BOUNDS ERROR
  866. SA2 B2+EXQT CHECK EXECUTION QUEUE
  867. RJ CVB CALCULATE VALUE BOUNDARIES
  868. NG X1,PGO3 IF BOUNDS ERROR
  869. SA5 PGOA SET *EXIL* FOR MESSAGE
  870. LX2 -12 CHECK *EXIL* VALUE
  871. BX1 -X0*X2
  872. IX6 X4-X1
  873. LX2 -12 CHECK *EXIP* VALUE
  874. NG X6,PGO4 IF *EXIL* IS GREATER THAN *EXUP*
  875. IX6 X1-X3
  876. BX1 -X0*X2
  877. NG X6,PGO4 IF *EXIL* IS LESS THAN *EXLP*
  878. SA5 A5+B1 SET *EXIP* FOR MESSAGE
  879. IX6 X4-X1
  880. NG X6,PGO4 IF *EXIP* IS GREATER THAN *EXUP*
  881. IX6 X1-X3
  882. NG X6,PGO4 IF *EXIP* IS LESS THAN *EXUP*
  883. SX1 B5-TSSC
  884. NZ X1,PGO2 IF NOT TIME-SHARING SERVICE CLASS
  885. SA2 B2+MCMT CHECK *EXTP* VALUE
  886. LX2 24
  887. BX1 -X0*X2
  888. SA5 A5+B1 SET *EXTP* FOR MESSAGE
  889. IX6 X4-X1
  890. NG X6,PGO4 IF *EXTP* IS GREATER THAN *EXLP*
  891. IX6 X1-X3
  892. NG X6,PGO4 IF *EXTP* IS LESS THAN *EXLP*
  893. PGO2 SA2 B2+CSJT GET *US* VALUE
  894. BX1 -X0*X2
  895. LX2 -12
  896. BX3 -X0*X2 GET *RS* VALUE
  897. IX6 X1-X3
  898. NG X6,PGO6 IF *RS* .GT. *US*
  899. SB2 B2+JCBE NEXT SERVICE CLASS ORDINAL
  900. EQ PGO1 CHECK BOUNDS FOR NEXT SERVICE CLASS
  901.  
  902.  
  903. PGOA DATA 0LEXIL INSERT INTO MESSAGE IF ERROR
  904. DATA 0LEXIP
  905. DATA 0LEXTP
  906. PLD SPACE 4,15
  907. ** PLD - PAGE *L* DISPLAY.
  908. *
  909. * ENTRY (X1) = PAGING CHARACTER RIGHT JUSTIFIED.
  910. * (CLDS) = CURRENT *L* DISPLAY SCREEN STATUS.
  911. *
  912. * EXIT APPROPRIATE PAGE TABLE UPDATED.
  913. *
  914. * USES X - 1, 2, 3, 4.
  915. * A - 3.
  916. *
  917. * CALLS PGD.
  918.  
  919.  
  920. PLD SUBR ENTRY/EXIT
  921. SX2 THLP ASSUME *HELP* PAGE TABLE
  922. SA3 CLDS
  923. SX3 X3-SHLP
  924. ZR X3,PLD1 IF *HELP* STATUS
  925. SX2 TASC SET DATA PAGE TABLE
  926. PLD1 LX1 54 LEFT JUSTIFY PAGING CHARACTER
  927. BX3 X1
  928. SX1 LDBP *L* DISPLAY BUFFER POINTER FOR *PGD*
  929. SX4 B1+ INDICATE *L* DISPLAY
  930. RJ PGD PAGE *L* DISPLAY
  931. EQ PLDX RETURN
  932.  
  933.  
  934. PGD HERE REMOTE BLOCK FROM *COMCDCP*
  935. RST SPACE 4,10
  936. ** RST - *RESET* DISPLAY TO SYSTEM VALUES.
  937. *
  938. * ENTRY (CSCL) = CURRENT SERVICE CLASS ORDINAL.
  939. *
  940. * EXIT TEMPLATE UPDATED TO CURRENT SYSTEM DATA.
  941. *
  942. * CALLS GSD, SDT.
  943.  
  944.  
  945. RST SUBR ENTRY/EXIT
  946. RJ GSD GET SYSTEM DATA
  947. RJ SDT SET DATA IN TEMPLATE
  948. EQ RSTX RETURN
  949. TITLE SUBROUTINES.
  950. AFT SPACE 4,20
  951. ** AFT - ADD FLOATING TERMINATOR.
  952. *
  953. * ENTRY (X1) = NAME TO HAVE FLOATING TERMINATOR APPENDED.
  954. * (A2) = FWA OF DESTINATION FOR RESULT, IF NAME IS 10
  955. * CHARACTERS IN LENGTH.
  956. *
  957. * EXIT (X6) = NAME WITH FLOATING TERMINATOR APPENDED.
  958. * (A2) = UPDATED IF NAME IS 10 CHARACTERS IN LENGTH.
  959. *
  960. * USES X - 0, 1, 2, 3, 6, 7.
  961. * A - 1, 2, 3, 6, 7.
  962. * B - 2.
  963. *
  964. * CALLS SFN.
  965. *
  966. * NOTES IF THE NAME IS 10 CHARACTERS IN LENGTH, THE FLOATING
  967. * TERMINATOR WILL BE PLACED IN THE FIRST CHARACTER OF
  968. * THE NEXT WORD.
  969.  
  970.  
  971. AFT SUBR ENTRY/EXIT
  972. RJ SFN SPACE FILL NAME
  973. SA1 AFTA FLOATING TERMINATOR
  974. SB2 6
  975. AX0 X7,B2 PRODUCE MASK FOR FLOATING TERMINATOR
  976. BX0 X7-X0
  977. SA3 TMLD INSURE LAST WORD CONTAINS BLANKS
  978. BX7 X3
  979. SA7 A2+B1
  980. NZ X0,AFT1 IF TERMINATOR GOES IN THIS WORD
  981. SA6 A2 SAVE 10 CHARACTER KEYWORD
  982. SA2 A2+B1 SET NEXT WORD FOR FLOATING TERMINATOR
  983. BX6 X2
  984. MX0 6
  985. AFT1 BX6 -X0*X6
  986. BX1 X1*X0
  987. BX6 X6+X1 ADD FLOATING TERMINATOR
  988. EQ AFTX RETURN
  989.  
  990.  
  991. AFTA DATA 10H.......... FLOATING TERMINATOR
  992. ATC SPACE 4,15
  993. ** ATC - APPEND TERMINATOR CHARACTER.
  994. *
  995. * *ATC* ENSURES THAT THE *L* DISPLAY COMMAND IMAGE HAS A
  996. * TERMINATOR. THIS ENSURES THAT *POP* WILL NOT RETURN AN
  997. * ERROR CODE DUE TO THE LACK OF A VALID TERMINATOR.
  998. *
  999. * ENTRY (B6) = FWA BUFFER TO CHECK FOR TERMINATOR.
  1000. * (USBC) = LWA OF BUFFER TO CHECK FOR TERMINATOR.
  1001. *
  1002. * EXIT *.* APPENDED TO END OF STRING BUFFER.
  1003. *
  1004. * USES X - 2, 7.
  1005. * A - 2, 7.
  1006. * B - 2, 3.
  1007.  
  1008.  
  1009. ATC SUBR ENTRY/EXIT
  1010. SB2 B6 SET FWA TO CHECK
  1011. SA2 USBC SET LWA TO CHECK
  1012. SB3 X2+B1
  1013. ATC1 SA2 B2+
  1014. ZR X2,ATC2 IF END OF INPUT
  1015. EQ B2,B3,ATC2 IF BUFFER EXHAUSTED
  1016. SB2 B2+1
  1017. EQ ATC1 CHECK NEXT CHARACTER
  1018.  
  1019. * APPEND TERMINATOR.
  1020.  
  1021. ATC2 SA2 A2-1 CHECK IF THERE IS ALREADY A TERMINATOR
  1022. SX7 X2-1R.
  1023. ZR X7,ATCX IF TERMINATOR ALREADY PRESENT
  1024. SX7 X2-1R)
  1025. ZR X7,ATCX IF TERMINATOR ALREADY PRESENT
  1026. SX7 1R. PUT TERMINATOR INTO BUFFER
  1027. SA7 A2+1
  1028. SA2 USBC INCREMENT LWA CHARACTER IN STRING BUFFER
  1029. SX7 X2+B1
  1030. SA7 A2
  1031. EQ ATCX RETURN
  1032. BLD SPACE 4,20
  1033. ** BLD - BUILD *L* DISPLAY.
  1034. *
  1035. * *BLD* FORMATS THE CURRENT SCREEN FOR OUTPUT TO THE CONSOLE
  1036. * *L* DISPLAY.
  1037. *
  1038. * ENTRY (CLDS) = CURRENT *L* DISPLAY SCREEN STATUS.
  1039. * (EMOR) = *L* DISPLAY MESSAGE INDEX.
  1040. *
  1041. * EXIT (LBUF) = FORMATTED *L* DISPLAY BUFFER.
  1042. *
  1043. * USES X - 1, 2, 3, 5, 6.
  1044. * A - 1, 2, 3, 6.
  1045. * B - 2, 3, 4, 6.
  1046. *
  1047. * CALLS COI, FLB.
  1048. *
  1049. * MACROS MOVE.
  1050.  
  1051.  
  1052. BLD SUBR ENTRY/EXIT
  1053. SA2 CLDS GET CURRENT SCREEN STATUS
  1054. RJ COI CONVERT OPERATOR INPUT
  1055. SA1 THLP FWA OF *HELP* PAGE TABLE
  1056. SA3 LFWA GET *L-DISPLAY* CONTROL WORD
  1057. SX6 LHLP *SDSPLAY - HELP.*
  1058. MX5 42
  1059. LX5 12
  1060. SX2 X2-SHLP
  1061. ZR X2,BLD1 IF *HELP* STATUS
  1062. SA1 TASC FWA OF DATA PAGE TABLE
  1063. SX6 LCLS *SDSPLAY - CLASS.*
  1064. BLD1 LX6 12 SET FWA OF DISPLAY ID STRING
  1065. BX5 X5*X3
  1066. BX6 X6+X5
  1067. LX1 30
  1068. SA6 A3
  1069. SB2 X1
  1070. SA1 A1+B2 GET FWA OF TEMPLATE TO DISPLAY
  1071. SX5 X1 SAVE FWA OF TEMPLATE TO DISPLAY
  1072. SA2 EMOR MESSAGE ORDINAL
  1073. MOVE LDML,TMLD+X2,X5+LDMO SET MESSAGE INTO TEMPLATE
  1074. MOVE LIML,IBUF,X5+LDMO+LDML SET INPUT LINE INTO TEMPLATE
  1075. SX1 X5 FWA OF BUFFER TO FORMAT
  1076. SX2 B0 SET FORMAT DESTINATION FOR *L* DISPLAY
  1077. SX6 X1+DSPL-1 LWA OF BUFFER TO FORMAT
  1078. SX3 B1+ INDICATE ZERO BYTE TERMINATED LINES
  1079. SB2 LBUF FWA TO PLACE FORMATTED DATA
  1080. SB6 LBUF+LBUFL LWA+1 OF BUFFER TO RECEIVE FORMATTED DATA
  1081. SB3 XCDT SET X-COORDINATE FOR *L* DISPLAY
  1082. SB4 YCDT SET Y-COORDINATE FOR *L* DISPLAY
  1083. RJ FLB FORMAT DATA TO BE OUTPUT
  1084. EQ BLDX RETURN
  1085. CJA SPACE 4,10
  1086. ** CJA - CALCULATE *JCB* OFFSET.
  1087. *
  1088. * ENTRY (CSCL) = CURRENT SERVICE CLASS ORDINAL.
  1089. *
  1090. * EXIT (X5) = FWA OF *JCB* IN *SBUF* FOR CURRENT
  1091. * SERVICE CLASS.
  1092. *
  1093. * USES X - 1, 2, 5.
  1094. * A - 1.
  1095.  
  1096.  
  1097. CJA SUBR ENTRY/EXIT
  1098. SA1 CSCL GET CURRENT SERVICE CLASS ORDINAL
  1099. SX2 JCBE
  1100. IX1 X1*X2 OFFSET INTO *JCB* BUFFER
  1101. SX5 X1+SBUF
  1102. EQ CJAX RETURN
  1103. CMP SPACE 4,15
  1104. ** CMP - COMMAND PROCESSOR.
  1105. *
  1106. * ENTRY (IBUF) = *L* DISPLAY COMMAND.
  1107. *
  1108. * EXIT (X1) = SEPARATOR FROM *POP*.
  1109. * = LEFT JUSTIFIED PAGING CHARACTER, IF PAGING
  1110. * COMMAND.
  1111. * (B5) = FUNCTION PROCESSOR ADDRESS, IF NO ERROR.
  1112. * (EMOR) = *L* DISPLAY MESSAGE ORDINAL.
  1113. *
  1114. * USES X - 0, 2, 3, 6.
  1115. * A - 2, 6.
  1116. * B - 2, 5.
  1117. *
  1118. * CALLS ATC, POP, USB.
  1119.  
  1120.  
  1121. CMP5 SX6 EURD *UNRECOGNIZABLE DIRECTIVE.*
  1122. SA6 EMOR SET MESSAGE ORDINAL
  1123. EQ CMPX RETURN
  1124.  
  1125. CMP6 SX6 EEXP *EXCESS PARAMETERS.*
  1126. SA6 EMOR
  1127.  
  1128. CMP SUBR ENTRY/EXIT
  1129. SX6 B0+ SET NO ERROR
  1130. SA6 EMOR SET MESSAGE ORDINAL
  1131.  
  1132. * CHECK FOR PAGING COMMAND.
  1133.  
  1134. SB2 IBUF FWA COMMAND BUFFER
  1135. RJ USB UNPACK STRING BUFFER
  1136. RJ ATC APPEND TERMINATOR CHARACTER
  1137. RJ POP PICK OUT PARAMETER
  1138. NZ X6,CMP1 IF NOT PAGING COMMAND
  1139. SB5 PLD PAGE *L* DISPLAY
  1140. SX2 X1-1R+ CHECK FOR *+*
  1141. SX3 X1-1R- CHECK FOR *-*
  1142. ZR X2,CMPX IF PAGING CHARACTER
  1143. ZR X3,CMPX IF PAGING CHARACTER
  1144.  
  1145. * CHECK REMAINING COMMANDS.
  1146.  
  1147. CMP1 SA2 TCMD FWA COMMAND TABLE
  1148. MX0 42 COMMAND MASK
  1149. CMP2 ZR X2,CMP4 IF END OF TABLE
  1150. BX3 X0*X2 GET COMMAND FROM TABLE
  1151. BX3 X3-X6
  1152. ZR X3,CMP3 IF A MATCH
  1153. SA2 A2+1
  1154. EQ CMP2 CHECK NEXT ENTRY IN COMMAND TABLE
  1155.  
  1156. * COMMAND FOUND.
  1157.  
  1158. CMP3 SB5 X2+ SET PROCESSOR ADDRESS
  1159. SB2 B5-CLS
  1160. ZR B2,CMPX IF THE *CLASS* COMMAND
  1161. ZR B6,CMPX IF NO EXCESS PARAMETERS
  1162. EQ CMP6 PROCESS *EXCESS PARAMETERS*
  1163.  
  1164. * CHECK FOR KEYWORD=VALUE COMMAND.
  1165.  
  1166. CMP4 SA2 CLDS CHECK CURRENT DISPLAY STATUS
  1167. SX2 X2-SHLP
  1168. ZR X2,CMP5 IF *HELP* STATUS
  1169.  
  1170. * PROCESS KEYWORD=VALUE COMMAND.
  1171.  
  1172. SB5 PKC PROCESS KEYWORD COMMAND
  1173. EQ CMPX RETURN
  1174. TCMD SPACE 4,10
  1175. ** TCMD - TABLE OF COMMANDS.
  1176. *
  1177. *T 42/ COMMAND,18/ ADDR
  1178. *
  1179. * COMMAND = DISPLAY CODE COMMAND VALUE.
  1180. * ADDR = FUNCTION PROCESSOR FWA FOR COMMAND.
  1181.  
  1182.  
  1183. TCMD BSS 0
  1184. * VFD 42/0L+,18/PLD
  1185. * VFD 42/0L-,18/PLD
  1186. VFD 42/0LCLASS,18/CLS
  1187. VFD 42/0LEND,18/END
  1188. VFD 42/0LGO,18/PGO
  1189. VFD 42/0LHELP,18/HLP
  1190. VFD 42/0LRESET,18/RST
  1191. CON 0 END OF TABLE
  1192. COI SPACE 4,20
  1193. ** COI - CONVERT OPERATOR INPUT.
  1194. *
  1195. * *COI* CONVERTS THE OPERATOR *L* DISPLAY INPUT BY CHANGING
  1196. * ALL ZERO BYTES TO BLANKS. THE LAST WORD OF THE INPUT LINE
  1197. * IS NOT CONVERTED TO INSURE THAT A ZERO BYTER TERMINATOR
  1198. * EXISTS.
  1199. *
  1200. * ENTRY IBUF = FWA OF INPUT BUFFER.
  1201. *
  1202. * EXIT (IBUF) = INPUT BUFFER, BLANK FILLED, ZERO BYTE
  1203. * TERMINATED.
  1204. *
  1205. * USES X - 1.
  1206. * A - 1, 6.
  1207. * B - 2.
  1208. *
  1209. * CALLS ZTB.
  1210.  
  1211.  
  1212. COI SUBR ENTRY/EXIT
  1213. SB2 LCOMU-1 OPERATOR INPUT LINE LENGTH-1
  1214. SA1 IBUF-1 FIRST WORD-1 OF OPERATOR INPUT
  1215. COI1 ZR B2,COIX IF ALL WORDS-1 CONVERTED
  1216. SA1 A1+1
  1217. RJ ZTB CONVERT ZERO BYTES TO BLANKS
  1218. SA6 A1 REPLACE IN *IBUF*
  1219. SB2 B2-B1 DECREMENT NUMBER OF WORDS TO CONVERT
  1220. EQ COI1 CONVERT NEXT WORD
  1221. CVB SPACE 4,20
  1222. ** CVB - CALCULATE VALUE BOUNDARIES.
  1223. *
  1224. * *CVB* CALCULATES IF THE LOWER BOUNDARY IS LESS THAN
  1225. * OR EQUAL TO THE UPPER BOUNDARY FOR THE QUEUE PRIORITY
  1226. * PARAMETERS.
  1227. *
  1228. * ENTRY (X2) = *JCB* WORD, *INQT*, *EXQT* OR *OTQT*.
  1229. * (X0) = MASK FOR PRIORITY FIELDS.
  1230. *
  1231. * EXIT (X1) = NEGATIVE, IF BOUNDS ERROR.
  1232. * = POSITIVE, IF NO BOUNDS ERROR.
  1233. * (X2) = SHIFTED RIGHT 24 BITS.
  1234. * (X3) = LOWER BOUND VALUE.
  1235. * (X4) = UPPER BOUND VALUE.
  1236. *
  1237. * USES X - 1, 2, 3, 4.
  1238.  
  1239.  
  1240. CVB SUBR ENTRY/EXIT
  1241. LX2 -24 GET UPPER BOUND
  1242. BX4 -X0*X2
  1243. LX2 -12 GET LOWER BOUND
  1244. BX3 -X0*X2
  1245. IX1 X4-X3
  1246. SX1 X1-1
  1247. EQ CVBX RETURN
  1248. CVK SPACE 4,10
  1249. ** CVK - CHECK FOR VALID KEYWORD.
  1250. *
  1251. * ENTRY (X6) = KEYWORD TO CHECK.
  1252. *
  1253. * EXIT (X3) = 0, IF VALID KEYWORD FOUND.
  1254. * = NON-ZERO, IF VALID KEYWORD NOT FOUND.
  1255. *
  1256. * USES X - 0, 3, 5.
  1257. * A - 5.
  1258.  
  1259.  
  1260. CVK SUBR ENTRY/EXIT
  1261. SA5 TKWV FWA OF KEYWORD TABLE
  1262. MX0 24
  1263. CVK1 ZR X5,CVKX IF END OF TABLE
  1264. BX3 X0*X5 GET KEYWORD FROM TABLE
  1265. BX3 X3-X6
  1266. ZR X3,CVKX IF A MATCH
  1267. SA5 A5+2
  1268. EQ CVK1 CHECK NEXT ENTRY IN KEYWORD TABLE
  1269. EFP SPACE 4,15
  1270. ** EFP - EXECUTE FUNCTION PROCESSOR.
  1271. *
  1272. * *EFP* JUMPS TO THE CORRECT FUNCTION PROCESSOR, BASED UPON
  1273. * THE COMMAND ENTERED VIA THE *L* DISPLAY. THE FUNCTION
  1274. * PROCESSING ROUTINE IS SET UP SO THAT IT RETURNS TO THE
  1275. * ADDRESS *EFP* WOULD HAVE RETURNED TO.
  1276. *
  1277. * ENTRY (B5) = ADDRESS OF FUNCTION PROCESSOR.
  1278. *
  1279. * EXIT TO FUNCTION PROCESSOR WITH RETURN ADDRESS SET.
  1280. *
  1281. * USES X - 2, 7.
  1282. * A - 2, 7.
  1283.  
  1284.  
  1285. EFP SUBR ENTRY/EXIT
  1286. SA2 EFPX SET RETURN ADDRESS IN PROCESSOR
  1287. BX7 X2
  1288. SA7 B5
  1289. JP B5+1 JUMP TO PROCESSOR
  1290. EPA SPACE 4,15
  1291. ** EPA - ENTER PARAMETER VALUES IN TEMPLATE.
  1292. *
  1293. * *EPA* SETS ALL OF THE PARAMETER VALUES INTO PAGES 1 AND 2
  1294. * OF THE TEMPLATES EXCEPT FOR THE CURRENT JOB COUNT.
  1295. *
  1296. * ENTRY (X5) = OFFSET INTO *SBUF* FOR *JCB* FOR CURRENT
  1297. * SERVICE CLASS.
  1298. *
  1299. * USES X - 0, 1, 2.
  1300. * A - 1, 2.
  1301. * B - 2, 3.
  1302. *
  1303. * CALLS COD, GSE, SVT.
  1304.  
  1305.  
  1306. EPA SUBR ENTRY/EXIT
  1307. SA1 TKWV FWA OF TABLE OF KEYWORD VALUES
  1308. SA2 TKWP FWA OF TABLE OF TEMPLATE ADDRESSES
  1309. EPA1 ZR X2,EPAX IF ALL ENTRIES PROCESSED
  1310. RJ GSE GET SYSTEM ENTRY FOR KEYWORD
  1311. ZR B7,EPA2 IF NOT SPECIAL PROCESSING
  1312. SB2 X1+ USER POWER OF 2 AS SHIFT COUNT
  1313. SX1 B1+
  1314. LX1 B2 SET BINARY POWER OF 2 FOR CONVERSION
  1315. EPA2 RJ COD CONVERT ENTRY TO DISPLAY CODE
  1316. MX0 -18 SET MASKS FOR PAGE 1 PARAMETERS
  1317. MX1 12
  1318. SB2 48 SET SHIFT COUNT FOR PAGE 1 PARAMETERS
  1319. SB3 A1-LFCE
  1320. NG B3,EPA3 IF PAGE 1 PARAMETER
  1321. MX0 -24 SET MASKS FOR PAGE 2 PARAMETERS
  1322. MX1 6
  1323. SB2 54 SET SHIFT COUNT FOR PAGE 2 PARAMETERS
  1324. EPA3 RJ SVT SET VALUE IN TEMPLATE
  1325. EQ EPA1 PROCESS NEXT ENTRY
  1326. EPB SPACE 4,15
  1327. ** EPB - ENTER REMAINING VALUES IN TEMPLATES.
  1328. *
  1329. * *EPB* SETS THE VALUES INTO PAGE 3 OF THE TEMPLATES AND ALSO
  1330. * SETS THE CURRENT JOB COUNT INTO PAGE 2.
  1331. *
  1332. * ENTRY (A1) = ADDRESS OF *TKWV* ENTRY FOR NEXT DATA ITEM.
  1333. * (A2) = ADDRESS OF *TKWP* ENTRY FOR NEXT DATA ITEM-1.
  1334. * (X1) = *TKWV* ENTRY FOR NEXT DATA ITEM.
  1335. * (X5) = FWA OF *SBUF* ENTRY FOR SERVICE CLASS.
  1336. *
  1337. * USES X - ALL.
  1338. * A - 1, 2, 3, 4, 5, 6, 7.
  1339. * B - 2, 6, 7.
  1340. *
  1341. * CALLS COD, GSE.
  1342.  
  1343.  
  1344. EPB SUBR ENTRY/EXIT
  1345. SA2 A2+1 GET NEXT ENTRY IN *TKWP*
  1346.  
  1347. * PROCESS INDEXED PARAMETER VALUES.
  1348.  
  1349. EPB1 ZR X2,EPB2 IF NO MORE INDEXED PARAMETERS
  1350. RJ GSE GET SYSTEM ENTRY FOR KEYWORD
  1351. SB7 X1+ SAVE INDEX VALUE
  1352. RJ COD CONVERT ENTRY TO DISPLAY CODE
  1353. MX0 6
  1354. LX0 30
  1355. LX6 24
  1356. SA2 A2 GET TEMPLATE WORD
  1357. SA3 X2
  1358. BX6 X0*X6
  1359. BX3 -X0*X3
  1360. BX6 X6+X3
  1361. SA6 A3 SET INDEX VALUE IN TEMPLATE
  1362.  
  1363. * PROCESS EQUIVALENCED PARAMETER VALUES.
  1364.  
  1365. AX2 18 FWA OF TABLE OF EQUIVALENCED VALUES
  1366. SB6 X5 SAVE *JCB* ADDRESS
  1367. SA5 B7+X2 GET EQUIVALENCED VALUE
  1368. LX5 -12
  1369. MX0 42
  1370. LX0 -18
  1371. MX1 12
  1372. SA3 A3+B1 GET TEMPLATE WORDS
  1373. SA4 A3+B1
  1374. BX6 X0*X5 SET FIRST PART OF VALUE
  1375. BX7 X1*X5 SET LAST PART OF VALUE
  1376. BX3 -X0*X3
  1377. BX4 -X1*X4
  1378. BX6 X6+X3
  1379. BX7 X7+X4
  1380. SA6 A3 SET VALUE INTO TEMPLATE
  1381. SA7 A4
  1382. SA1 A1+B1 GET NEXT ENTRY IN *TKWV*
  1383. SA2 A2+B1 GET NEXT ENTRY IN *TKWP*
  1384. SX5 B6+ RESTORE *JCB* ADDRESS
  1385. EQ EPB1 PROCESS NEXT ENTRY
  1386.  
  1387. * PROCESS *DT* PARAMETER.
  1388.  
  1389. EPB2 SA2 A2+1 GET NEXT ENTRY IN *TKWP*
  1390. RJ GSE GET SYSTEM ENTRY FOR KEYWORD
  1391. SB2 X1-1
  1392. SA4 TSCT+B2 GET SERVICE CLASS MNEMONIC
  1393. LX4 30
  1394. MX0 -48
  1395. LX0 30
  1396. SA3 X2 GET TEMPLATE WORD
  1397. BX6 -X0*X3
  1398. BX6 X6+X4
  1399. SA6 A3 SET VALUE IN TEMPLATE
  1400.  
  1401. * PROCESS *TD* PARAMETER.
  1402.  
  1403. SA1 A1+B1 GET NEXT ENTRY IN *TKWV*
  1404. SA2 A2+1 GET NEXT ENTRY IN *TKWP*
  1405. RJ GSE GET SYSTEM ENTRY FOR KEYWORD
  1406. RJ COD CONVERT ENTRY TO DISPLAY CODE
  1407. LX6 6
  1408. MX0 24
  1409. LX0 30
  1410. SA2 A2 GET TEMPLATE WORD
  1411. SA3 X2
  1412. BX6 X0*X6
  1413. BX3 -X0*X3
  1414. BX6 X6+X3
  1415. SA6 A3+ SET VALUE IN TEMPLATE
  1416.  
  1417. * PROCESS CURRENT JOB COUNT.
  1418.  
  1419. SA1 A1+2 GET SPECIAL ENTRY IN *TKWV* FOR *CJ*
  1420. SA2 A2+1 GET NEXT ENTRY IN *TKWP*
  1421. RJ GSE GET SYSTEM ENTRY FOR KEYWORD
  1422. RJ COD CONVERT ENTRY TO DISPLAY CODE
  1423. SA2 A2 GET TEMPLATE WORD
  1424. SA3 X2
  1425. MX0 24
  1426. LX6 36 LEFT JUSTIFY DIGITS
  1427. BX6 X0*X6
  1428. BX3 -X0*X3
  1429. BX6 X6+X3
  1430. SA6 A3 SET VALUE IN TEMPLATE
  1431. EQ EPBX RETURN
  1432. GMP SPACE 4,15
  1433. ** GMP - GENERATE MASKING PARAMETERS.
  1434. *
  1435. * ENTRY (A1) = ADDRESS OF *TKWV* ENTRY FOR KEYWORD.
  1436. * (X1) = *TKWV* ENTRY FOR KEYWORD.
  1437. * (X5) = FWA OF *JCB* IN *SBUF* FOR CURRENT
  1438. * SERVICE CLASS.
  1439. *
  1440. * EXIT (B2) = LOW ORDER BIT POSITION FOR VALUE IN *SBUF*.
  1441. * (B7) = 1 IF SPECIAL PROCESSING REQUIRED.
  1442. * = 0 IF SPECIAL PROCESSING NOT REQUIRED.
  1443. * (X3) = *SBUF* ENTRY FOR KEYWORD VALUE.
  1444. * (X4) = SIZE OF FIELD IN *SBUF* FOR KEYWORD VALUE.
  1445. *
  1446. * USES X - 0, 1, 3, 4.
  1447. * A - 1, 3.
  1448. * B - 2, 7.
  1449.  
  1450.  
  1451. GMP SUBR ENTRY/EXIT
  1452. LX1 30
  1453. SB7 B0 ASSUME NO SPECIAL PROCESSING
  1454. PL X1,GMP1 IF SPECIAL PROCESSING NOT REQUIRED
  1455. SB7 B1+ SET SPECIAL PROCESSING REQUIRED
  1456. GMP1 MX0 -6
  1457. BX1 -X0*X1 GET OFFSET IN *JCB* FOR KEYWORD VALUE
  1458. SB2 X1
  1459. SA3 X5+B2 GET *SBUF* ENTRY FOR KEYWORD VALUE
  1460. SA1 A1+B1 GENERATE MASK FOR KEYWORD VALUE
  1461. BX4 -X0*X1 GET SIZE OF FIELD FOR KEYWORD VALUE
  1462. AX1 6
  1463. BX1 -X0*X1 GET LOW ORDER BIT POSITION
  1464. SB2 X1
  1465. EQ GMPX RETURN
  1466. GSD SPACE 4,10
  1467. ** GSD - GET SYSTEM *JCB* DATA.
  1468. *
  1469. * EXIT (SBUF) = SYSTEM *JCB* DATA.
  1470. *
  1471. * MACROS SYSTEM.
  1472.  
  1473.  
  1474. GSD SUBR ENTRY/EXIT
  1475. SYSTEM SFM,R,SFMA,RSDF*100B RETURN *JCB* DATA
  1476. EQ GSDX RETURN
  1477. GSE SPACE 4,15
  1478. ** GSE - GET SYSTEM ENTRY.
  1479. *
  1480. * ENTRY (A1) = ADDRESS OF *TKWV* ENTRY FOR KEYWORD VALUE.
  1481. * (X1) = *TKWV* ENTRY FOR KEYWORD VALUE TO GET.
  1482. * (X5) = *JCB* FWA IN *SBUF* FOR CURRENT SERVICE CLASS.
  1483. *
  1484. * EXIT (A1) = ADDRESS OF SECOND WORD OF *TKWV* ENTRY.
  1485. * (X1) = SYSTEM KEYWORD VALUE FOR PARAMETER RIGHT
  1486. * JUSTIFIED.
  1487. *
  1488. * USES X - 0, 1, 3.
  1489. * B - 2.
  1490. *
  1491. * CALLS GMP.
  1492.  
  1493.  
  1494. GSE SUBR ENTRY/EXIT
  1495. RJ GMP GENERATE MASKING PARAMETERS
  1496. SB2 -B2
  1497. LX3 B2 RIGHT JUSTIFY FIELD
  1498. SB2 X4-1
  1499. MX0 1
  1500. AX0 B2 GENERATE MASK
  1501. SB2 B2+B1
  1502. LX0 B2 RIGHT JUSTIFY MASK
  1503. BX1 X0*X3 SET VALUE
  1504. EQ GSEX RETURN
  1505. ILD SPACE 4,10
  1506. ** ILD - INPUT *L* DISPLAY.
  1507. *
  1508. * EXIT (LBUF) = *L* DISPLAY COMMAND INPUT.
  1509. *
  1510. * USES X - 0, 1, 2, 6.
  1511. * A - 1, 6.
  1512. * B - 2.
  1513. *
  1514. * MACROS DSDINP, ROLLOUT.
  1515.  
  1516.  
  1517. ILD SUBR ENTRY/EXIT
  1518. SB2 LIML-1
  1519. SX6 B0+
  1520. ILD1 SA6 IBUF+B2 INITIALIZE INPUT BUFFER
  1521. SB2 B2-1
  1522. PL B2,ILD1 IF MORE WORDS TO INITIALIZE
  1523. ILD2 DSDINP IPW REQUEST INPUT FROM OPERATOR
  1524. SA1 IPW
  1525. MX0 -12
  1526. BX1 -X0*X1
  1527. AX1 1 IGNORE COMPLETION BIT
  1528. SX2 X1-CNCI
  1529. NZ X2,ILDX IF COMMAND ENTERED
  1530. ROLLOUT ROLB WAIT FOR *L* DISPLAY INPUT
  1531. EQ ILD2 RECHECK *L* DISPLAY INPUT
  1532. OLD SPACE 4,10
  1533. ** OLD - OUTPUT *L* DISPLAY DATA.
  1534. *
  1535. * ENTRY TEMPLATE FORMATTED FOR *L* DISPLAY SET IN *LBUF*.
  1536. *
  1537. * EXIT *L* DISPLAY UPDATED.
  1538. *
  1539. * MACROS DSDOUT.
  1540.  
  1541.  
  1542. OLD SUBR ENTRY/EXIT
  1543. DSDOUT LFWA DISPLAY *L* DISPLAY BUFFER
  1544. EQ OLDX RETURN
  1545. PKC SPACE 4,15
  1546. ** PKC - PROCESS KEYWORD=VALUE COMMAND.
  1547. *
  1548. * ENTRY (X1) = SEPARATOR.
  1549. * (X6) = KEYWORD VALUE.
  1550. * (B6) = FWA OF NEXT PARAMETER IN STRING BUFFER.
  1551. *
  1552. * USES X - 0, 1, 2, 5, 6, 7.
  1553. * A - 1, 5, 6, 7.
  1554. * B - 7.
  1555. *
  1556. * CALLS CVK, DXB, POP, PSK, SDT, SIN, SIP, SPS.
  1557.  
  1558.  
  1559. PKC10 RJ SDT SET DATA IN TEMPLATE
  1560.  
  1561. PKC SUBR ENTRY/EXIT
  1562. SX7 B0+ CLEAR TERMINATOR ENCOUNTERED FLAG
  1563. RJ CVK CHECK FOR VALID KEYWORD
  1564. SA7 PKCA
  1565. NZ X3,PKC6 IF NO VALID KEYWORD FOUND
  1566. EQ PKC2 ENTER LOOP
  1567.  
  1568. PKC1 ZR B6,PKC8 IF TERMINATOR ENCOUNTERED
  1569. RJ CVK CHECK FOR VALID KEYWORD
  1570. NZ X3,PKC6 IF NO VALID KEYWORD FOUND
  1571.  
  1572. * VALIDATE THE SEPARATOR.
  1573.  
  1574. PKC2 SX1 X1-1R=
  1575. NZ X1,PKC7 IF INCORRECT SEPARATOR
  1576. RJ POP GET KEYWORD VALUE
  1577. ZR X6,PKC8 IF NO PARAMETER VALUE GIVEN
  1578. PL X2,PKC3 IF NO TERMINATOR ENCOUNTERED
  1579. MX7 1 SET TERMINATOR ENCOUNTERD
  1580. SA7 PKCA
  1581. PKC3 LX5 30
  1582. NG X5,PKC5 IF SPECIAL PROCESSING REQUIRED
  1583.  
  1584. * VALIDATE THE NUMERIC PARAMETER FOR THE KEYWORD.
  1585.  
  1586. BX5 X6 SET WORD TO CONVERT FOR *DXB*
  1587. SB7 B0+ SET OCTAL BASE DEFAULT
  1588. RJ DXB CONVERT DISPLAY CODE TO BINARY
  1589. SA5 A5 GET KEYWORD TABLE ENTRY BACK
  1590. NZ X4,PKC8 IF ERROR IN CONVERSION
  1591. MX0 -6
  1592. BX1 -X0*X5 GET LOW VALUE FOR KEYWORD
  1593. MX0 -18
  1594. AX5 6
  1595. BX2 -X0*X5 GET HIGH VALUE FOR KEYWORD
  1596. IX2 X2-X6
  1597. NG X2,PKC8 IF PARAMETER TOO LARGE
  1598. IX1 X6-X1
  1599. NG X1,PKC8 IF PARAMETER TOO SMALL
  1600. RJ SPS SET PARAMETER INTO SYSTEM BUFFER
  1601. PKC4 SA1 PKCA CHECK IF TERMINATOR ENCOUNTERED
  1602. NZ X1,PKC10 IF TERMINATOR ENCOUNTERED
  1603. RJ POP GET NEXT KEYWORD FROM INPUT LINE
  1604. EQ PKC1 LOOP FOR NEXT KEYWORD
  1605.  
  1606. * PROCESS KEYWORDS REQUIRING SPECIAL PROCESSING.
  1607.  
  1608. PKC5 RJ PSK PROCESS SPECIAL KEYWORDS
  1609. NZ B2,PKC10 IF AN ERROR IN SPECIAL KEYWORD
  1610. EQ PKC4 PROCESS NEXT KEYWORD
  1611.  
  1612. * PROCESS ERRORS.
  1613.  
  1614. PKC6 SX1 EUKP *UNKNOWN PARAMETER - KW.*
  1615. RJ SIP SET INCORRECT PARAMETER KEYWORD
  1616. EQ PKC10 SET ANY GOOD DATA IN TEMPLATE
  1617.  
  1618. PKC7 SX1 EUKS *UNKNOWN SEPARATOR - KW.*
  1619. RJ SIP SET INCORRECT PARAMETER
  1620. EQ PKC10 SET ANY GOOD DATA IN TEMPLATE
  1621.  
  1622. PKC8 SX1 EICP *INCORRECT NUMERIC PARAMETER FOR KW.*
  1623. RJ SIN SET INCORRECT NUMERIC PARAMETER
  1624. EQ PKC10 SET ANY GOOD DATA IN TEMPLATE
  1625.  
  1626. PKC9 SX6 EURD *UNRECOGNIZABLE DIRECTIVE.*
  1627. SA6 EMOR
  1628. EQ PKCX RETURN
  1629.  
  1630.  
  1631. PKCA BSS 1 TERMINATOR ENCOUNTERED FLAG
  1632. PSK SPACE 4,15
  1633. ** PSK - PROCESS SPECIAL KEYWORDS.
  1634. *
  1635. * ENTRY (X5) = FIRST WORD OF CURRENT *TKWV* ENTRY.
  1636. * (X6) = NON-ZERO KEYWORD VALUE (FROM *COMCPOP*).
  1637. * (A5) = ADDRESS OF FIRST WORD OF CURRENT *TKWV* ENTRY.
  1638. *
  1639. * EXIT (B2) = 0, IF NO ERROR.
  1640. * = 1, IF ERROR.
  1641. * (EMOR) = MESSAGE ORDINAL.
  1642. *
  1643. * USES X - 1, 2, 5, 6.
  1644. * A - 1, 6.
  1645. * B - 2, 3, 7.
  1646. *
  1647. * CALLS DXB, SPS.
  1648.  
  1649.  
  1650. PSK6 SX6 EISC *INCORRECT SERVICE CLASS FOR *DT*.*
  1651. SA6 EMOR SET MESSAGE ORDINAL
  1652.  
  1653. PSK SUBR ENTRY/EXIT
  1654. SX2 A5-LDTE
  1655. ZR X2,PSK3 IF *DT* PARAMETER
  1656.  
  1657. * PROCESS WEIGHTING FACTOR PARAMETERS.
  1658.  
  1659. BX5 X6
  1660. SB7 B0 CONVERT DISPLAY CODE TO OCTAL
  1661. RJ DXB
  1662. NZ X4,PKC8 IF ERROR IN CONVERSION
  1663. ZR X6,PKC8 IF NULL WEIGHTING FACTOR
  1664. CX5 X6 CHECK FOR POWER OF 2
  1665. SB3 X5
  1666. NE B3,B1,PKC8 IF NOT POWER OF 2
  1667. SX1 X6-MXWF-1
  1668. PL X1,PKC8 IF VALUE TOO LARGE
  1669. PX5 X6
  1670. NX6,B3 X5
  1671. SB3 B3-47 RETURN POWER OF 2
  1672. SX6 -B3
  1673. PSK1 RJ SPS SET PARAMETER IN SYSTEM BUFFER
  1674. SB2 B0
  1675. EQ PSKX RETURN
  1676.  
  1677. * PROCESS *DT* PARAMETER.
  1678.  
  1679. PSK3 SA1 TSCT FWA OF SERVICE CLASS TABLE
  1680. SB2 1
  1681. PSK4 ZR X1,PSK6 IF END OF TABLE
  1682. BX5 X1-X6
  1683. SA1 A1+B1 GET NEXT ENTRY IN *TSCT*
  1684. NZ X5,PSK4 IF NOT SPECIFIED SERVICE CLASS
  1685.  
  1686. * CHECK FOR SPECIAL CASE DISALLOWED ENTRIES.
  1687.  
  1688. SX1 X6-2RSS
  1689. ZR X1,PSK6 IF INCORRECT SERVICE CLASS
  1690.  
  1691. * SET CORRECT *DT* VALUE IN SYSTEM BUFFER.
  1692.  
  1693. SX6 A1-TSCT SET SERVICE CLASS ORDINAL+1
  1694. EQ PSK1 SET PARAMETER IN SYSTEM BUFFER
  1695. RPN SPACE 4,10
  1696. ** RPN - RESET PAGE NUMBER.
  1697. *
  1698. * ENTRY (CLDS) = CURRENT *L* DISPLAY SCREEN STATUS.
  1699. *
  1700. * EXIT CURRENT LEFT PAGE NUMBER RESET TO 1.
  1701. *
  1702. * USES X - 0, 1, 2, 3, 6.
  1703. * A - 1, 3, 6.
  1704.  
  1705.  
  1706. RPN SUBR ENTRY/EXIT
  1707. SA3 THLP ASSUME *HELP* STATUS
  1708. SA1 CLDS CHECK CURRENT *L* DISPLAY SCREEN STATUS
  1709. SX1 X1-SHLP
  1710. MX0 42
  1711. LX0 30
  1712. ZR X1,RPN1 IF *HELP* STATUS
  1713. SA3 TASC SET DATA DISPLAY STATUS
  1714. RPN1 SX2 B1 SET PAGE 1 OF *HELP* DISPLAY
  1715. LX2 30
  1716. BX3 X0*X3 CLEAR CURRENT PAGE
  1717. BX6 X2+X3 SET PAGE 1
  1718. SA6 A3
  1719. EQ RPNX RETURN
  1720. SDT SPACE 4,15
  1721. ** SDT - SET DATA IN TEMPLATE.
  1722. *
  1723. * ENTRY (CSCL) = CURRENT SERVICE CLASS ORDINAL.
  1724. * (SBUF) = CURRENT SYSTEM *JCB* INFORMATION.
  1725. *
  1726. * EXIT DATA FROM *SBUF* SET IN TEMPLATES.
  1727. *
  1728. * USES X - ALL.
  1729. * A - 1, 3, 4, 5, 6, 7.
  1730. * B - 2.
  1731. *
  1732. * CALLS CJA, EPA, EPB.
  1733.  
  1734.  
  1735. SDT SUBR ENTRY/EXIT
  1736.  
  1737. * SET SERVICE CLASS MNEMONIC IN PAGE HEADERS.
  1738.  
  1739. SA3 TASC FWA DATA TEMPLATES PAGING TABLE
  1740. MX0 12
  1741. BX3 X0*X3 NUMBER OF PAGES IN DATA TEMPLATES
  1742. LX3 12
  1743. SB2 X3
  1744. SA1 CSCL GET CURRENT SERVICE CLASS ORDINAL
  1745. SA1 X1+TSCT
  1746. BX1 X0*X1
  1747. LX1 6
  1748. MX0 -54
  1749. BX2 -X0*X1 FIRST CHARACTER OF SERVICE CLASS
  1750. BX1 X0*X1 LAST CHARACTER OF SERVICE CLASS
  1751. SDT1 SA4 A3+B1 GET NEXT PAGE
  1752. SA4 X4+2 GET TEMPLATE WORDS
  1753. SA5 A4+B1
  1754. BX5 -X0*X5
  1755. LX0 6
  1756. BX4 -X0*X4
  1757. BX6 X4+X2 SET FIRST CHARACTER OF SERVICE CLASS
  1758. BX7 X5+X1 SET LAST CHARACTER OF SERVICE CLASS
  1759. SA6 A4
  1760. MX0 -54 RESET MASK
  1761. SA7 A5
  1762. SB2 B2-B1
  1763. ZR B2,SDT2 IF ALL PAGES DONE
  1764. SA3 A3+B1 NEXT ENTRY IN PAGING TABLE
  1765. EQ SDT1 ENTER SERVICE CLASS IN NEXT PAGE
  1766.  
  1767. * SET DATA IN THE TEMPLATES.
  1768.  
  1769. SDT2 RJ CJA CALCULATE *JCB* OFFSET IN *SBUF*
  1770. RJ EPA ENTER PAGES 1 AND 2 VALUES
  1771. RJ EPB ENTER PAGE 3 VALUES
  1772. EQ SDTX RETURN
  1773. SIN SPACE 4,20
  1774. ** SIN - SET INCORRECT NUMERIC PARAMETER.
  1775. *
  1776. * ENTRY (X1) = MESSAGE ORDINAL.
  1777. * (A5) = FWA OF *TKWV* ENTRY OF KEYWORD TO ADD TO
  1778. * MESSAGE.
  1779. *
  1780. * EXIT (EMOR) = MESSAGE ORDINAL.
  1781. * KEYWORD SET IN MESSAGE.
  1782. *
  1783. * USES X - 0, 1, 2, 5, 6, 7.
  1784. * A - 2, 5, 6, 7.
  1785. *
  1786. * CALLS AFT.
  1787. *
  1788. * NOTES THIS ROUTINE ASSUMES A SPECIFIC LOCATION FOR THE
  1789. * KEYWORD IN THE MESSAGE. IF THE KEYWORD POSITION IN
  1790. * THE MESSAGE IS CHANGED, THIS ROUTINE SHOULD BE
  1791. * UPDATED.
  1792.  
  1793.  
  1794. SIN SUBR ENTRY/EXIT
  1795. BX7 X1
  1796. SA7 EMOR SET MESSAGE ORDINAL
  1797. SA5 A5 GET KEYWORD IN ERROR
  1798. MX0 24
  1799. BX1 X0*X5
  1800. SA2 TMLD+3+X7 FWA OF WORD IN MESSAGE
  1801. RJ AFT APPEND FLOATING TERMINATOR
  1802. LX6 -12 JUSTIFY KEYWORD FOR MESSAGE
  1803. MX0 12
  1804. BX2 X0*X2
  1805. BX6 -X0*X6
  1806. BX6 X6+X2
  1807. SA6 A2 ADD KEYWORD AND TERMINATOR TO MESSAGE
  1808. EQ SINX RETURN
  1809. SIP SPACE 4,20
  1810. ** SIP - SET INCORRECT PARAMETER KEYWORD.
  1811. *
  1812. * ENTRY (X1) = MESSAGE ORDINAL.
  1813. * (POPA) = KEYWORD IN ERROR, LEFT JUSTIFIED, ZERO
  1814. * FILLED.
  1815. *
  1816. * EXIT KEYWORD SET IN MESSAGE.
  1817. * (EMOR) = MESSAGE ORDINAL.
  1818. *
  1819. * USES X - 1, 2, 7.
  1820. * A - 1, 2, 6, 7.
  1821. *
  1822. * CALLS AFT.
  1823. *
  1824. * NOTES THIS ROUTINE ASSUMES A SPECIFIC LOCATION FOR THE
  1825. * KEYWORD IN THE MESSAGE. IF THE KEYWORD POSITION IN
  1826. * THE MESSAGE IS CHANGED, THIS ROUTINE SHOULD BE
  1827. * UPDATED.
  1828.  
  1829.  
  1830. SIP SUBR ENTRY/EXIT
  1831. BX7 X1
  1832. SA7 EMOR SET MESSAGE ORDINAL
  1833. SA1 POPA GET PARAMETER IN ERROR
  1834. SA2 TMLD+X7+2 GET WORD IN MESSAGE TO MODIFY
  1835. RJ AFT APPEND FLOATING TERMINATOR
  1836. SA6 A2 ADD KEYWORD AND TERMINATOR TO MESSAGE
  1837. EQ SIPX RETURN
  1838. SPS SPACE 4,15
  1839. ** SPS - SET PARAMETER INTO SYSTEM BUFFER.
  1840. *
  1841. * ENTRY (X6) = PARAMETER, RIGHT JUSTIFIED.
  1842. * (A5) = FWA OF CURRENT *TKWV* ENTRY.
  1843. * (CSCL) = CURRENT SERVICE CLASS ORDINAL.
  1844. *
  1845. * EXIT PARAMETER SET INTO *SBUF*.
  1846. *
  1847. * USES X - 0, 1, 3, 6.
  1848. * A - 1, 6.
  1849. * B - 2, 3.
  1850. *
  1851. * CALLS CJA, GMP.
  1852.  
  1853.  
  1854. SPS SUBR ENTRY/EXIT
  1855. RJ CJA CALCULATE *JCB* ADDRESS
  1856. SA1 A5+ GET *TKWV* ENTRY
  1857. RJ GMP GENERATE MASKING PARAMETERS
  1858. LX6 B2 JUSTIFY PARAMETER FOR SYSTEM BUFFER
  1859. SB2 B2+X4 SET SHIFT COUNT FOR MASK
  1860. SB3 X4-1
  1861. MX0 1
  1862. AX0 B3
  1863. LX0 B2 GENERATE MASK FOR PARAMETER
  1864. BX3 -X0*X3
  1865. BX6 X6+X3
  1866. SA6 A3 SET VALUE IN SYSTEM BUFFER
  1867. EQ SPSX RETURN
  1868. SSM SPACE 4,20
  1869. ** SSM - SET SERVICE CLASS IN MESSAGE.
  1870. *
  1871. * ENTRY (B5) = SERVICE CLASS.
  1872. * (X0) = *L* DISPLAY MESSAGE INDEX.
  1873. *
  1874. * EXIT (EBUF) = MESSAGE WITH SERVICE CLASS MNEMONIC SET.
  1875. * (EMOR) = MESSAGE ORDINAL OF *EBUF*.
  1876. *
  1877. * USES X - 1, 6.
  1878. * A - 1, 6.
  1879. * B - 2, 3, 5.
  1880. *
  1881. * CALLS SNM.
  1882. *
  1883. * MACROS MOVE.
  1884.  
  1885.  
  1886. SSM SUBR ENTRY/EXIT
  1887. MOVE LDML,TMLD+EBMS,TMLD+EBUF CLEAR ASSEMBLY BUFFER
  1888. SA1 B5+TSCT-1 GET SERVICE CLASS MNEMONIC
  1889. SB2 1RX SUBSTITUTION CHARACTER
  1890. SB3 TMLD+EBUF ASSEMBLY BUFFER
  1891. SB5 X0+TMLD MESSAGE ADDRESS
  1892. SB5 -B5
  1893. RJ SNM SET SERVICE CLASS NAME IN MESSAGE
  1894. SX6 EBUF ERROR MESSAGE ORDINAL FOR ASSEMBLY BUFFER
  1895. SA6 EMOR
  1896. EQ SSMX RETURN
  1897. SVT SPACE 4,15
  1898. ** SVT - SET VALUE IN TEMPLATE.
  1899. *
  1900. * ENTRY (A1) = ADDRESS OF CURRENT *TKWV* ENTRY.
  1901. * (A2) = ADDRESS OF CURRENT *TKWP* ENTRY.
  1902. * (X0) = MASK FOR FIRST PART OF VALUE TO BE SET.
  1903. * (X1) = MASK FOR LAST PART OF VALUE TO BE SET.
  1904. * (X6) = VALUE TO SET IN TEMPLATE.
  1905. * (B2) = SHIFT COUNT FOR VALUE TO BE SET.
  1906. *
  1907. * EXIT VALUE SET INTO TEMPLATE.
  1908. * (A1) = INCREMENTED TO NEXT *TKWV* ENTRY.
  1909. * (A2) = INCREMENTED TO NEXT *TKWP* ENTRY.
  1910. *
  1911. * USES X - 1, 2, 3, 4, 6, 7.
  1912. * A - 1, 2, 3, 4, 6, 7.
  1913.  
  1914.  
  1915. SVT SUBR ENTRY/EXIT
  1916. SA2 A2 GET TEMPLATE WORDS
  1917. SA3 X2
  1918. SA4 A3+B1
  1919. LX6 B2
  1920. BX7 -X0*X6 GET FIRST CHARACTERS OF VALUE
  1921. BX3 X0*X3
  1922. BX6 X1*X6 GET LAST CHARACTERS OF VALUE
  1923. BX4 -X1*X4
  1924. BX6 X6+X4 SET LAST CHARACTERS
  1925. BX7 X7+X3 SET FIRST CHARACTERS
  1926. SA6 A4
  1927. SA7 A3
  1928. SA1 A1+B1 NEXT ENTRY IN *TKWV*
  1929. SA2 A2+B1 NEXT ENTRY IN *TKWP*
  1930. EQ SVTX RETURN
  1931. SPACE 4,10
  1932. * COMMON DECKS.
  1933.  
  1934.  
  1935. *CALL COMCCIO
  1936. *CALL COMCCOD
  1937. *CALL COMCCPM
  1938. *CALL COMCDXB
  1939. *CALL COMCFLD
  1940. *CALL COMCLFM
  1941. *CALL COMCMVE
  1942. *CALL COMCPOP
  1943. *CALL COMCRDC
  1944. *CALL COMCRDW
  1945. *CALL COMCSFN
  1946. *CALL COMCSNM
  1947. *CALL COMCSYS
  1948. *CALL COMCUSB
  1949. *CALL COMCWOD
  1950. *CALL COMCWTC
  1951. *CALL COMCWTO
  1952. *CALL COMCWTW
  1953. *CALL COMCZTB
  1954. TITLE HELP - PAGE 1.
  1955. USE BUFFERS
  1956. SPACE 4,10
  1957. HLPA BSS 0
  1958. DATA 58CSDSPLAY COMMANDS PAGE 1 OF 3
  1959. DATA 58C
  1960. DATA 58C COMMAND DESCRIPTION
  1961. DATA 58C
  1962. DATA 58C CLASS=XX DISPLAY THE DATA FOR SERVICE CLASS XX.
  1963. DATA 58C END END THE PROCESSING OF SDSPLAY.
  1964. DATA 58C GO SET ALL ENTERED VALUES INTO THE SYSTEM.
  1965. DATA 58C HELP SHOW L DISPLAY COMMANDS FOR SDSPLAY.
  1966. DATA 58C RESET IGNORE ALL VALUES ENTERED SINCE THE
  1967. DATA 58C LAST GO.
  1968. DATA 58C
  1969. DATA 58C + PAGE THE DISPLAY FORWARD.
  1970. DATA 58C - PAGE THE DISPLAY BACKWARD.
  1971. DATA 58C
  1972. DATA 58C
  1973. DATA 58C
  1974. DATA 58C
  1975. DATA 58C
  1976. DATA 58C
  1977. DATA 58C
  1978. LDMO EQU *-HLPA GLOBAL MESSAGE OFFSET IN TEMPLATE
  1979. DATA 58C
  1980. DATA 58C
  1981. HLPAL EQU *-HLPA LENGTH OF TEMPLATE
  1982. DSPL EQU HLPAL GLOBAL TEMPLATE LENGTH
  1983. TITLE HELP - PAGE 2.
  1984. HLPB BSS 0
  1985. DATA 58CSERVICE CLASS DEFINITIONS PAGE 2 OF 3
  1986. DATA 58C
  1987. DATA 58C SY SYSTEM SERVICE CLASS.
  1988. DATA 58C BC BATCH SERVICE CLASS.
  1989. DATA 58C RB REMOTE BATCH SERVICE CLASS.
  1990. DATA 58C
  1991. DATA 58C TS INTERACTIVE SERVICE CLASS.
  1992. DATA 58C DI DETACHED INTERACTIVE SERVICE CLASS.
  1993. DATA 58C NS NETWORK SUPERVISOR SERVICE CLASS.
  1994. DATA 58C
  1995. DATA 58C SS SUBSYSTEM SERVICE CLASS.
  1996. DATA 58C MA MAINTENANCE SERVICE CLASS.
  1997. DATA 58C CT COMMUNICATION TASK SERVICE CLASS.
  1998. DATA 58C
  1999. DATA 58C
  2000. DATA 58C
  2001. DATA 58C
  2002. DATA 58C
  2003. DATA 58C
  2004. DATA 58C
  2005. ERRNZ *-HLPB-LDMO MESSAGE LINE LOCATION INCORRECT
  2006. DATA 58C
  2007. ERRNZ *-HLPB-LDMO-LDML INPUT LINE LOCATION INCORRECT
  2008. DATA 58C
  2009. HLPBL EQU *-HLPB LENGTH OF TEMPLATE
  2010. ERRNZ HLPBL-DSPL TEMPLATES MUST BE SAME LENGTH
  2011. TITLE HELP - PAGE 3.
  2012. HLPC BSS 0
  2013. DATA 58CSERVICE CLASS DEFINITIONS PAGE 3 OF 3
  2014. DATA 58C
  2015. DATA 58C I0 INSTALLATION CLASS 0.
  2016. DATA 58C I1 INSTALLATION CLASS 1.
  2017. DATA 58C I2 INSTALLATION CLASS 2.
  2018. DATA 58C I3 INSTALLATION CLASS 3.
  2019. DATA 58C
  2020. DATA 58CTHE FOLLOWING SERVICE CLASSES MAY BE DEFINED AT YOUR SITE.
  2021. DATA 58C
  2022. DATA 58C I4 INSTALLATION CLASS 4.
  2023. DATA 58C I5 INSTALLATION CLASS 5.
  2024. DATA 58C I6 INSTALLATION CLASS 6.
  2025. DATA 58C I7 INSTALLATION CLASS 7.
  2026. DATA 58C I8 INSTALLATION CLASS 8.
  2027. DATA 58C I9 INSTALLATION CLASS 9.
  2028. DATA 58C II INSTALLATION CLASS I.
  2029. DATA 58C IJ INSTALLATION CLASS J.
  2030. DATA 58C IK INSTALLATION CLASS K.
  2031. DATA 58C IL INSTALLATION CLASS L.
  2032. DATA 58C
  2033. ERRNZ *-HLPC-LDMO MESSAGE LINE LOCATION INCORRECT
  2034. DATA 58C
  2035. ERRNZ *-HLPC-LDMO-LDML INPUT LINE LOCATION INCORRECT
  2036. DATA 58C
  2037. HLPCL EQU *-HLPC LENGTH OF TEMPLATE
  2038. ERRNZ HLPCL-DSPL TEMPLATES MUST BE SAME LENGTH
  2039. TITLE LINE PRINTER HEADER FOR TEMPLATES.
  2040. LPHR BSS 0
  2041. DATA 50HSDSPLAY - SYSTEM SERVICE CLASS DISPLAY
  2042. LPHD BSS 1 DATE STAMP
  2043. LPHT BSS 1 TIME STAMP
  2044. DATA C* *
  2045. CON 0
  2046. LPHRL EQU *-LPHR HEADER LENGTH
  2047. TITLE ATTRIBUTES FOR SERVICE CLASS - PAGE 1.
  2048. SCA1 BSS 0
  2049. DATA 58CATTRIBUTES FOR SERVICE CLASS XX PAGE 1 OF 3
  2050. DATA 58C
  2051. DATA 58C OPTION DESCRIPTION
  2052. DATA 58C
  2053. INLP EQU *
  2054. DATA 58C INLP = XXXXB INPUT QUEUE LOWER PRIORITY.
  2055. INUP EQU *
  2056. DATA 58C INUP = XXXXB INPUT QUEUE UPPER PRIORITY.
  2057. OTLP EQU *
  2058. DATA 58C OTLP = XXXXB OUTPUT QUEUE LOWER PRIORITY.
  2059. OTUP EQU *
  2060. DATA 58C OTUP = XXXXB OUTPUT QUEUE UPPER PRIORITY.
  2061. EXLP EQU *
  2062. DATA 58C EXLP = XXXXB EXECUTION QUEUE LOWER PRIORITY.
  2063. EXUP EQU *
  2064. DATA 58C EXUP = XXXXB EXECUTION QUEUE UPPER PRIORITY.
  2065. EXIL EQU *
  2066. DATA 58C EXIL = XXXXB EXECUTION QUEUE INITIAL LOWER PRIORITY.
  2067. EXIP EQU *
  2068. DATA 58C EXIP = XXXXB EXECUTION QUEUE INITIAL PRIORITY.
  2069. EXTP EQU *
  2070. DATA 58C EXTP = XXXXB INITIAL TERMINAL PRIORITY AFTER I/O.
  2071. DATA 58C
  2072. INWF EQU *
  2073. DATA 58C INWF = XXXXB INPUT QUEUE WEIGHTING FACTOR.
  2074. EXWF EQU *
  2075. DATA 58C EXWF = XXXXB EXECUTION QUEUE WEIGHTING FACTOR.
  2076. OTWF EQU *
  2077. DATA 58C OTWF = XXXXB OUTPUT QUEUE WEIGHTING FACTOR.
  2078. DATA 58C
  2079. DATA 58C (ALL PRIORITY VALUES ARE 0-7777B).
  2080. DATA 58C (WEIGHTING FACTORS MUST BE A POWER OF 2 FROM 1 - 4000B).
  2081. ERRNZ *-SCA1-LDMO MESSAGE LINE LOCATION INCORRECT
  2082. DATA 58C
  2083. ERRNZ *-SCA1-LDMO-LDML INPUT LINE LOCATION INCORRECT
  2084. DATA 58C
  2085. SCA1L EQU *-SCA1 LENGTH OF TEMPLATE
  2086. ERRNZ SCA1L-DSPL TEMPLATES MUST BE SAME LENGTH
  2087. OBUFL EQU *-LPHR OUTPUT BUFFER LENGTH
  2088. TITLE ATTRIBUTES FOR SERVICE CLASS - PAGE 2.
  2089. SCA2 BSS 0
  2090. DATA 58CATTRIBUTES FOR SERVICE CLASS XX PAGE 2 OF 3
  2091. DATA 58C
  2092. DATA 58C OPTION DESCRIPTION
  2093. DATA 58C
  2094. ASCT EQU *
  2095. DATA 58C CT = XXXXB CP TIME SLICE (0-7777B SECONDS).
  2096. ASCM EQU *
  2097. DATA 58C CM = XXXXB CM TIME SLICE (0-7777B SECONDS).
  2098. ASNJ EQU *
  2099. DATA 58C NJ = XXXXB MAXIMUM NUMBER OF JOBS (0-7777B).
  2100. DATA 58C
  2101. ASCP EQU *
  2102. DATA 58C CP = XXXXB CONTROL POINT SLICE PRIORITY (0-7777B).
  2103. ASFL EQU *
  2104. ASFM EQU *+4
  2105. DATA 58C FL = XXXXB MAXIMUM CM FL/100B, ANY JOB (0-MXFLB).
  2106. ASAM EQU *
  2107. DATA 58C AM = XXXXXB MAXIMUM CM FL/100B, ALL JOBS (0-77777B).
  2108. ASEC EQU *
  2109. DATA 58C EC = XXXXB MAXIMUM XM FL/1000B, ANY JOB (0-3777B).
  2110. ASEM EQU *
  2111. DATA 58C EM = XXXXB MAXIMUM XM FL/1000B, ALL JOBS (0-7777B).
  2112. DATA 58C
  2113. ASPR EQU *
  2114. DATA 58C PR = XXB CPU PRIORITY (2-77B).
  2115. ASSE EQU *
  2116. DATA 58C SE = XXXXB CPU SLICE EXTENSION (0-7777B MS).
  2117. ASRS EQU *
  2118. DATA 58C RS = XXXXB CPU RECALL SLICE (1-7777B MS).
  2119. ASUS EQU *
  2120. DATA 58C US = XXXXB UNEXTENDED CPU SLICE (1-7777B MS).
  2121. DATA 58C
  2122. ASCJ EQU *+5
  2123. DATA 58C THE CURRENT JOB COUNT FOR THIS SERVICE CLASS IS XXXXB.
  2124. ERRNZ *-SCA2-LDMO MESSAGE LINE LOCATION INCORRECT
  2125. DATA 58C
  2126. ERRNZ *-SCA2-LDMO-LDML INPUT LINE LOCATION INCORRECT
  2127. DATA 58C
  2128. SCA2L EQU *-SCA2 LENGTH OF TEMPLATE
  2129. ERRNZ SCA2L-DSPL TEMPLATES MUST BE SAME LENGTH
  2130. TITLE ATTRIBUTES FOR SERVICE CLASS - PAGE 3.
  2131. SCA3 BSS 0
  2132. DATA 58CATTRIBUTES FOR SERVICE CLASS PAGE 3 OF 3
  2133. DATA 58C
  2134. DATA 58C INDEX VALUE DESCRIPTION
  2135. DATA 58C
  2136. ASDS EQU *
  2137. DATA 58CDS = X (XXXXXXXXX) MAXIMUM DIRECT ACCESS FILE
  2138. DATA 58C SIZE (0-7).
  2139. ASFC EQU *
  2140. DATA 58CFC = X (XXXXXXXXX) MAXIMUM NUMBER PERMANENT
  2141. DATA 58C FILES (0-7).
  2142. ASCS EQU *
  2143. DATA 58CCS = X (XXXXXXXXX) MAXIMUM PRUS, ALL INDIRECT
  2144. DATA 58C FILES (0-7).
  2145. ASFS EQU *
  2146. DATA 58CFS = X (XXXXXXXXX) MAXIMUM PRUS, ONE INDIRECT
  2147. DATA 58C FILE (0-7).
  2148. DATA 58C
  2149. DATA 58C OPTION DESCRIPTION
  2150. DATA 58C
  2151. ASDT EQU *
  2152. DATA 58CDT = XX SERVICE CLASS ON DETACH (NOT SS OR DS).
  2153. ASTD EQU *
  2154. DATA 58CTD = XXXXB SUSPENSION TIMEOUT DELAY (0-7777B
  2155. DATA 58C SECONDS*10B).
  2156. DATA 58C
  2157. DATA 58CNOTE - EXTP, DT AND TD ARE USED ONLY FOR INTERACTIVE JOBS.
  2158. ERRNZ *-SCA3-LDMO MESSAGE LINE LOCATION INCORRECT
  2159. DATA 58C
  2160. ERRNZ *-SCA3-LDMO-LDML INPUT LINE LOCATION INCORRECT
  2161. DATA 58C
  2162. SCA3L EQU *-SCA3 LENGTH OF TEMPLATE
  2163. ERRNZ SCA3L-DSPL TEMPLATES MUST BE SAME LENGTH
  2164. TITLE OTHER BUFFERS.
  2165. * *L* DISPLAY INPUT BUFFER.
  2166.  
  2167. IPW BSS 0 INPUT BUFFER FOR *L* DISPLAY
  2168. VFD 12/LIML,1/0,1/0,46/0
  2169. IBUF BSSZ LIML INPUT BUFFER
  2170.  
  2171. * *L* DISPLAY ID STRINGS.
  2172.  
  2173. LHLP DATA C*SDSPLAY - HELP.*
  2174. LCLS DATA C*SDSPLAY - CLASS.*
  2175.  
  2176. * *L* DISPLAY BUFFER.
  2177.  
  2178. .DSPL EQU DSPL/6 EXTRA DISPLAY LENGTH FOR COORDINATES
  2179. LBUFL EQU DSPL+.DSPL *L* DISPLAY BUFFER LENGTH
  2180. LFWA VFD 12/LBUFL,1/0,1/0,46/0
  2181. LBUF EQU * *L* DISPLAY BUFFER
  2182. LBUFE EQU LBUF+LBUFL END OF *L* DISPLAY BUFFER
  2183.  
  2184. * SYSTEM SERVICE CLASS INFORMATION BUFFER.
  2185.  
  2186. SBUF EQU LBUFE FWA *SBUF*
  2187. SBUFE EQU SBUF+SBUFL LWA *SBUF*
  2188.  
  2189. * DIRECTIVE INPUT FILE BUFFER.
  2190.  
  2191. DBUF EQU SBUFE FWA INPUT FILE BUFFER
  2192. DBUFE EQU DBUF+DBUFL END OF INPUT FILE BUFFER
  2193.  
  2194. * OUTPUT FILE BUFFER.
  2195.  
  2196. OBUF EQU DBUFE FWA OUTPUT FILE BUFFER
  2197. OBUFE EQU OBUF+OBUFL END OF OUTPUT BUFFER
  2198. TITLE PRESET.
  2199. PRS SPACE 4,20
  2200. ** PRS - PRESET ROUTINE.
  2201. *
  2202. * ENTRY CONTROL STATEMENT ARGUMENT LIST IN RA+2 (*ARGR*)
  2203. * IN OPERATING SYSTEM FORMAT.
  2204. *
  2205. * EXIT (B1) = 1.
  2206. * (DFLG) = NON-ZERO IF DIRECTIVE INPUT FILE SPECIFIED.
  2207. * (LFLG) = NON-ZERO IF LINE PRINTER OPTION SPECIFIED.
  2208. *
  2209. * ERROR TO *ERR* IF ARGUMENT ERROR OR INCORRECT USER ACCESS.
  2210. * (X1) = ERROR MESSAGE OFFSET.
  2211. *
  2212. * USES X - ALL.
  2213. * A - 1, 2, 3, 6, 7.
  2214. * B - 1, 2.
  2215. *
  2216. * CALLS COD, CVO, GSD, POP, USB.
  2217. *
  2218. * MACROS CLOCK, DATE, GETSPS.
  2219.  
  2220.  
  2221. PRS SUBR ENTRY/EXIT
  2222. SB1 1 SYSTEM COMMUNICATION (B1) = 1
  2223. DATE LPHD SET DATE IN PRINTER HEADER
  2224. CLOCK LPHT SET TIME IN PRINTER HEADER
  2225. GETSPS PRSE CHECK FOR SYSTEM ORIGIN PRIVILEGES
  2226. SA1 PRSE
  2227. ZR X1,PRS1 IF SYSTEM ORIGIN PRIVILEGES
  2228. SX1 ERNV * USER ACCESS NOT VALID.*
  2229. EQ ERR ABORT WITH ERROR MESSAGE
  2230.  
  2231. * PROCESS ARGUMENT LIST.
  2232.  
  2233. PRS1 SB2 CCDR UNPACK COMMAND
  2234. RJ USB UNPACK STRING BUFFER
  2235. SX6 1R. ASSURE TERMINATOR CHARACTER
  2236. SA6 B7+1
  2237. RJ POP SKIP PROGRAM NAME
  2238. ZR B6,PRS13 IF NO ARGUMENTS ON CONTROL CARD
  2239.  
  2240. * PROCESS CONTROL CARD ARGUMENTS.
  2241.  
  2242. PRS2 RJ POP GET ARGUMENT
  2243. PL B5,PRS3 IF NO ERROR
  2244. SX1 ERAE * ARGUMENT ERROR - XXXXXXX.*
  2245. EQ ERR PROCESS ERROR
  2246.  
  2247. PRS3 NZ B6,PRS4 IF NO TERMINATOR
  2248. SX7 B1+
  2249. SA7 PRSD SET TERMINATOR FLAG
  2250. PRS4 SX2 X1-1R=
  2251. SX1 ERAE * ARGUMENT ERROR - XXXXXXX.*
  2252. SA3 PRSA INCREMENT ARGUMENT COUNTER
  2253. SX7 X3+B1
  2254. SA7 A3
  2255. SX7 X7-TARGL-1
  2256. PL X7,ERR IF TOO MANY ARGUMENTS
  2257. NZ X2,PRS8 IF POSITIONAL ARGUMENT
  2258.  
  2259. * PROCESS EQUIVALENCED ARGUMENTS.
  2260.  
  2261. SA2 PRSD
  2262. NZ X2,ERR IF TERMINATOR, NO VALUE FOR ARGUMENT
  2263. SA2 TARG FWA OF ARGUMENT TABLE
  2264. PRS5 ZR X2,ERR IF END OF TABLE, INCORRECT ARGUMENT
  2265. MX0 12
  2266. BX3 X6-X2
  2267. BX3 X0*X3
  2268. ZR X3,PRS6 IF A MATCH
  2269. SA2 A2+B1
  2270. EQ PRS5 CHECK NEXT ARGUMENT IN TABLE
  2271.  
  2272. PRS6 SX4 X2+ FWA OF TABLE OF LIST OPTIONS
  2273. AX2 18
  2274. SX5 X2 FWA OF ARGUMENT AREA
  2275. RJ POP GET ARGUMENT VALUE
  2276. SX1 ERAE * ARGUMENT ERROR - XXXXXXX.*
  2277. NG B5,ERR IF ERROR
  2278. ZR X4,PRS7 IF NO OPTION TABLE
  2279. RJ CVO CHECK FOR VALID OPTION
  2280. NZ X3,ERR IF VALID OPTION NOT FOUND
  2281. PRS7 MX0 -18
  2282. BX2 -X0*X6
  2283. NZ X2,ERR IF ARGUMENT VALUE TOO LONG
  2284. SA6 X5+ SAVE VALID OPTION
  2285. ZR B6,PRS10 IF END OF ARGUMENTS
  2286. EQ PRS2 CHECK NEXT ARGUMENT
  2287.  
  2288. * PROCESS POSITIONAL ARGUMENTS.
  2289.  
  2290. PRS8 SX1 ERAE * ARGUMENT ERROR - XXXXXXX.*
  2291. MX0 -18
  2292. BX2 -X0*X6
  2293. NZ X2,ERR IF ARGUMENT TOO LONG
  2294. SA2 PRSA GET ARGUMENT COUNTER
  2295. SA3 TARG+X2-1
  2296. SX4 X3+ FWA TABLE OF LIST OPTIONS
  2297. AX3 18
  2298. SX5 X3 SAVE FWA OF ARGUMENT AREA
  2299. ZR X4,PRS9 IF NO LIST OPTION TABLE
  2300. RJ CVO CHECK FOR VALID OPTION
  2301. NZ X3,ERR IF INVALID OPTION
  2302. PRS9 SA6 X5+ SAVE ARGUMENT
  2303. SA1 PRSD
  2304. ZR X1,PRS2 IF NOT END OF ARGUMENTS
  2305.  
  2306. * CHECK FOR ARGUMENT CONFLICTS.
  2307.  
  2308. PRS10 SA2 PRSC CHECK LIST OPTION
  2309. SX3 1RL
  2310. LX3 54
  2311. BX3 X3-X2
  2312. NZ X3,PRS12 IF NOT LINE PRINTER OPTION
  2313. SA2 PRSB GET LOCAL FILE NAME
  2314. SA1 OUTPUT
  2315. BX6 X1
  2316. ZR X2,PRS11 IF FILE NAME NOT SPECIFIED
  2317. MX0 -18
  2318. BX1 -X0*X1
  2319. BX6 X1+X2
  2320. SA6 OUTPUT SET FILE NAME IN FET
  2321. PRS11 SA6 LFLG SET LINE PRINTER FLAG
  2322. EQ PRS12.1 CHECK INPUT FILE OPTION
  2323.  
  2324. PRS12 SA2 PRSB CHECK IF FILE NAME SPECIFIED
  2325. ZR X2,PRS12.1 IF NOT FILE NAME SPECIFIED
  2326. BX6 X2
  2327. SX1 ERAE * ARGUMENT ERROR - XXXXXXX.*
  2328. EQ ERR PROCESS ERROR
  2329.  
  2330. PRS12.1 SA1 PRSF GET LOCAL FILE NAME FOR DIRECTIVES
  2331. SA2 INPUT
  2332. MX0 42
  2333. BX6 X0*X1
  2334. BX7 -X0*X2
  2335. BX7 X6+X7
  2336. SA6 DFLG SET INPUT FILE FLAG
  2337. SA7 A2+ SET INPUT FILE
  2338.  
  2339. * SET *MAXIMUM CM FL FOR ONE JOB* IN TEMPLATE DESCRIPTION.
  2340.  
  2341. PRS13 SX1 MXFL MAXIMUM CM FL FOR ONE JOB
  2342. RJ COD CONVERT TO DISPLAY CODE
  2343. LX6 -12
  2344. MX0 12
  2345. SA1 ASFM GET TEMPLATE WORDS
  2346. SA2 A1+B1
  2347. BX7 X0*X6 SET SET LAST PART OF VALUE
  2348. BX2 -X0*X2 SET FIRST PART OF VALUE
  2349. LX0 12
  2350. BX6 X0*X6
  2351. BX1 -X0*X1
  2352. BX6 X6+X1
  2353. BX7 X7+X2
  2354. SA6 A1 SET VALUE IN TEMPLATE
  2355. SA7 A2
  2356. RJ GSD GET SYSTEM DATA
  2357. EQ PRSX RETURN
  2358.  
  2359.  
  2360. PRSA CON 0 ARGUMENT COUNTER
  2361. PRSB CON 0 OUTPUT FILE ARGUMENT VALUE
  2362. PRSC CON 0LD LIST OPTION ARGUMENT VALUE
  2363. PRSD CON 0 TERMINATOR ENCOUNTERED FLAG
  2364. PRSE CON 0 SYSTEM ORIGIN FLAG
  2365. PRSF CON 0 INPUT FILE ARGUMENT VALUE
  2366. SPACE 4,10
  2367. ** ARGUMENT EQUIVALENCE TABLE.
  2368. *
  2369. *T 12/ OP,12/ ,18/ AV,18/ OT
  2370. *
  2371. * OP = DISPLAY CODE ARGUMENT OPTION VALUE.
  2372. * AV = ADDRESS OF ARGUMENT VALUE.
  2373. * OT = FWA OPTION TABLE, IF ARGUMENT HAS DISCRETE OPTIONS.
  2374. * = 0, OTHERWISE.
  2375.  
  2376.  
  2377. TARG BSS 0
  2378. VFD 12/0LL,12/0,18/PRSB,18/0 LOCAL FILE ARGUMENT
  2379. VFD 12/0LLO,12/0,18/PRSC,18/TLOP LIST OPTION ARGUMENT
  2380. VFD 12/0LI,12/0,18/PRSF,18/0 INPUT FILE ARGUMENT
  2381. TARGL EQU *-TARG NUMBER OF VALID ARGUMENTS
  2382. CON 0 END OF TABLE
  2383. SPACE 4,10
  2384. ** TLOP - TABLE OF LIST OPTIONS.
  2385. *
  2386. *T 42/ OPTION,18/
  2387. *
  2388. * OPTION = DISPLAY CODE OPTION VALUE.
  2389.  
  2390.  
  2391. TLOP BSS 0
  2392. VFD 42/0LD,18/0 SELECT *L* DISPLAY/DUMMY LOCATION
  2393. VFD 42/0LL,18/0 SELECT LINE PRINTER
  2394. CON 0 END OF TABLE
  2395. CVO SPACE 4,10
  2396. ** CVO - CHECK FOR VALID OPTION.
  2397. *
  2398. * ENTRY (X4) = FWA OF LIST OPTION TABLE.
  2399. * (X6) = LIST OPTION ARGUMENT.
  2400. *
  2401. * EXIT (X3) = 0, IF VALID LIST OPTION FOUND.
  2402. * = NOT 0, IF VALID LIST OPTION NOT FOUND.
  2403. *
  2404. * USES X - 2, 3.
  2405. * A - 2.
  2406.  
  2407.  
  2408. CVO SUBR ENTRY/EXIT
  2409. SA2 X4+ FWA OF LIST OPTION TABLE.
  2410. CVO1 ZR X2,CVOX IF END OF TABLE, OPTION NOT FOUND
  2411. BX3 X6-X2
  2412. ZR X3,CVOX IF LIST OPTION FOUND
  2413. SA2 A2+1
  2414. EQ CVO1 PROCESS NEXT ENTRY IN TABLE
  2415. ERR SPACE 4,10
  2416. ** ERR - ABORT PROGRAM WITH ERROR MESSAGE.
  2417. *
  2418. * *ERR* ISSUES AN ERROR MESSAGE TO THE USER AND SYSTEM
  2419. * DAYFILE AND THEN ABORTS THE UTILITY.
  2420. *
  2421. * ENTRY (X1) = FWA OF ERROR MESSAGE.
  2422. * (X6) = KEYWORD VALUE FOR ERROR MESSAGE, IF THE
  2423. * MESSAGE IS *ERAE*.
  2424. * (X6) = KEYWORD VALUE FOR ERROR MESSAGE.
  2425. *
  2426. * EXIT MESSAGE ISSUED IN SYSTEM AND USER DAYFILE.
  2427. *
  2428. * USES X - 1, 2.
  2429. * B - 2, 5.
  2430. *
  2431. * CALLS AFT, SNM.
  2432. *
  2433. * MACROS ABORT, MESSAGE.
  2434.  
  2435.  
  2436. ERR BSS 0 ENTRY
  2437. SB5 X1+ SET FWA OF MESSAGE
  2438. SX2 X1-ERAE
  2439. NZ X2,ERR1 IF NOT * ARGUMENT ERROR...* MESSAGE
  2440. BX1 X6
  2441. RJ AFT APPEND FLOATING TERMINATOR
  2442. SB2 1RX SET SEARCH CHARACTER
  2443. BX1 X6 SET PARAMETER IN ERROR
  2444. RJ SNM SET PARAMETER IN MESSAGE
  2445. ERR1 MESSAGE B5,0,R ISSUE MESSAGE TO USER AND SYSTEM DAYFILE
  2446. ABORT ABORT UTILITY
  2447. SPACE 4,10
  2448. SDSPE EQU * END OF PROGRAM
  2449. .RFL= MAX SDSPE,LBUFE,OBUFE
  2450. RFL= EQU .RFL=
  2451. SPACE 4,10
  2452. END
cdc/nos2.source/opl871/sdsplay.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator