User Tools

Site Tools


cdc:nos2.source:nam5871:macrel

MACREL

Table Of Contents

  • [00007] MACREL - SYSTEM MACRO INTERFACE ROUTINES.
  • [00010] SYSTEM MACRO INTERFACE ROUTINES.
  • [00030] MACREL - SYSTEM MACRO INTERFACE ROUTINES.
  • [00074] MACREL. - UNDEFINED MACRO PROCESSOR.
  • [00097] MACREL= - ILLEGAL ARGUMENT PROCESSOR.
  • [00132] BKSP - BACKSPACE 1 LOGICAL RECORD.
  • [00155] BKSPRU - BACKSPACE PHYSICAL RECORDS.
  • [00182] CHECKF - CHECK FILE STATUS FOR OWNCODE EXECUTION.
  • [00208] CLOSE - CLOSE FILE.
  • [00276] CLOSER - CLOSE REEL.
  • [00335] EVICT - RELEASE FILE SPACE.
  • [00358] OPEN - OPEN FILE FOR PROCESSING.
  • [00468] POSMF - POSITION MULTI-FILE SET.
  • [00492] READ - READ FILE TO CIO BUFFER.
  • [00515] READCW - READ FILE NON-STOP WITH CONTROL WORDS.
  • [00547] READEI - READ FILE TO END OF INFORMATION.
  • [00571] READLS - READ FILE WITH LIST.
  • [00594] READN - READ FILE NON-STOP FOR TAPES.
  • [00618] READNS - READ FILE NON-STOP. (READ TO EOF)
  • [00642] READSKP - READ FILE AND SKIP.
  • [00673] RETURN - RETURN FILE TO SYSTEM.
  • [00703] REWIND - REWIND FILE.
  • [00726] REWRITE - REWRITE DATA FROM CIO BUFFER.
  • [00750] REWRITF - REWRITE END OF FILE.
  • [00776] REWRITR - REWRITE END OF RECORD.
  • [00806] RPHR - READ PHYSICAL RECORD TO CIO BUFFER.
  • [00831] RPHRLS - READ PRUS WITH LIST.
  • [00861] SKIPB - SKIP RECORDS BACKWARDS.
  • [00892] SKIPEI - SKIP TO END OF INFORMATION.
  • [00916] SKIPF - SKIP RECORDS FORWARD.
  • [00943] SKIPFB - SKIP FILES BACKWARD.
  • [00970] SKIPFF - SKIP FILES FORWARD.
  • [00997] UNLOAD - UNLOAD FILE.
  • [01020] WPHR - WRITE 1 PHYSICAL RECORD FROM CIO BUFFER.
  • [01044] WRITE - WRITE DATA FROM CIO BUFFER.
  • [01067] WRITECW - WRITE FILE NON-STOP WITH CONTROL WORDS.
  • [01090] WRITEF - WRITE END OF FILE.
  • [01113] WRITEN - WRITE FILE NON-STOP FOR TAPES.
  • [01137] WRITER - WRITE END OF RECORD.
  • [01162] READC - READ CODED LINE IN *C* FORMAT.
  • [01208] WRITEC - WRITE CODED LINE IN *C* FORMAT.
  • [01236] READH - READ CODED LINE IN *H* FORMAT.
  • [01283] WRITEH - WRITE CODED LINE IN *H* FORMAT.
  • [01315] READO - READ ONE WORD.
  • [01358] WRITEO - WRITE ONE WORD.
  • [01386] READS - READ CODED LINE TO CHARACTER BUFFER.
  • [01435] WRITES - WRITE CODED LINE FROM CHARACTER BUFFER.
  • [01468] READW - READ DATA TO WORKING BUFFER.
  • [01511] WRITEW - WRITE DATA FROM WORKING BUFFER.
  • [01543] ABORT - ABORT JOB / ENDRUN - END CENTRAL PROGRAM.
  • [01582] ATTACH - ATTACH A PERMANENT FILE.
  • [01671] CHECKPT - TAKE CHECKPOINT DUMP.
  • [01714] CLOCK - OBTAIN TIME OF DAY.
  • [01745] DATE - OBTAIN DATE.
  • [01774] DEFINE - DEFINE A NOS PERMANENT FILE.
  • [01940] IOTIME - OBTAIN ACCUMULATED IO TIME.
  • [01979] JDATE - OBTAIN JULIAN DATE.
  • [02028] LOADREQ - CALL SYSTEM LOADER VIA PPU.
  • [02053] MEMORY - REQUEST MEMORY.
  • [02131] MESSAGE - SEND MESSAGE.
  • [02179] MOVE - MOVE BLOCK OF CENTRAL MEMORY WORDS.
  • [02272] PURGE - PURGE A PERMANENT FILE.
  • [02342] RECALL - PLACE PROGRAM IN RECALL STATUS.
  • [02374] REQUEST - REQUEST ASSIGNMENT OF EQUIPMENT TO FILE.
  • [02399] RTIME - OBTAIN REAL TIME CLOCK READING.
  • [02437] SETUI - SET USER INDEX
  • [02521] SYSTEM - REQUEST SYSTEM FUNCTION.
  • [02550] TIME - OBTAIN ACCUMULATED CPU TIME.
  • [02585] TRANSF - TRANSFER TO DEPENDENT JOBS.
  • [02653] XREL - COMMON DECK INTERFACE ROUTINES.
  • [02657] COMMON DECK INTERFACE ROUTINES.
  • [02676] XREL. - UNDEFINED COMMON DECK PROCESSOR.
  • [02699] XREL= - ILLEGAL ARGUMENT PROCESSOR.
  • [02735] XCDD - CONVERT INTEGER TO DECIMAL DISPLAY CODE.
  • [02760] XCFD - CONVERT INTEGER TO F10.3 FORMAT.
  • [02785] XCHD - CONVERT HEXIDECIMAL INTEGER TO DISPLAY CODE.
  • [02837] XCOD - CONVERT INTEGER TO OCTAL DISPLAY CODE.
  • [02862] XSFN - SPACE FILL NAME.
  • [02888] XSFW - SPACE FILL WORD.
  • [02914] XWHD - CONVERT HEXIDECIMAL WORD TO DISPLAY CODE.
  • [02976] XWOD - CONVERT WORD TO OCTAL DISPLAY CODE.
  • [03010] DFC - DECREMENT FAMILY COUNT OF USERS.
  • [03045] APPLS - GET LOC AND SIZE OF NETWORK APPLICATION TABLE.
  • [03086] JROUTE - ROUTE JOB FILE TO INPUT QUEUE.
  • [03112] GETFIL - GET A PERMANENT FILE.
  • [03163] GLIDC - GET LID CONFIGURATION .
  • [03196] GPIDA - GET PID ATTRIBUTES .
  • [03250] SPIDA - SET PID ATTRIBUTES .
  • [03281] VALIDU - VALIDATE USER FOR NVF.
  • [03316] WRITEWC - WRITE DATA FROM WORKING BUFFER.
  • [03354] XSST - SHELL SORT TABLE.

Source Code

MACREL.txt
  1. *DECK MACREL
  2. IDENT MACREL
  3. ENTRY MACREL.
  4. ENTRY MACREL=
  5. B1=1
  6. LIST F
  7. TITLE MACREL - SYSTEM MACRO INTERFACE ROUTINES.
  8. COMMENT SYSTEM MACRO INTERFACE ROUTINES.
  9. MACREL SPACE 4,10
  10. *** MACREL - SYSTEM MACRO INTERFACE ROUTINES.
  11. *
  12. * T. R. RAMSEY. 76/08/08.
  13. * M. D. PICKARD 77/03/14
  14. * M. E. VATCHER 80/01/15
  15. *
  16. * COPYRIGHT CONTROL DATA SYSTEMS INC. 1994.
  17. MACREL SPACE 4,10
  18. *** MACREL IS A COLLECTION OF RELOCATABLE MODULES THAT
  19. * PROVIDE THE INTERFACE BETWEEN HIGHER LEVEL LANGUAGE MODULES
  20. * AND THE SYSTEM MACROS.
  21. *
  22. * FORTRAN CALLING SEQUENCES ARE SHOWN IN EACH MODULE ALONG WITH
  23. * OTHER PERTINENT INFORMATION, E.G., ENTRY, EXIT
  24. *
  25. * ALSO SYMPL CALLING SEQUENCES ARE SHOWN IN EACH MODULE
  26. * ALONG WITH THE APPROPRIATE SYMPL DATA TYPES NEEDED
  27. * FOR ENTRY/EXIT. THE SYMPL INTERFACES TO CPU CONVERSION
  28. * ROUTINES CDD,COD,WOD,CHD,SFN,SFW AND CFD ARE PROVIDED FOR
  29. * NETWORKS.
  30. TITLE MACREL - SYSTEM MACRO INTERFACE ROUTINES.
  31. MACREL SPACE 4,10
  32. ** MACREL MODULES TRANSLATE PARAMETERS IN HIGHER LEVEL
  33. * LANGUAGE CALLING SEQUENCES INTO MACRO CALLING SEQUENCES.
  34. * FORTRAN CALLING SEQUENCES MENTIONED ARE EQUIVALENT TO
  35. * COBOL (ENTER USING), SYMPL, ETC.
  36. *
  37. * ENTRY FORTRAN *CALL* AND FUNCTION REFERENCE CALLING
  38. * SEQUENCES USE THE ACTUAL PARAMETER LIST, CALL BY
  39. * REFERENCE CALLING SEQUENCE WHERE -
  40. * (A1) = FWA OF APLIST
  41. * ((A1)) _ FIRST PARAMETER
  42. * ((A1+1)) _ SECOND PARAMETER
  43. * . .
  44. * . .
  45. * . .
  46. * ((A1+N)) _ N-TH PARAMETER
  47. * ((A1+N+1)) = 0 (ZERO) (NOMINALLY) (UN-NEEDED HEREIN)
  48. * (X1) _ FIRST PARAMETER
  49. *
  50. * EXIT FOR *CALL*, TYPICALLY NONE, BUT SEE INDIVIDUAL MODULES.
  51. * FOR FUNCTION REFERENCES,
  52. * (X6) = FUNCTION RESULT
  53. * (X7) = SECOND WORD OF TWO WORD RESULT, E.G., COMPLEX
  54. *
  55. * USES PRESERVES A0
  56. *
  57. * CALLS MACREL. IF MACRO UNDEFINED OR NOT CODED YET
  58. * MACREL= IF ARGUMENT ERROR
  59. *
  60. * NEEDS EACH MODULE CONTAINS A CALL TO A MACRO WHOSE NAME IS
  61. * THE SAME AS THE MODULE (EXCEPT WHERE NOTED). THESE
  62. * MACROS ARE DEFINED IN SYSTEXT (NOS) AND CPUTEXT
  63. * (NOSBE ) AND ALSO IN JETTEXT. JETTEXT IS THE
  64. * PREFERRED SYSTEM TEXT.
  65. *
  66. * NOTE B1 IS SET TO ONE UPON ENTRY TO EACH MODULE
  67. *
  68. * OTHER MACREL IS A COLLECTION OF RELOCATABLE MODULES COMBINED
  69. * INTO ONE *UPDATE* DECK ENTITY NAMED MACREL. THE
  70. * MODULES ARE ARRANGED IN THE SAME ORDER AS THE MACROS
  71. * IN JETTEXT.
  72. MACREL SPACE 4,10
  73. MACREL. SPACE 4,10
  74. ** MACREL. - UNDEFINED MACRO PROCESSOR.
  75. *
  76. * ENTRY (X1) = MACRO NAME IN 0L FORMAT
  77. *
  78. * EXIT DOES NOT EXIT
  79. *
  80. * USES A6 B1 X6
  81. *
  82. * CALLS NONE
  83. *
  84. * NEEDS MACROS ABORT, MESSAGE
  85.  
  86.  
  87. MACREL. SUBR = ENTRY/EXIT
  88. SB1 1
  89. BX6 X1
  90. SA6 MACA+3
  91. MESSAGE MACA,LOCAL,RCL
  92. ABORT
  93. JP MACREL.X
  94.  
  95. MACA DATA C* MACREL - UNDEFINED MACRO - FILL-IN.*
  96. MACREL= SPACE 4,10
  97. ** MACREL= - ILLEGAL ARGUMENT PROCESSOR.
  98. *
  99. * ENTRY (X1) = MACRO NAME IN 0L FORMAT
  100. * (X2) = ILLEGAL ARGUMENT
  101. *
  102. * EXIT DOES NOT EXIT
  103. *
  104. * USES A6 B1 X0,X1,X2,X6
  105. *
  106. * CALLS SFW
  107. *
  108. * NEEDS MACROS ABORT, MESSAGE
  109.  
  110.  
  111. MACREL= SUBR = ENTRY/EXIT
  112. SB1 1
  113. BX0 X2 SAVE SECOND ARGUMENT
  114. LX1 -6
  115. SX2 1R-
  116. BX1 X1+X2
  117. RJ =XZTB=
  118. BX1 X0
  119. SA6 MACB
  120. RJ =XZTB=
  121. SA6 MACB+3
  122. MESSAGE MACB,LOCAL,RCL
  123. ABORT
  124. JP MACREL=X
  125.  
  126. MACB DATA C* FILL-IN - ILLEGAL ARGUMENT >FILL-IT-IN<.*
  127.  
  128. END
  129. IDENT BKSP
  130. ENTRY BKSP
  131. B1=1
  132. TITLE BKSP - BACKSPACE 1 LOGICAL RECORD.
  133. COMMENT BACKSPACE 1 LOGICAL RECORD.
  134. BKSP SPACE 4,10
  135. *** BKSP - BACKSPACE 1 LOGICAL RECORD.
  136. *
  137. * CALL BKSP (FILE)
  138. *
  139. * ENTRY (FILE) = FIRST WORD OF THE FET
  140. *
  141. * BKSP(FILE); ( SYMPL CALL )
  142. *
  143. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  144.  
  145.  
  146. BKSP SUBR =
  147. SB1 1
  148. BKSP X1
  149. JP BKSPX
  150.  
  151. END
  152. IDENT BKSPRU
  153. ENTRY BKSPRU
  154. B1=1
  155. TITLE BKSPRU - BACKSPACE PHYSICAL RECORDS.
  156. COMMENT BACKSPACE PHYSICAL RECORDS.
  157. BKSPRU SPACE 4,10
  158. *** BKSPRU - BACKSPACE PHYSICAL RECORDS.
  159. *
  160. * CALL BKSPRU (FILE,N)
  161. *
  162. * ENTRY (FILE) = FIRST WORD OF THE FET
  163. * (N) = NUMBER OF RECORDS
  164. *
  165. * BKSPRU(FILE,N); ( SYMPL CALL )
  166. *
  167. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  168. * N, AN ITEM CONTAINING THE NUMBER OF PRU"S TO BACKSPACE
  169.  
  170.  
  171. BKSPRU SUBR =
  172. SB1 1
  173. SA3 A1+B1 ADDRESS OF N
  174. SA3 X3 N
  175. BKSPRU X1,X3
  176. JP BKSPRUX
  177.  
  178. END
  179. IDENT CHECKF
  180. ENTRY CHECKF
  181. B1=1
  182. TITLE CHECKF - CHECK FILE STATUS FOR OWNCODE EXECUTION.
  183. COMMENT CHECK FILE STATUS FOR OWNCODE EXECUTION.
  184. IPARAMS
  185. CHECKF SPACE 4,10
  186. *** CHECKF - CHECK FILE STATUS FOR OWNCODE EXECUTION.
  187. *
  188. * CALL CHECKF (FILE)
  189. *
  190. * ENTRY (FILE) = FIRST WORD OF THE FET
  191. *
  192. * CHECKF(FILE); ( SYMPL CALL )
  193. *
  194. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  195.  
  196.  
  197. CHECKF SUBR =
  198. SB1 1
  199. SCPNOS IFC EQ,*"OS.NAME"*NOSBE *
  200. CHECKF X1
  201. SCPNOS ENDIF
  202. JP CHECKFX
  203.  
  204. END
  205. IDENT CLOSE
  206. ENTRY CLOSE
  207. B1=1
  208. TITLE CLOSE - CLOSE FILE.
  209. COMMENT CLOSE FILE.
  210. CLOSE SPACE 4,10
  211. *** CLOSE - CLOSE FILE.
  212. *
  213. * CALL CLOSE (FILE,OPTION)
  214. *
  215. * ENTRY (FILE) = FIRST WORD OF THE FET
  216. * (OPTION) = 0, CLOSE WITH REWIND
  217. * = 2HNR, CLOSE WITHOUT REWIND
  218. * = 6HRETURN, CLOSE WITH REWIND, RETURN
  219. * = 6HREWIND, CLOSE WITH REWIND
  220. * = 6HUNLOAD, CLOSE WITH REWIND, UNLOAD
  221. *
  222. *
  223. * CLOSE(FILE,OPTION); ( SYMPL CALL )
  224. *
  225. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  226. * OPTION, AN ITEM CONTAINING ONE OF THE FOLLOWING
  227. * CHARACTER STRINGS, LEFT JUSTIFIED, BLANK
  228. * FILL, OR A BINARY 0.
  229. * NR ( NO REWIND )
  230. * RETURN
  231. * REWIND ( SAME AS 0 )
  232. * UNLOAD
  233. *
  234. * EXIT TO ARGUMENT-ERROR PROCESSOR IF OPTION IS UNRECOGNIZED
  235. * ELSE NONE
  236.  
  237.  
  238. CLOSE SUBR =
  239. SB1 1
  240. SA2 A1+B1 ADDRESS OF OPTION
  241. SA2 X2 OPTION
  242. ZR,X2 CLO1
  243. SA3 =0HNR
  244. BX4 X2-X3
  245. ZR,X4 CLO2 IF NR
  246. SA3 =0HRETURN
  247. BX4 X2-X3
  248. ZR,X4 CLO6 IF RETURN
  249. SA3 =0HREWIND
  250. BX4 X2-X3
  251. ZR,X4 CLO1 IF REWIND
  252. SA3 =0HUNLOAD
  253. BX4 X2-X3
  254. ZR,X4 CLO8 IF UNLOAD
  255. SA1 =0LCLOSE
  256. RJ =XMACREL= DIAGNOSE ILLEGAL ARGUMENT
  257. JP CLOSEX
  258.  
  259. CLO1 CLOSE X1
  260. JP CLOSEX
  261.  
  262. CLO2 CLOSE X1,NR
  263. JP CLOSEX
  264.  
  265. CLO6 CLOSE X1,RETURN
  266. JP CLOSEX
  267.  
  268.  
  269. CLO8 CLOSE X1,UNLOAD
  270. JP CLOSEX
  271.  
  272. END
  273. IDENT CLOSER
  274. ENTRY CLOSER
  275. B1=1
  276. TITLE CLOSER - CLOSE REEL.
  277. COMMENT CLOSE REEL.
  278. CLOSER SPACE 4,10
  279. *** CLOSER - CLOSER REEL.
  280. * FOR NOSBE, DEVICE SET FILES ALSO.
  281. *
  282. * CALL CLOSER (FILE,OPTION)
  283. *
  284. * ENTRY (FILE) = FIRST WORD OF THE FET
  285. * (OPTION) = 0, CLOSE WITH REWIND
  286. * = 2HNR, CLOSE WITHOUT REWIND
  287. * = 6HREWIND, CLOSE WITH REWIND
  288. * = 6HUNLOAD, CLOSE WITH REWIND, UNLOAD
  289. *
  290. * CLOSER(FILE,OPTION); ( SYMPL CALL )
  291. *
  292. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  293. * OPTION, AN ITEM THE CONTAINS ONE OF THE FOLLOWING
  294. * CHARACTER STRINGS, LEFT JUSTIFIED, BLANK
  295. * FILL, OR A BINARY 0
  296. * NR ( NO REWIND )
  297. * REWIND ( SAME AS 0 )
  298. * UNLOAD
  299. *
  300. * EXIT TO ARGUMENT-ERROR PROCESSOR IF OPTION IS UNRECOGNIZED
  301. * ELSE NONE
  302.  
  303.  
  304. CLOSER SUBR =
  305. SB1 1
  306. SA2 A1+B1 ADDRESS OF OPTION
  307. SA2 X2 OPTION
  308. ZR,X2 CLO1
  309. SA3 =0HNR
  310. BX4 X2-X3
  311. ZR,X4 CLO2 IF NR
  312. SA3 =0HREWIND
  313. BX4 X2-X3
  314. ZR,X4 CLO1 IF REWIND
  315. SA3 =0HUNLOAD
  316. BX4 X2-X3
  317. ZR,X4 CLO4 IF UNLOAD
  318. SA1 =0LCLOSER
  319. RJ =XMACREL= DIAGNOSE ILLEGAL ARGUMENT
  320. JP CLOSERX
  321.  
  322. CLO1 CLOSER X1
  323. JP CLOSERX
  324.  
  325. CLO2 CLOSER X1,NR
  326. JP CLOSERX
  327.  
  328. CLO4 CLOSER X1,UNLOAD
  329. JP CLOSERX
  330.  
  331. END
  332. IDENT EVICT
  333. ENTRY EVICT
  334. B1=1
  335. TITLE EVICT - RELEASE FILE SPACE.
  336. COMMENT RELEASE FILE SPACE.
  337. EVICT SPACE 4,10
  338. *** EVICT - RELEASE FILE SPACE.
  339. *
  340. * CALL EVICT (FILE)
  341. *
  342. * ENTRY (FILE) = FIRST WORD OF THE FET
  343. *
  344. * EVICT(FILE); (SYMPL CALL )
  345. *
  346. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  347.  
  348.  
  349. EVICT SUBR =
  350. SB1 1
  351. EVICT X1
  352. JP EVICTX
  353.  
  354. END
  355. IDENT OPEN
  356. ENTRY OPEN
  357. B1=1
  358. TITLE OPEN - OPEN FILE FOR PROCESSING.
  359. COMMENT OPEN FILE FOR PROCESSING.
  360. OPEN SPACE 4,10
  361. *** OPEN - OPEN FILE FOR PROCESSING.
  362. *
  363. * CALL OPEN (FILE,OPTION)
  364. *
  365. * ENTRY (FILE) = FIRST WORD OF THE FET
  366. * (OPTION) = 0, SAME AS ALTER
  367. * = 5HALTER,
  368. * = 7HALTERNR,
  369. * = 2HNR,
  370. * = 4HREAD,
  371. * = 6HREADNR,
  372. * = 4HREEL,
  373. * = 6HREELNR,
  374. * = 5HWRITE,
  375. * = 7HWRITENR,
  376. *
  377. *
  378. * OPEN(FILE,OPTION);
  379. *
  380. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  381. * OPTION, AN ITEM CONTAINING ONE OF THE FOLLOWING
  382. * CHARACTER.STRINGS, LEFT JUSTIFIED, BLANK
  383. * FILL, ON A BINARY 0
  384. * ALTER
  385. * ALTERNR ( ALTER, NO REWIND )
  386. * NR ( NO REWIND )
  387. * READ
  388. * READNR ( READ, NO REWIND )
  389. * REEL
  390. * REELNR ( REEL, NO REWIND )
  391. * WRITE
  392. * WRITENR ( WRITE, NO REWIND )
  393. *
  394. * EXIT TO ARGUMENT-ERROR PROCESSOR IF OPTION IS UNRECOGNIZED
  395. * ELSE NONE
  396.  
  397.  
  398. OPEN SUBR =
  399. SB1 1
  400. SA2 A1+B1 ADDRESS OF OPTION
  401. SA2 X2 OPTION
  402. ZR,X2 OPE1
  403. SA3 =0HALTER
  404. SA4 =0HALTERNR
  405. SA5 =0HNR
  406. BX3 X2-X3
  407. BX4 X2-X4
  408. ZR,X3 OPE2 IF ALTER
  409. BX5 X2-X5
  410. ZR,X4 OPE3 IF ALTERNR
  411. ZR,X5 OPE4 IF NR
  412. SA3 =0HREAD
  413. SA4 =0HREADNR
  414. SA5 =0HREEL
  415. BX3 X2-X3
  416. BX4 X2-X4
  417. ZR,X3 OPE5 IF READ
  418. BX5 X2-X5
  419. ZR,X4 OPE6 IF READNR
  420. ZR,X5 OPE7 IF REEL
  421. SA3 =0HREELNR
  422. SA4 =0HWRITE
  423. SA5 =0HWRITENR
  424. BX3 X2-X3
  425. BX4 X2-X4
  426. ZR,X3 OPE8 IF REELNR
  427. BX5 X2-X5
  428. ZR,X4 OPE9 IF WRITE
  429. ZR,X5 OPE10 IF WRITENR
  430. SA1 =0LOPEN
  431. RJ =XMACREL= DIAGNOSE ILLEGAL ARGUMENT
  432. JP OPENX
  433.  
  434. OPE1 OPEN X1
  435. JP OPENX
  436.  
  437. OPE2 OPEN X1,ALTER
  438. JP OPENX
  439.  
  440. OPE3 OPEN X1,ALTERNR
  441. JP OPENX
  442.  
  443. OPE4 OPEN X1,NR
  444. JP OPENX
  445.  
  446. OPE5 OPEN X1,READ
  447. JP OPENX
  448.  
  449. OPE6 OPEN X1,READNR
  450. JP OPENX
  451.  
  452. OPE7 OPEN X1,REEL
  453. JP OPENX
  454.  
  455. OPE8 OPEN X1,REELNR
  456. JP OPENX
  457.  
  458. OPE9 OPEN X1,WRITE
  459. JP OPENX
  460.  
  461. OPE10 OPEN X1,WRITENR
  462. JP OPENX
  463.  
  464. END
  465. IDENT POSMF
  466. ENTRY POSMF
  467. B1=1
  468. TITLE POSMF - POSITION MULTI-FILE SET.
  469. COMMENT POSITION MULTI-FILE SET.
  470. POSMF SPACE 4,10
  471. *** POSMF - POSITION MULTI-FILE SET.
  472. * LABELED MULTI-FILE MAGNETIC TAPE ONLY.
  473. *
  474. * CALL POSMF (MFILNAM)
  475. *
  476. * ENTRY (MFILNAM) = FIRST WORD OF THE FET
  477. *
  478. * POSMF(MFILNAM); ( SYMPL CALL )
  479. *
  480. * ENTRY - MFILNAM, AN ARRAY THAT CONTAINS THE FET
  481.  
  482.  
  483. POSMF SUBR =
  484. SB1 1
  485. POSMF X1
  486. JP POSMFX
  487.  
  488. END
  489. IDENT READ
  490. ENTRY READ
  491. B1=1
  492. TITLE READ - READ FILE TO CIO BUFFER.
  493. COMMENT READ FILE TO CIO BUFFER.
  494. READ SPACE 4,10
  495. *** READ - READ FILE TO CIO BUFFER.
  496. *
  497. * CALL READ (FILE)
  498. *
  499. * ENTRY (FILE) = FIRST WORD OF THE FET
  500. *
  501. * READ(FILE); ( SYMPL CALL )
  502. *
  503. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  504.  
  505.  
  506. READ SUBR =
  507. SB1 1
  508. READ X1
  509. JP READX
  510.  
  511. END
  512. IDENT READCW
  513. ENTRY READCW
  514. B1=1
  515. TITLE READCW - READ FILE NON-STOP WITH CONTROL WORDS.
  516. COMMENT READ FILE NON-STOP WITH CONTROL WORDS.
  517. READCW SPACE 4,10
  518. *** READCW - READ FILE NON-STOP WITH CONTROL WORDS.
  519. *
  520. * CALL READCW (FILE,LEVEL)
  521. *
  522. * ENTRY (FILE) = FIRST WORD OF THE FET
  523. * (LEVEL) = RECORD LEVEL
  524. * = 0, STOP AT END OF INFORMATION
  525. * = 17B, STOP AT END OF FILE
  526. *
  527. * READCW(FILE,LEVEL); ( SYMPL CALL )
  528. *
  529. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  530. * LEVEL, AN ITEM CONTAINING ONE OF THE FOLLOWING
  531. * VALUES
  532. * 0, STOP AT EOI
  533. * 17B, STOP AT EOF
  534.  
  535.  
  536. READCW SUBR =
  537. SB1 1
  538. SA3 A1+B1 ADDRESS OF LEVEL
  539. SA3 X3 LEVEL
  540. READCW X1,X3
  541. JP READCWX
  542.  
  543. END
  544. IDENT READEI
  545. ENTRY READEI
  546. B1=1
  547. TITLE READEI - READ FILE TO END OF INFORMATION.
  548. COMMENT READ FILE TO END OF INFORMATION.
  549. READEI SPACE 4,10
  550. *** READEI - READ FILE TO END OF INFORMATION.
  551. * FOR NOSBE, MASS STORAGE FILES ONLY.
  552. *
  553. * CALL READEI (FILE)
  554. *
  555. * ENTRY (FILE) = FIRST WORD OF THE FET
  556. *
  557. * READEI(FILE); ( SYMPL CALL )
  558. *
  559. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  560.  
  561.  
  562. READEI SUBR =
  563. SB1 1
  564. READEI X1
  565. JP READEIX
  566.  
  567. END
  568. IDENT READLS
  569. ENTRY READLS
  570. B1=1
  571. TITLE READLS - READ FILE WITH LIST.
  572. COMMENT READ FILE WITH LIST.
  573. READLS SPACE 4,10
  574. *** READLS - READ FILE WITH LIST.
  575. * MASS STORAGE FILES ONLY.
  576. *
  577. * CALL READLS (FILE)
  578. *
  579. * ENTRY (FILE) = FIRST WORD OF THE FET
  580. *
  581. * READS(FILE); ( SYMPL CALL )
  582. *
  583. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  584.  
  585.  
  586. READLS SUBR =
  587. SB1 1
  588. READLS X1
  589. JP READLSX
  590.  
  591. END
  592. IDENT READN
  593. ENTRY READN
  594. TITLE READN - READ FILE NON-STOP FOR TAPES.
  595. COMMENT READ FILE NON-STOP FOR TAPES.
  596. READN SPACE 4,10
  597. *** READN - READ FILE NON-STOP FOR TAPES.
  598. * MAGNETIC TAPES IN S OR L FORMAT ONLY.
  599. *
  600. * CALL READN (FILE)
  601. *
  602. * ENTRY (FILE) = FIRST WORD OF THE FET
  603. *
  604. * READN(FILE); ( SYMPL CALL )
  605. *
  606. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  607.  
  608.  
  609. READN SUBR =
  610. SB1 1
  611. READN X1
  612. JP READNX
  613.  
  614. END
  615. IDENT READNS
  616. ENTRY READNS
  617. B1=1
  618. TITLE READNS - READ FILE NON-STOP. (READ TO EOF)
  619. COMMENT READ FILE NON-STOP. (READ TO EOF)
  620. READNS SPACE 4,10
  621. *** READNS - READ FILE NON-STOP. (READ TO EOF)
  622. * FOR NOSBE, MASS STORAGE FILES ONLY.
  623. *
  624. * CALL READNS (FILE)
  625. *
  626. * ENTRY (FILE) = FIRST WORD OF THE FET
  627. *
  628. * READNS(FILE); ( SYMPL CALL )
  629. *
  630. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  631.  
  632.  
  633. READNS SUBR =
  634. SB1 1
  635. READNS X1
  636. JP READNSX
  637.  
  638. END
  639. IDENT READSKP
  640. ENTRY READSKP
  641. B1=1
  642. TITLE READSKP - READ FILE AND SKIP.
  643. COMMENT READ FILE AND SKIP.
  644. READSKP SPACE 4,10
  645. *** READSKP - READ FILE AND SKIP.
  646. *
  647. * CALL READSKP (FILE,LEVEL)
  648. *
  649. * ENTRY (FILE) = FIRST WORD OF THE FET
  650. * (LEVEL) = RECORD LEVEL
  651. * = 0, SKIP TO END OF RECORD
  652. * = 17B, SKIP TO END OF FILE
  653. *
  654. * READSKP(FILE,LEVEL); ( SYMPL CALL )
  655. *
  656. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  657. * LEVEL, AN ITEM THAT CONTAINS ONE OF THE FOLLOWING
  658. * VALUES
  659. * 0, SKIP TO EOR
  660. * 17B, SKIP TO EOF
  661.  
  662.  
  663. READSKP SUBR =
  664. SB1 1
  665. SA3 A1+B1 ADDRESS OF LEVEL
  666. SA3 X3 LEVEL
  667. READSKP X1,X3
  668. JP READSKPX
  669.  
  670. END
  671. IDENT RETURN
  672. B1=1
  673. TITLE RETURN - RETURN FILE TO SYSTEM.
  674. COMMENT RETURN FILE TO SYSTEM.
  675. RETURN SPACE 4,10
  676. *** RETURN - RETURN FILE TO SYSTEM.
  677. *
  678. * CALL RETURN (FILE)
  679. *
  680. * ENTRY (FILE) = FIRST WORD OF THE FET
  681. *
  682. * RETERN(FILE); ( SYMPL CALL )
  683. *
  684. * NOTE : RETURN IS A RESERVED WORD IN SYMPL, A CALL TO
  685. * THE RETURN MACRO IN SYMPL MUST SPELL RETURN WITH
  686. * AN "E" INSTEAD OF A "U".
  687. *
  688. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  689.  
  690.  
  691. ENTRY RETERN
  692. ENTRY RETURN
  693. RETERN BSS 0 ENTRY FOR SYMPL ROUTINES
  694. RETURN SUBR =
  695. SB1 1
  696. RETURN X1
  697. JP RETURNX
  698.  
  699. END
  700. IDENT REWIND
  701. ENTRY REWIND
  702. B1=1
  703. TITLE REWIND - REWIND FILE.
  704. COMMENT REWIND FILE.
  705. REWIND SPACE 4,10
  706. *** REWIND - REWIND FILE.
  707. *
  708. * CALL REWIND (FILE)
  709. *
  710. * ENTRY (FILE) = FIRST WORD OF THE FET
  711. *
  712. * REWIND(FILE); ( SYMPL CALL )
  713. *
  714. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  715.  
  716.  
  717. REWIND SUBR =
  718. SB1 1
  719. REWIND X1
  720. JP REWINDX
  721.  
  722. END
  723. IDENT REWRITE
  724. ENTRY REWRITE
  725. B1=1
  726. TITLE REWRITE - REWRITE DATA FROM CIO BUFFER.
  727. COMMENT REWRITE DATA FROM CIO BUFFER.
  728. REWRITE SPACE 4,10
  729. *** REWRITE - REWITE DATA FROM CIO BUFFER.
  730. * MASS STORAGE FILES ONLY.
  731. *
  732. * CALL REWRITE (FILE)
  733. *
  734. * ENTRY (FILE) = FIRST WORD OF THE FET
  735. *
  736. * REWRITE(FILE); ( SYMPL CALL )
  737. *
  738. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  739.  
  740.  
  741. REWRITE SUBR =
  742. SB1 1
  743. REWRITE X1
  744. JP REWRITEX
  745.  
  746. END
  747. IDENT REWRITF
  748. ENTRY REWRITF
  749. B1=1
  750. TITLE REWRITF - REWRITE END OF FILE.
  751. COMMENT REWRITE END OF FILE.
  752. REWRITF SPACE 4,10
  753. *** REWRITF - REWRITE END OF FILE.
  754. * MASS STORAGE FILES ONLY.
  755. *
  756. * CALL REWRITF (FILE)
  757. *
  758. * ENTRY (FILE) = FIRST WORD OF THE FET
  759. *
  760. * REWRITE(FILE); ( SYMPL CALL )
  761. *
  762. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  763. REWRITF SPACE 4,10
  764. ** NEEDS MACRO REWRITEF
  765.  
  766.  
  767. REWRITF SUBR =
  768. SB1 1
  769. REWRITEF X1
  770. JP REWRITFX
  771.  
  772. END
  773. IDENT REWRITR
  774. ENTRY REWRITR
  775. B1=1
  776. TITLE REWRITR - REWRITE END OF RECORD.
  777. COMMENT REWRITE END OF RECORD.
  778. REWRITR SPACE 4,10
  779. *** REWRITR - REWRITE END OF RECORD.
  780. * MASS STORAGE FILES ONLY.
  781. *
  782. * CALL REWRITR (FILE,LEVEL)
  783. *
  784. * ENTRY (FILE) = FIRST WORD OF THE FET
  785. * (LEVEL) = RECORD LEVEL
  786. *
  787. * REWRITR(FILE,LEVEL); ( SYMPL CALL )
  788. *
  789. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  790. * LEVEL, AN ITEM THAT CONTAINS ONE OF THE RECORD LEVEL
  791. REWRITR SPACE 4,10
  792. ** NEEDS MACRO REWRITER
  793.  
  794.  
  795. REWRITR SUBR =
  796. SB1 1
  797. SA3 A1+B1 ADDRESS OF LEVEL
  798. SA3 X3 LEVEL
  799. REWRITER X1,X3
  800. JP REWRITRX
  801.  
  802. END
  803. IDENT RPHR
  804. ENTRY RPHR
  805. B1=1
  806. TITLE RPHR - READ PHYSICAL RECORD TO CIO BUFFER.
  807. COMMENT READ PHYSICAL RECORD TO CIO BUFFER.
  808. RPHR SPACE 4,10
  809. *** RPHR - READ PHYSICAL RECORD TO CIO BUFFER.
  810. * FOR NOSBE, MAGNETIC TAPES IN NOSBE FORMAT ONLY.
  811. *
  812. * CALL RPHR (FILE)
  813. *
  814. * ENTRY (FILE) = FIRST WORD OF THE FET
  815. *
  816. * RPHR(FILE); ( SYMPL CALL )
  817. *
  818. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  819.  
  820.  
  821. RPHR SUBR =
  822. SB1 1
  823. RPHR X1
  824. JP RPHRX
  825.  
  826. END
  827. IDENT RPHRLS
  828. ENTRY RPHRLS
  829. B1=1
  830. LIST F
  831. TITLE RPHRLS - READ PRUS WITH LIST.
  832. COMMENT READ PRUS WITH LIST.
  833. IPARAMS
  834. RPHRLS SPACE 4,10
  835. *** RPHRLS - READ PRUS WITH LIST.
  836. * NOS ONLY. MASS STORAGE FILES ONLY.
  837. *
  838. * CALL RPHRLS (FILE)
  839. *
  840. * ENTRY (FILE) = FIRST WORD OF THE FET
  841. *
  842. * RPHRLS(FILE); ( SYMPL CALL )
  843. *
  844. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  845.  
  846.  
  847. RPHRLS SUBR =
  848. SB1 1
  849. KRNNOS IFC EQ,*"OS.NAME"*KRONOS*
  850. RPHRLS X1
  851. KRNNOS ELSE
  852. SA1 =0LRPHRLS
  853. RJ =XMACREL. DIAGNOSE UNDEFINED MACRO
  854. KRNNOS ENDIF
  855. JP RPHRLSX
  856.  
  857. END
  858. IDENT SKIPB
  859. ENTRY SKIPB
  860. B1=1
  861. TITLE SKIPB - SKIP RECORDS BACKWARDS.
  862. COMMENT SKIP RECORDS BACKWARDS.
  863. SKIPB SPACE 4,10
  864. *** SKIPB - SKIP RECORDS BACKWARDS.
  865. *
  866. * CALL SKIPB (FILE,N,LEVEL)
  867. *
  868. * ENTRY (FILE) = FIRST WORD OF THE FET
  869. * (N) = NUMBER OF RECORDS
  870. * (LEVEL) = RECORD LEVEL
  871. *
  872. * SKIPB(FILE,N,MEVEL); ( SYMPL CALL )
  873. *
  874. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  875. * N, AN ITEM CONTAINING THE NUMBER OF RECORDS TO SKIP
  876. * LEVEL, AN ITEM CONTAINING THE RECORD LEVEL
  877.  
  878.  
  879. SKIPB SUBR =
  880. SB1 1
  881. SA3 A1+B1 ADDRESS OF N
  882. SA4 A3+B1 ADDRESS OF LEVEL
  883. SA3 X3 N
  884. SA4 X4 LEVEL
  885. SKIPB X1,X3,X4
  886. JP SKIPBX
  887.  
  888. END
  889. IDENT SKIPEI
  890. ENTRY SKIPEI
  891. B1=1
  892. TITLE SKIPEI - SKIP TO END OF INFORMATION.
  893. COMMENT SKIP TO END OF INFORMATION.
  894. SKIPEI SPACE 4,10
  895. *** SKIPEI - SKIP TO END OF INFORMATION.
  896. * FOR NOSBE, MASS STORAGE FILES ONLY.
  897. *
  898. * CALL SKIPEI (FILE)
  899. *
  900. * ENTRY (FILE) = FIRST WORD OF THE FET
  901. *
  902. * SKIPEI(FILE); ( SYMPL CALL )
  903. *
  904. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  905.  
  906.  
  907. SKIPEI SUBR =
  908. SB1 1
  909. SKIPEI X1
  910. JP SKIPEIX
  911.  
  912. END
  913. IDENT SKIPF
  914. ENTRY SKIPF
  915. B1=1
  916. TITLE SKIPF - SKIP RECORDS FORWARD.
  917. COMMENT SKIP RECORDS FORWARD.
  918. SKIPF SPACE 4,10
  919. *** SKIPF - SKIP RECORDS FORWARD.
  920. *
  921. * CALL SKIPF (FILE,N)
  922. *
  923. * ENTRY (FILE) = FIRST WORD OF THE FET
  924. * (N) = NUMBER OF RECORDS
  925. *
  926. * SKIPF(FILE,N); ( SYMPL CALL )
  927. *
  928. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  929. * N, AN ITEM CONTAINING THE NUMBER OF RECORDS TO SKIP
  930.  
  931.  
  932. SKIPF SUBR =
  933. SB1 1
  934. SA3 A1+B1 ADDRESS OF N
  935. SA3 X3 N
  936. SKIPF X1,X3
  937. JP SKIPFX
  938.  
  939. END
  940. IDENT SKIPFB
  941. ENTRY SKIPFB
  942. B1=1
  943. TITLE SKIPFB - SKIP FILES BACKWARD.
  944. COMMENT SKIP FILES BACKWARD.
  945. SKIPFB SPACE 4,10
  946. *** SKIPFB - SKIP FILES BACKWARD.
  947. *
  948. * CALL SKIPFB (FILE,N)
  949. *
  950. * ENTRY (FILE) = FIRST WORD OF THE FET
  951. * (N) = NUMBER OF FILES
  952. *
  953. * SKIPFB(FILE,N); ( SYMPL CALL )
  954. *
  955. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  956. * N, AN ITEM CONTAING THE NUMBER OF FILES TO SKIP
  957.  
  958.  
  959. SKIPFB SUBR =
  960. SB1 1
  961. SA3 A1+B1 ADDRESS OF N
  962. SA3 X3 N
  963. SKIPFB X1,X3
  964. JP SKIPFBX
  965.  
  966. END
  967. IDENT SKIPFF
  968. ENTRY SKIPFF
  969. B1=1
  970. TITLE SKIPFF - SKIP FILES FORWARD.
  971. COMMENT SKIP FILES FORWARD.
  972. SKIPFF SPACE 4,10
  973. *** SKIPFF - SKIP FILES FORWARD.
  974. *
  975. * CALL SKIPFF (FILE,N)
  976. *
  977. * ENTRY (FILE) = FIRST WORD OF THE FET
  978. * (N) = NUMBER OF FILES
  979. *
  980. * SKIPFF(FILE,N); ( SYMPL CALL )
  981. *
  982. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  983. * N, AN ITEM THAT CONTAINS THE NUMBER OF FILES TO SKIP
  984.  
  985.  
  986. SKIPFF SUBR =
  987. SB1 1
  988. SA3 A1+B1 ADDRESS OF N
  989. SA3 X3 N
  990. SKIPFF X1,X3
  991. JP SKIPFFX
  992.  
  993. END
  994. IDENT UNLOAD
  995. ENTRY UNLOAD
  996. B1=1
  997. TITLE UNLOAD - UNLOAD FILE.
  998. COMMENT UNLOAD FILE.
  999. UNLOAD SPACE 4,10
  1000. *** UNLOAD - UNLOAD FILE.
  1001. *
  1002. * CALL UNLOAD (FILE)
  1003. *
  1004. * ENTRY (FILE) = FIRST WORD OF THE FET
  1005. *
  1006. * UMLOAD(FILE); ( SYMPL CALL )
  1007. *
  1008. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  1009.  
  1010.  
  1011. UNLOAD SUBR =
  1012. SB1 1
  1013. UNLOAD X1
  1014. JP UNLOADX
  1015.  
  1016. END
  1017. IDENT WPHR
  1018. ENTRY WPHR
  1019. B1=1
  1020. TITLE WPHR - WRITE 1 PHYSICAL RECORD FROM CIO BUFFER.
  1021. COMMENT WRITE 1 PHYSICAL RECORD FROM CIO BUFFER.
  1022. WPHR SPACE 4,10
  1023. *** WPHR - WRITE 1 PHYSICAL RECORD FROM CIO BUFFER.
  1024. * FOR NOSBE, MAGNETIC TAPES IN NOSBE FORMAT ONLY.
  1025. *
  1026. * CALL WPHR (FILE)
  1027. *
  1028. * ENTRY (FILE) = FIRST WORD OF THE FET
  1029. *
  1030. * WPHR(FILE); ( SYMPL CALL )
  1031. *
  1032. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  1033.  
  1034.  
  1035. WPHR SUBR =
  1036. SB1 1
  1037. WPHR X1
  1038. JP WPHRX
  1039.  
  1040. END
  1041. IDENT WRITE
  1042. ENTRY WRITE
  1043. B1=1
  1044. TITLE WRITE - WRITE DATA FROM CIO BUFFER.
  1045. COMMENT WRITE DATA FROM CIO BUFFER.
  1046. WRITE SPACE 4,10
  1047. *** WRITE - WRITE DATA FROM CIO BUFFER.
  1048. *
  1049. * CALL WRITE (FILE)
  1050. *
  1051. * ENTRY (FILE) = FIRST WORD OF THE FET
  1052. *
  1053. * WRITE(FILE); ( SYMPL CALL )
  1054. *
  1055. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  1056.  
  1057.  
  1058. WRITE SUBR =
  1059. SB1 1
  1060. WRITE X1
  1061. JP WRITEX
  1062.  
  1063. END
  1064. IDENT WRITECW
  1065. ENTRY WRITECW
  1066. B1=1
  1067. TITLE WRITECW - WRITE FILE NON-STOP WITH CONTROL WORDS.
  1068. COMMENT WRITE FILE NON-STOP WITH CONTROL WORDS.
  1069. WRITECW SPACE 4,10
  1070. *** WRITECW - WRITE FILE NON-STOP WITH CONTROL WORDS.
  1071. *
  1072. * CALL WRITECW (FILE)
  1073. *
  1074. * ENTRY (FILE) = FIRST WORD OF THE FET
  1075. *
  1076. * WRITECW(FILE); ( SYMPL CALL )
  1077. *
  1078. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  1079.  
  1080.  
  1081. WRITECW SUBR =
  1082. SB1 1
  1083. WRITECW X1
  1084. JP WRITECWX
  1085.  
  1086. END
  1087. IDENT WRITEF
  1088. ENTRY WRITEF
  1089. B1=1
  1090. TITLE WRITEF - WRITE END OF FILE.
  1091. COMMENT WRITE END OF FILE.
  1092. WRITEF SPACE 4,10
  1093. *** WRITEF - WRITE END OF FILE.
  1094. *
  1095. * CALL WRITEF (FILE)
  1096. *
  1097. * ENTRY (FILE) = FIRST WORD OF THE FET
  1098. *
  1099. * WRITEF(FILE); ( SYMPL CALL )
  1100. *
  1101. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  1102.  
  1103.  
  1104. WRITEF SUBR =
  1105. SB1 1
  1106. WRITEF X1
  1107. JP WRITEFX
  1108.  
  1109. END
  1110. IDENT WRITEN
  1111. ENTRY WRITEN
  1112. B1=1
  1113. TITLE WRITEN - WRITE FILE NON-STOP FOR TAPES.
  1114. COMMENT WRITE FILE NON-STOP FOR TAPES.
  1115. WRITEN SPACE 4,10
  1116. *** WRITEN - WRITE FILE NON-STOP FOR TAPES.
  1117. * MAGNETIC TAPES IN S OR L FORMAT ONLY.
  1118. *
  1119. * CALL WRITEN (FILE)
  1120. *
  1121. * ENTRY (FILE) = FIRST WORD OF THE FET
  1122. *
  1123. * WRITEN(FILE); ( SYMPL CALL )
  1124. *
  1125. * ENTRY - FILE, AN ENTRY THAT CONTAINS THE FET
  1126.  
  1127.  
  1128. WRITEN SUBR =
  1129. SB1 1
  1130. WRITEN X1
  1131. JP WRITENX
  1132.  
  1133. END
  1134. IDENT WRITER
  1135. ENTRY WRITER
  1136. B1=1
  1137. TITLE WRITER - WRITE END OF RECORD.
  1138. COMMENT WRITE END OF RECORD.
  1139. WRITER SPACE 4,10
  1140. *** WRITER - WRITE END OF RECORD.
  1141. *
  1142. * CALL WRITER (FILE)
  1143. *
  1144. * ENTRY (FILE) = FIRST WORD OF THE FET
  1145. *
  1146. * WRITER(FILE); ( SYMPL CALL )
  1147. *
  1148. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  1149.  
  1150.  
  1151. WRITER SUBR =
  1152. SB1 1
  1153. SA3 A1+B1 ADDRESS OF LEVEL
  1154. SA3 X3 LEVEL
  1155. WRITER X1,X3
  1156. EQ WRITERX
  1157.  
  1158. END
  1159. IDENT READC
  1160. ENTRY READC
  1161. B1=1
  1162. TITLE READC - READ CODED LINE IN *C* FORMAT.
  1163. COMMENT READ CODED LINE IN *C* FORMAT.
  1164. READC SPACE 4,10
  1165. *** READC - READ CODED LINE IN *C* FORMAT.
  1166. *
  1167. * CALL READC (FILE,BUF,N,STATUS)
  1168. *
  1169. * TRANSFERS DATA UNTIL THE END OF LINE BYTE (0000) IS SENSED.
  1170. *
  1171. * ENTRY (FILE) = FIRST WORD OF THE FET
  1172. * (BUF) = FIRST WORD OF THE WORKING BUFFER
  1173. * (N) = WORD COUNT OF THE WORKING BUFFER
  1174. *
  1175. * READC(FILE,BUF,N,STATUS); ( SYMPL CALL )
  1176. *
  1177. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  1178. * BUF, AN ARRAY TO BE USED AS READ BUFFER
  1179. * N, AN ITEM THAT CONTAINS THE NUMBER OF WORD IN BUF
  1180. *
  1181. * EXIT (STATUS) = 0, TRANSFER COMPLETE
  1182. * = -1, END-OF-FILE DETECTED ON FILE
  1183. * = -2, END-OF-INFORMATION DETECTED ON FILE
  1184. * = LWA, END-OF-RECORD DETECTED ON FILE BEFORE
  1185. * TRANSFER WAS COMPLETE
  1186. * LWA = ADDRESS + 1 OF LAST WORD TRANSFERRED TO
  1187. * WORKING BUFFER
  1188. *
  1189. * EXIT - STATUS, AN ITEM THAT WILL HAVE THE RESPONSE VALUE
  1190. * PUT IN IT
  1191.  
  1192.  
  1193. READC SUBR =
  1194. SB1 1
  1195. SA3 A1+B1 FWA OF WORKING BUFFER
  1196. SA4 A3+B1 ADDRESS OF WORD COUNT
  1197. SA5 A4+B1 (X5) = ADDRESS OF STATUS WORD
  1198. SA4 X4 WORD COUNT
  1199. READC X1,X3,X4
  1200. BX6 X1
  1201. SA6 X5
  1202. JP READCX
  1203.  
  1204. END
  1205. IDENT WRITEC
  1206. ENTRY WRITEC
  1207. B1=1
  1208. TITLE WRITEC - WRITE CODED LINE IN *C* FORMAT.
  1209. COMMENT WRITE CODED LINE IN *C* FORMAT.
  1210. WRITEC SPACE 4,10
  1211. *** WRITEC - WRITE CODED LINE IN *C* FORMAT.
  1212. *
  1213. * CALL WRITEC (FILE,BUF)
  1214. *
  1215. * TRANSFERS DATA UNTIL THE END OF LINE BYTE (0000) IS SENSED.
  1216. *
  1217. * ENTRY (FILE) = FIRST WORD OF THE FET
  1218. * (BUF) = FIRST WORD OF THE WORKING BUFFER
  1219. *
  1220. * WRITEC(FILE,BUF); ( SYMPL CALL )
  1221. *
  1222. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  1223. * BUF, AN ARRAY TO BE USED AS READ BUFFER
  1224.  
  1225.  
  1226. WRITEC SUBR =
  1227. SB1 1
  1228. SA3 A1+B1 FWA OF WORKING BUFFER
  1229. WRITEC X1,X3
  1230. JP WRITECX
  1231.  
  1232. END
  1233. IDENT READH
  1234. ENTRY READH
  1235. B1=1
  1236. TITLE READH - READ CODED LINE IN *H* FORMAT.
  1237. COMMENT READ CODED LINE IN *H* FORMAT.
  1238. READH SPACE 4,10
  1239. *** READH - READ CODED LINE IN *H* FORMAT.
  1240. *
  1241. * CALL READH (FILE,BUF,N,STATUS)
  1242. *
  1243. * TRANSFERS DATA UNTIL THE END OF LINE BYTE (0000) IS SENSED.
  1244. * FILLS TRAILING SPACES INTO THE WORKING BUFFER.
  1245. *
  1246. * ENTRY (FILE) = FIRST WORD OF THE FET
  1247. * (BUF) = FIRST WORD OF THE WORKING BUFFER
  1248. * (N) = WORD COUNT OF THE WORKING BUFFER
  1249. *
  1250. * READH(FILE,BUF,N,STATUS); ( SYMPL CALL )
  1251. *
  1252. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  1253. * BUF, AN ARRAY TO BE USED AS READ BUFFER
  1254. * N, AN ITEM THAT CONTAINS THE NUMBER OF WORD IN BUF
  1255. *
  1256. * EXIT (STATUS) = 0, TRANSFER COMPLETE
  1257. * = -1, END-OF-FILE DETECTED ON FILE
  1258. * = -2, END-OF-INFORMATION DETECTED ON FILE
  1259. * = LWA, END-OF-RECORD DETECTED ON FILE BEFORE
  1260. * TRANSFER WAS COMPLETE
  1261. * LWA = ADDRESS + 1 OF LAST WORD TRANSFERRED TO
  1262. * WORKING BUFFER
  1263.  
  1264. *
  1265. * EXIT - STATUS, AN ITEM THAT WILL HAVE THE RESPONSE VALUE
  1266. * PUT IN IT
  1267.  
  1268. READH SUBR =
  1269. SB1 1
  1270. SA3 A1+B1 FWA OF WORKING BUFFER
  1271. SA4 A3+B1 ADDRESS OF WORD COUNT
  1272. SA5 A4+B1 (X5) = ADDRESS OF STATUS WORD
  1273. SA4 X4 WORD COUNT
  1274. READH X1,X3,X4
  1275. BX6 X1
  1276. SA6 X5
  1277. JP READHX
  1278.  
  1279. END
  1280. IDENT WRITEH
  1281. ENTRY WRITEH
  1282. B1=1
  1283. TITLE WRITEH - WRITE CODED LINE IN *H* FORMAT.
  1284. COMMENT WRITE CODED LINE IN *H* FORMAT.
  1285. WRITEH SPACE 4,10
  1286. *** WRITEH - WRITE CODED LINE IN *H* FORMAT.
  1287. *
  1288. * CALL WRITEH (FILE,BUF,N)
  1289. *
  1290. * TRANSFERS ONE LINE OF DATA. DELETES TRAILING SPACES.
  1291. *
  1292. * ENTRY (FILE) = FIRST WORD OF THE FET
  1293. * (BUF) = FIRST WORD OF THE WORKING BUFFER
  1294. * (N) = WORD COUNT OF THE WORKING BUFFER
  1295. *
  1296. * WRITEH(FILE,BUF,N); ( SYMPL CALL )
  1297. *
  1298. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  1299. * BUF, AN ARRAY TO BE USED AS READ BUFFER
  1300. * N, AN ITEM THAT CONTAINS THE NUMBER OF WORD IN BUF
  1301.  
  1302.  
  1303. WRITEH SUBR =
  1304. SB1 1
  1305. SA3 A1+B1 FWA OF WORKING BUFFER
  1306. SA4 A3+B1 ADDRESS OF WORD COUNT
  1307. SA4 X4 WORD COUNT
  1308. WRITEH X1,X3,X4
  1309. JP WRITEHX
  1310.  
  1311. END
  1312. IDENT READO
  1313. ENTRY READO
  1314. B1=1
  1315. TITLE READO - READ ONE WORD.
  1316. COMMENT READ ONE WORD.
  1317. READO SPACE 4,10
  1318. *** READO - READ ONE WORD.
  1319. *
  1320. * CALL READO (FILE,WORD,STATUS)
  1321. *
  1322. * ENTRY (FILE) = FIRST WORD OF THE FET
  1323. *
  1324. *
  1325. * READO(FILE,WORD,STATUS); ( SYMPL CALL )
  1326. *
  1327. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  1328. *
  1329. * EXIT (WORD) = WORD READ IF (STATUS) = 0
  1330. * (STATUS) = 0, TRANSFER COMPLETE
  1331. * = -1, END-OF-FILE DETECTED ON FILE
  1332. * = -2, END-OF-INFORMATION DETECTED ON FILE
  1333. * = LWA, END-OF-RECORD DETECTED ON FILE BEFORE
  1334. * TRANSFER WAS COMPLETE
  1335. * LWA = ADDRESS + 1 OF LAST WORD TRANSFERRED TO
  1336. * WORKING BUFFER
  1337. *
  1338. * EXIT - WORD, WORD READ, IF STATUS EQUALS 0
  1339. * STATUS, AN ITEM THAT WILL HAVE THE RESPONSE VALUE
  1340. * PUT IN IT
  1341.  
  1342.  
  1343. READO SUBR =
  1344. SB1 1
  1345. SA3 A1+B1 ADDRESS OF WORD
  1346. SA5 A3+B1 (X5) = ADDRESS OF STATUS WORD
  1347. BX0 X3
  1348. READO X1
  1349. SA6 X0 WORD READ
  1350. BX7 X1 STATUS
  1351. SA7 X5
  1352. JP READOX
  1353.  
  1354. END
  1355. IDENT WRITEO
  1356. ENTRY WRITEO
  1357. B1=1
  1358. TITLE WRITEO - WRITE ONE WORD.
  1359. COMMENT WRITE ONE WORD.
  1360. WRITEO SPACE 4,10
  1361. *** WRITEO - WRITE ONE WORD.
  1362. *
  1363. * CALL WRITEO (FILE,WORD)
  1364. *
  1365. * ENTRY (FILE) = FIRST WORD OF THE FET
  1366. * (WORD) = WORD TO BE TRANSFERRED
  1367. *
  1368. * WRITEO(FILE,WORD); ( SYMPL CALL )
  1369. *
  1370. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  1371. * WORD, ITEM TO BE TRANSFERED
  1372.  
  1373.  
  1374. WRITEO SUBR =
  1375. SB1 1
  1376. SA3 A1+B1 ADDRESS OF WORD
  1377. SA3 X3 WORD
  1378. BX6 X3
  1379. WRITEO X1
  1380. JP WRITEOX
  1381.  
  1382. END
  1383. IDENT READS
  1384. ENTRY READS
  1385. B1=1
  1386. TITLE READS - READ CODED LINE TO CHARACTER BUFFER.
  1387. COMMENT READ CODED LINE TO CHARACTER BUFFER.
  1388. READS SPACE 4,10
  1389. *** READS - READ CODED LINE TO CHARACTER BUFFER.
  1390. *
  1391. * CALL READS (FILE,BUF,N,STATUS)
  1392. *
  1393. * UNPACKS WORDS AND STORES THEM IN THE WORKING BUFFER, ONE
  1394. * CHARACTER/WORD, UNTIL THE END OF LINE BYTE (0000) IS SENSED.
  1395. * FILLS THE WORKING BUFFER WITH SPACE CODES IF THE CODED LINE
  1396. * TERMINATES BEFORE *N* CHARACTERS ARE STORED.
  1397. *
  1398. * ENTRY (FILE) = FIRST WORD OF THE FET
  1399. * (BUF) = FIRST WORD OF THE WORKING BUFFER
  1400. * (N) = WORD COUNT OF THE WORKING BUFFER
  1401. *
  1402. * READS(FILE,BUF,N,STATUS); ( SYMPL CALL )
  1403. *
  1404. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  1405. * BUF, AN ARRAY TO BE USED AS READ BUFFER
  1406. * N, AN ITEM THAT CONTAINS THE NUMBER OF WORD IN BUF
  1407. *
  1408. * EXIT (STATUS) = 0, TRANSFER COMPLETE
  1409. * = -1, END-OF-FILE DETECTED ON FILE
  1410. * = -2, END-OF-INFORMATION DETECTED ON FILE
  1411. * = LWA, END-OF-RECORD DETECTED ON FILE BEFORE
  1412. * TRANSFER WAS COMPLETE
  1413. * LWA = ADDRESS + 1 OF LAST WORD TRANSFERRED TO
  1414. * WORKING BUFFER
  1415. *
  1416. * EXIT - STATUS, AN ITEM THAT WILL HAVE THE RESPONSE VALUE
  1417. * PUT IN IT
  1418.  
  1419.  
  1420. READS SUBR =
  1421. SB1 1
  1422. SA3 A1+B1 FWA OF WORKING BUFFER
  1423. SA4 A3+B1 ADDRESS OF WORD COUNT
  1424. SA5 A4+B1 (X5) = ADDRESS OF STATUS WORD
  1425. SA4 X4 WORD COUNT
  1426. READS X1,X3,X4
  1427. BX6 X1
  1428. SA6 X5
  1429. JP READSX
  1430.  
  1431. END
  1432. IDENT WRITES
  1433. ENTRY WRITES
  1434. B1=1
  1435. TITLE WRITES - WRITE CODED LINE FROM CHARACTER BUFFER.
  1436. COMMENT WRITE CODED LINE FROM CHARACTER BUFFER.
  1437. WRITES SPACE 4,10
  1438. *** WRITES - WRITE CODED LINE FROM CHARACTER BUFFER.
  1439. *
  1440. * CALL WRITES (FILE,BUF,N)
  1441. *
  1442. * PACKS CHARACTERS FROM THE WORKING BUFFER TEN CHARACTERS/WORD.
  1443. * DELETES TRAILING SPACE CODES BEFORE PACKING CHARACTERS.
  1444. *
  1445. * ENTRY (FILE) = FIRST WORD OF THE FET
  1446. * (BUF) = FIRST WORD OF THE WORKING BUFFER
  1447. * (N) = WORD COUNT OF THE WORKING BUFFER
  1448. *
  1449. * WRITES(FILE,BUF,N); ( SYMPL CALL )
  1450. *
  1451. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  1452. * BUF, AN ARRAY TO BE USED AS READ BUFFER
  1453. * N, AN ITEM THAT CONTAINS THE NUMBER OF WORD IN BUF
  1454.  
  1455.  
  1456. WRITES SUBR =
  1457. SB1 1
  1458. SA3 A1+B1 FWA OF WORKING BUFFER
  1459. SA4 A3+B1 ADDRESS OF WORD COUNT
  1460. SA4 X4 WORD COUNT
  1461. WRITES X1,X3,X4
  1462. JP WRITESX
  1463.  
  1464. END
  1465. IDENT READW
  1466. ENTRY READW
  1467. B1=1
  1468. TITLE READW - READ DATA TO WORKING BUFFER.
  1469. COMMENT READ DATA TO WORKING BUFFER.
  1470. READW SPACE 4,10
  1471. *** READW - READ DATA TO WORKING BUFFER.
  1472. *
  1473. * CALL READW (FILE,BUF,N,STATUS)
  1474. *
  1475. * ENTRY (FILE) = FIRST WORD OF THE FET
  1476. * (BUF) = FIRST WORD OF THE WORKING BUFFER
  1477. * (N) = WORD COUNT OF THE WORKING BUFFER
  1478. *
  1479. * READW(FILE,BUF,N,STATUS); ( SYMPL CALL )
  1480. *
  1481. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  1482. * BUF, AN ARRAY TO BE USED AS READ BUFFER
  1483. * N, AN ITEM THAT CONTAINS THE NUMBER OF WORD IN BUF
  1484. * EXIT (STATUS) = 0, TRANSFER COMPLETE
  1485. * = -1, END-OF-FILE DETECTED ON FILE
  1486. * = -2, END-OF-INFORMATION DETECTED ON FILE
  1487. * = LWA, END-OF-RECORD DETECTED ON FILE BEFORE
  1488. * TRANSFER WAS COMPLETE
  1489. * LWA = ADDRESS + 1 OF LAST WORD TRANSFERRED TO
  1490. * WORKING BUFFER
  1491. *
  1492. * EXIT - STATUS, AN ITEM THAT WILL HAVE THE RESPONSE VALUE
  1493. * PUT IN IT
  1494.  
  1495.  
  1496. READW SUBR =
  1497. SB1 1
  1498. SA3 A1+B1 FWA OF WORKING BUFFER
  1499. SA4 A3+B1 ADDRESS OF WORD COUNT
  1500. SA5 A4+B1 (X5) = ADDRESS OF STATUS WORD
  1501. SA4 X4 WORD COUNT
  1502. READW X1,X3,X4
  1503. BX6 X1
  1504. SA6 X5
  1505. JP READWX
  1506.  
  1507. END
  1508. IDENT WRITEW
  1509. ENTRY WRITEW
  1510. B1=1
  1511. TITLE WRITEW - WRITE DATA FROM WORKING BUFFER.
  1512. COMMENT WRITE DATA FROM WORKING BUFFER.
  1513. WRITEW SPACE 4,10
  1514. *** WRITEW - WRITE DATA FROM WORKING BUFFER.
  1515. *
  1516. * CALL WRITEW (FILE,BUF,N)
  1517. *
  1518. * ENTRY (FILE) = FIRST WORD OF THE FET
  1519. * (BUF) = FIRST WORD OF THE WORKING BUFFER
  1520. * (N) = WORD COUNT OF THE WORKING BUFFER
  1521. *
  1522. * WRITEW(FILE,BUF,N); ( SYMPL CALL )
  1523. *
  1524. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  1525. * BUF, AN ARRAY TO BE USED AS READ BUFFER
  1526. * N, AN ITEM THAT CONTAINS THE NUMBER OF WORD IN BUF
  1527.  
  1528.  
  1529. WRITEW SUBR =
  1530. SB1 1
  1531. SA3 A1+B1 FWA OF WORKING BUFFER
  1532. SA4 A3+B1 ADDRESS OF WORD COUNT
  1533. SA4 X4 WORD COUNT
  1534. WRITEW X1,X3,X4
  1535. EQ WRITEWX
  1536.  
  1537. END
  1538. IDENT ABEND
  1539. ENTRY ABORT
  1540. ENTRY ENDRUN
  1541. B1=1
  1542. LIST F
  1543. TITLE ABORT - ABORT JOB / ENDRUN - END CENTRAL PROGRAM.
  1544. COMMENT ABORT/ENDRUN.
  1545. ABORT SPACE 4,10
  1546. *** ABORT - ABORT JOB.
  1547. *
  1548. * CALL ABORT
  1549. *
  1550. * ENTRY NONE
  1551. *
  1552. * ABORT; ( SYMPL CALL )
  1553. *
  1554. * EXIT DOES NOT EXIT
  1555.  
  1556.  
  1557. ABORT SUBR =
  1558. SB1 1
  1559. ABORT
  1560. ENDRUN SPACE 4,10
  1561. *** ENDRUN - END CENTRAL PROGRAM.
  1562. *
  1563. * CALL ENDRUN
  1564. *
  1565. * ENTRY NONE
  1566. *
  1567. * ENDRUN; ( SYMPL CALL )
  1568. *
  1569. * NOTE - A "STOP;" IN SYMPL DOES THE SAME THING
  1570. *
  1571. * EXIT DOES NOT EXIT
  1572.  
  1573.  
  1574. ENDRUN SUBR =
  1575. SB1 1
  1576. ENDRUN
  1577.  
  1578. END
  1579. IDENT ATTACH
  1580. B1=1
  1581. LIST F
  1582. TITLE ATTACH - ATTACH A PERMANENT FILE.
  1583. COMMENT ATTACH A PERMANENT FILE.
  1584. IPARAMS
  1585. ATTACH SPACE 4,10
  1586. NOSPFM IFC EQ,*"OS.NAME"*KRONOS*
  1587. *** NOS PERMANENT FILE MANAGER SYMPL INTERFACE ROUTINES
  1588. *
  1589. * ATTACH(LFN,PFN,UN,PW,M)
  1590. *
  1591. * DEFINE(LFN,PFN,PW,CT)
  1592. *
  1593. * PURGE(LFN,UN,PW)
  1594. *
  1595. * LFN - LOGICAL FILE NAME, LEFT JUSTIFIED, ZERO FILLED,
  1596. * SEVEN CHARACTER MAXIMUM
  1597. * PFN - PERMANENT FILE NAME, SAME CHARACTERISTICS AS LFN
  1598. * UN - USER NUMBER, SAME CHARACTERISTICS AS PFN,LFN
  1599. * PW - PASSWORD, SAME CHARACTERISTICS AS UN,PFN,LFN
  1600. * CT - FILE CATEGORY
  1601. * - = 0, PRIVATE FILE
  1602. * - = 1, SEMI-PRIVATE FILE
  1603. * - = 2, PUBLIC FILE
  1604. * M - FILE ACCESS MODE
  1605. * - = 0, READ/WRITE
  1606. * - = 1, READ
  1607. *
  1608. * THESE ARE SYMPL FUNCTIONS AND WILL RETURN THE STATUS
  1609. * FROM WORD 0, BITS 17-10. SEE NOS REFERENCE MANUAL, VOL. 2
  1610. * CHAPTER 5, FOR THE PFM ERROR CODE. ZERO IS SUCCESSFUL
  1611. * COMPLETION.
  1612. *
  1613. PFMFET FILEB DUMMY,DUMMYL,EPR,(FET=14D) DUMMY PFM FET
  1614. DUMMYL EQU 0
  1615. DUMMY BSS 0
  1616. PFMUN EQU PFMFET+9D FET ALTERNATE USER NUMBER WORD
  1617. PFMERD EQU PFMFET+10D ERROR ADDRESS WORD IN FET
  1618. PFMERAD BSSZ 3 PUT ERROR MESSAGE HERE/NOT DAYFILE
  1619. SPACE 4,15
  1620. *** ATTACH - ATTACHES A NOS PERMANENT FILE
  1621. *
  1622. * SYMPL CALL - STATUS = ATTACH(LFN,PFN,UN,PW,M);
  1623. *
  1624. *
  1625. ENTRY ATTACH
  1626. ATTACH SUBR = ENTRY/EXIT
  1627. SB1 1
  1628. SA4 X1 GET LFN
  1629. SA3 A1+B1 ADDRESS OF PFN IN X3
  1630. SA5 PFMFET GET CONTENTS OF FET+0
  1631. MX0 -18
  1632. BX7 -X0*X5 MASK OLD LFN, LEAVE LOWER 18 BITS
  1633. BX6 X0*X4 MASK OUT UNWANTED BITS
  1634. SA1 X3 GET PFM
  1635. BX6 X6+X7 PUT FET+0 TOGETHER
  1636. BX1 X0*X1 X1 = PFM
  1637. SA6 A5 PUT LFN IN FET+0
  1638. SA4 A3+B1 ADDRESS OF UN IN X4
  1639. MX6 42 SET MASK
  1640. SA5 A4+B1 ADDRESS OF PW IN X5
  1641. SX7 PFMERAD ADDRESS OF MSG BUFFER
  1642. SA3 X4 GET UN
  1643. BX3 X0*X3 X3 = UN
  1644. SA2 X5 GET PW
  1645. BX2 X0*X2 X2 = PW
  1646. SA4 A5+B1 ADDRESS OF MODE IN X4
  1647. SA5 X4 GET MODE
  1648. SA4 PFMERD FETCH ERROR ADDRESS WORD FROM FET
  1649. BX4 X6*X4 CLEAR OLD ADDRESS
  1650. BX7 X7+X4 PUT NEW ONE IN
  1651. SA7 A4 STORE BACK IN FET
  1652. ZR X5,ATT1 JIF WRITE MODE WANTED
  1653. ATTACH PFMFET,X1,X3,X2,R READ MODE ATTACH
  1654. EQ ATT2 COMMON EXIT
  1655. SPACE 2
  1656. ATT1 BSS 0 WRITE MODE ATTACH
  1657. ATTACH PFMFET,X1,X3,X2,W WRITE MODE ATTACH
  1658. SPACE 2
  1659. ATT2 BSS 0 RETURN ERROR CODE
  1660. SA1 PFMFET GET FET+0
  1661. MX0 -8
  1662. AX1 10 RIGHT JISTIFY BITS 17-10
  1663. BX6 -X0*X1 ISOLATE ERROR CODE IN X6
  1664. JP ATTACHX RETURN
  1665. NOSPFM ENDIF
  1666. END
  1667. IDENT CHECKPT
  1668. ENTRY CHECKPT
  1669. B1=1
  1670. LIST F
  1671. TITLE CHECKPT - TAKE CHECKPOINT DUMP.
  1672. COMMENT TAKE CHECKPOINT DUMP.
  1673. IPARAMS
  1674. CHECKPT SPACE 4,10
  1675. *** CHECKPT - TAKE CHECKPOINT DUMP.
  1676. *
  1677. * CALL CHECKPT (LIST,OPTION)
  1678. *
  1679. * ENTRY (LIST) = LIST OF FILE PROCESSING SPECIFICATIONS
  1680. * (OPTION) = 0, PROCESS ALL FILES
  1681. * = OTHER, PROCESS ONLY THE SPECIFIED FILES
  1682. *
  1683. * CHECKPT(LIST,OPTION);
  1684. *
  1685. * ENTRY - LIST, AN ARRAY THAT CONTAINS A LIST OF FILE
  1686. * PROCESSING SPECIFICATIONS
  1687. * OPTION, AN ITEM THAT CONTAINS THE OPTION
  1688.  
  1689.  
  1690. CHECKPT SUBR =
  1691. SB1 1
  1692.  
  1693. SCPNOS IFC EQ,*"OS.NAME"*NOSBE *
  1694. SA2 A1+1 ADDRESS OF OPTION
  1695. SA2 X2 OPTION
  1696. ZR,X2 CHE1 IF ALL FILES TO BE PROCESSED
  1697. CHECKPT X1,OPTION
  1698. JP CHECKPTX
  1699.  
  1700. CHE1 CHECKPT X1
  1701. JP CHECKPTX
  1702.  
  1703. SCPNOS ELSE
  1704. SA1 =0LCHECKPT
  1705. RJ =XMACREL. DIAGNOSE UNDEFINED MACRO
  1706. JP CHECKPTX
  1707. SCPNOS ENDIF
  1708.  
  1709. END
  1710. IDENT CLOCK
  1711. ENTRY CLOCK
  1712. B1=1
  1713. LIST F
  1714. TITLE CLOCK - OBTAIN TIME OF DAY.
  1715. COMMENT OBTAIN TIME OF DAY.
  1716. CLOCK SPACE 4,10
  1717. *** CLOCK - OBTAIN TIME OF DAY.
  1718. *
  1719. * CALL CLOCK (STATUS)
  1720. *
  1721. * ENTRY NONE
  1722. *
  1723. * EXIT (STATUS) = TIME OF DAY
  1724. **T 60/ * HH.MM.SS.*
  1725. *
  1726. * CLOCK(STATUS); ( SYMPL CALL )
  1727. *
  1728. * EXIT - STATUS, A CHARACTER ITEM THAT WILL CONTAIN THE
  1729. * CLOCK READING
  1730.  
  1731.  
  1732. CLOCK SUBR =
  1733. SB1 1
  1734. BX5 X1
  1735. CLOCK X1
  1736. SA1 X5
  1737. BX6 X1 RETURN TIME OF DAY AS FUNCTION RESULT
  1738. EQ CLOCKX
  1739.  
  1740. END
  1741. IDENT DATE
  1742. ENTRY DATE
  1743. B1=1
  1744. LIST F
  1745. TITLE DATE - OBTAIN DATE.
  1746. COMMENT OBTAIN DATE.
  1747. DATE SPACE 4,10
  1748. *** DATE - OBTAIN DATE.
  1749. *
  1750. * CALL DATE (STATUS)
  1751. *
  1752. * ENTRY NONE
  1753. *
  1754. * EXIT (STATUS) = DATE
  1755. **T 60/ * YY/MM/DD.*
  1756. *
  1757. * DATE(STATUS); ( SYMPL CALL )
  1758. *
  1759. * EXIT - STATUS, A CHARACTER ITEM TO CONTAIN THE TIME
  1760.  
  1761.  
  1762. DATE SUBR =
  1763. SB1 1
  1764. BX5 X1
  1765. DATE X1
  1766. SA1 X5
  1767. BX6 X1 RETURN DATE AS FUNCTION RESULT
  1768. EQ DATEX
  1769.  
  1770. END
  1771. IDENT DEFINE
  1772. B1=1
  1773. LIST F
  1774. TITLE DEFINE - DEFINE A NOS PERMANENT FILE.
  1775. COMMENT DEFINE A NOS PERMANENT FILE.
  1776. IPARAMS
  1777. DEFINE SPACE 4,10
  1778. NOSPFM IFC EQ,*"OS.NAME"*KRONOS*
  1779. * NOS PERMANENT FILE MANAGER SYMPL INTERFACE ROUTINES
  1780. *
  1781. * DEFINE(LFN,PFN,PW,CT,M,AC)
  1782. *
  1783. * LFN - LOGICAL FILE NAME, LEFT JUSTIFIED, ZERO FILLED,
  1784. * SEVEN CHARACTER MAXIMUM
  1785. * PFN - PERMANENT FILE NAME, SAME CHARACTERISTICS AS LFN
  1786. * PW - PASSWORD, SAME CHARACTERISTICS AS UN,PFN,LFN
  1787. * CT - FILE ACCESS CATEGORY
  1788. * = 0, PRIVATE
  1789. * = 1, SEMIPRIVATE
  1790. * = 2, PUBLIC
  1791. * M - FILE ACCESS MODE
  1792. * = 0, READ/WRITE/MODIFY/APPEND/UPDATE/PURGE/EXECUTE
  1793. * = 1, READ
  1794. * = 2, APPEND
  1795. * = 3, EXECUTE
  1796. * = 4, NONE
  1797. * = 5, MODIFY/APPEND/UPDATE/READ/EXECUTE
  1798. * = 6, READ-MODIFY
  1799. * = 7, READ-APPEND
  1800. * = 8, UPDATE
  1801. * = 9, READ-UPDATE
  1802. * AC - ALTERNATE CATLIST
  1803. * = 1, DO NOT ALLOW ALTERNATE CATLIST
  1804. * = 2, ALLOW ALTERNATE CATLIST
  1805. *
  1806. * THESE ARE SYMPL FUNCTIONS AND WILL RETURN THE STATUS
  1807. * FROM WORD 0, BITS 17-10. SEE NOS REFERENCE MANUAL, VOL. 2
  1808. * CHAPTER 5, FOR THE PFM ERROR CODE. ZERO IS SUCCESSFUL
  1809. * COMPLETION
  1810. *
  1811. PFMFET FILEB DUMMY,DUMMYL,EPR,(FET=16D) DUMMY PFM FET
  1812. DUMMYL EQU 0
  1813. DUMMY BSS 0
  1814. PFMUN EQU PFMFET+9D FET ALTERNATE USER NUMBER WORD
  1815. PFMERD EQU PFMFET+10D ERROR ADDRESS WORD IN FET
  1816. PFMERAD BSSZ 5 PUT ERROR MESSAGE HERE/NOT DAYFILE
  1817. SPACE 4,15
  1818. *** DEFINE - DEFINES A NOS PERMANENT FILE
  1819. *
  1820. * SYMPL CALL - STATUS = DEFINE(LFN,PFN,PW,CT,M,AC);
  1821. *
  1822. *
  1823. ENTRY DEFINE
  1824. DEFINE SUBR = ENTRY/EXIT
  1825. SB1 1
  1826. SA4 X1 GET THE LFN
  1827. MX0 -18 SET MASK
  1828. BX6 X0*X4 ISOLATE LFN
  1829. SX4 B1
  1830. BX6 X6+X4 SET COMPLETION BIT IN FET+0
  1831. SA6 PFMFET WRITE WORD ZERO OF FET
  1832. SA3 A1+B1 ADDRESS OF PFN IN X3
  1833. SA1 X3 GET PFN
  1834. BX1 X0*X1 X1 = PFN
  1835. SA4 A3+B1 ADDRESS OF PW IN X4
  1836. SA2 X4 GET PW
  1837. BX2 X0*X2 X2 = PW
  1838. SA3 A4+B1 ADDRESS OF CT
  1839. SA4 X3 X4 = CT
  1840. BX7 X4
  1841. SA7 CATEGOR SET FILE CATEGORY
  1842. SA4 A3+B1 ADDRESS OF MODE
  1843. SA3 X4 X4 = MODE
  1844. BX7 X3
  1845. SA7 MODE SAVE
  1846. SA3 A4+B1 ADDRESS OF ALTERNATE CATLIST
  1847. SA4 X3 X4 = AC
  1848. BX7 X4
  1849. SA7 ALTCAT SAVE
  1850. SA5 PFMUN GET ALT. USER NUMBER WORD FROM PFMFET
  1851. BX6 -X0*X5 MASK OUT ANY POSSIBLE USER NUMBER LEFT
  1852. SA6 A5 WRITE BACK REST OF ALT. USER NUM. WORD
  1853. SA4 PFMERD FETCH ERROR ADDRESS WORD FROM FET
  1854. SX7 PFMERAD ADDRESS OF MSG BUFFER
  1855. BX4 X0*X4 CLEAR OLD ADDRESS
  1856. BX7 X7+X4 PUT NEW ONE IN
  1857. SA7 A4 STORE BACK IN FET
  1858. DEFINE PFMFET,X1,X2,,,CATEGOR,MODE,,,,,,,,,ALTCAT
  1859. SA1 PFMFET GET FET+0
  1860. MX0 -8
  1861. AX1 10 RIGHT JISTIFY BITS 17-10
  1862. BX6 -X0*X1 ISOLATE ERROR CODE IN X6
  1863. JP DEFINEX RETURN
  1864. CATEGOR BSSZ 1 FILE CATEGORY
  1865. MODE BSSZ 1 FILE PERMISSION MODE
  1866. ALTCAT BSSZ 1 ALTERNATE CATLIST
  1867. NOSPFM ENDIF
  1868. END
  1869. IDENT EDATE
  1870. ENTRY EDATE
  1871. B1=1
  1872. LIST F
  1873. COMMENT UNPACK DATE.
  1874. OPL XTEXT COMCEDT
  1875. OPL XTEXT COMCCDD
  1876. SPACE 4
  1877. *** EDATE - UNPACK DATE.
  1878. *
  1879. * XX = EDATE(YY); (SYMPL CALL)
  1880. *
  1881. * ENTRY YY CONTAINS PACKED DATE
  1882. *
  1883. * EXIT XX CONTAINS UNPACKED DATE
  1884. *
  1885.  
  1886. EDATE BSS 1
  1887. SB1 1
  1888. SA1 X1
  1889. EDATE X1
  1890. EQ EDATE
  1891. END
  1892. IDENT ETIME
  1893. ENTRY ETIME
  1894. B1=1
  1895. LIST F
  1896. COMMENT UNPACK TIME.
  1897. OPL XTEXT COMCEDT
  1898. OPL XTEXT COMCCDD
  1899. SPACE 4
  1900. *** ETIME - UNPACK TIME.
  1901. *
  1902. * XX = ETIME(YY); (SYMPL CALL)
  1903. *
  1904. * ENTRY YY CONTAINS PACKED TIME
  1905. *
  1906. * EXIT XX CONTAINS UNPACKED TIME
  1907. *
  1908. ETIME BSS 1
  1909. SB1 1
  1910. SA1 X1
  1911. ETIME X1
  1912. EQ ETIME
  1913. END
  1914. IDENT FSTATUS
  1915. ENTRY FSTATUS
  1916. B1=1
  1917. COMMENT DETERMINE IF FILE IS A LOCAL FILE.
  1918. SPACE 4
  1919. *** FSTATUS - DETERMINE IF FILE IS A LOCAL FILE.
  1920. *
  1921. * CALL FSTATUS(FILE)
  1922. *
  1923. * ENTRY (FILE) = FIRST WORD OF THE FET
  1924. *
  1925. * FSTATUS(FILE); ( SYMPL CALL )
  1926. *
  1927. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  1928.  
  1929.  
  1930. FSTATUS SUBR =
  1931. SB1 1
  1932. STATUS X1
  1933. JP FSTATUSX
  1934.  
  1935. END
  1936. IDENT IOTIME
  1937. ENTRY IOTIME
  1938. B1=1
  1939. LIST F
  1940. TITLE IOTIME - OBTAIN ACCUMULATED IO TIME.
  1941. COMMENT OBTAIN ACCUMULATED IO TIME.
  1942. IPARAMS
  1943. IOTIME SPACE 4,10
  1944. *** IOTIME - OBTAIN ACCUMULATED IO TIME.
  1945. * NOSBE ONLY.
  1946. *
  1947. * CALL IOTIME (STATUS)
  1948. *
  1949. * ENTRY NONE
  1950. *
  1951. * EXIT (STATUS) = RESPONSE
  1952. * RESPONSE FORMAT - 24/ IO TIME LIMIT (SECONDS),
  1953. * 24/ IO TIME USED (SECONDS), 12/ IO TIME USED (MS)
  1954. *
  1955. * IOTIME(STATUS); ( SYMPL CALL )
  1956. *
  1957. * EXIT - STATUS, AN ITEM TO CONTAIN THE IO STATUS WORD ON EXIT
  1958.  
  1959.  
  1960. IOTIME SUBR =
  1961. SB1 1
  1962.  
  1963. SCPNOS IFC EQ,*"OS.NAME"*NOSBE *
  1964. BX5 X1
  1965. IOTIME X1
  1966. SA1 X5
  1967. BX6 X1 RETURN RESPONSE AS FUNCTION RESULT
  1968. SCPNOS ELSE
  1969. SA1 =0LIOTIME
  1970. RJ =XMACREL. DIAGNOSE UNDEFINED MACRO
  1971. SCPNOS ENDIF
  1972. JP IOTIMEX
  1973.  
  1974. END
  1975. IDENT JDATE
  1976. ENTRY JDATE
  1977. B1=1
  1978. LIST F
  1979. TITLE JDATE - OBTAIN JULIAN DATE.
  1980. COMMENT OBTAIN JULIAN DATE.
  1981. JDATE SPACE 4,10
  1982. *** JDATE - OBTAIN JULIAN DATE.
  1983. *
  1984. * CALL JDATE (STATUS)
  1985. *
  1986. * ENTRY NONE
  1987. *
  1988. * EXIT (STATUS) = JULIAN DATE
  1989. **T 30/ 0, 30/ *YYDDD*
  1990. *
  1991. * JDATE(STATUS); ( SYMPL CALL )
  1992. *
  1993. * EXIT - STATUS, A CHAR. ITEM TO CONTAIN JDATE ON EXIT
  1994.  
  1995.  
  1996. JDATE SUBR =
  1997. SB1 1
  1998. BX5 X1
  1999. JDATE X1
  2000. SA1 X5
  2001. BX6 X1 RETURN JULIAN DATE AS FUNCTION RESULT
  2002. JP JDATEX
  2003.  
  2004. END
  2005. IDENT LOADOVL
  2006. ENTRY LOADOVL
  2007. LOADOVL SUBR =
  2008. SA2 A1
  2009. SA2 X2 OVERLAY NAME IN X2
  2010. SA3 A1+1
  2011. SA3 X3 LEVEL 1 IN X3
  2012. LX3 12 SHIFT LEFT 12 BITS
  2013. BX2 X2+X3 STORE LEVEL 1 IN X2
  2014. SX3 A1+2
  2015. SA3 X3 LEVEL 2 IN X3
  2016. BX1 X2+X3 X1 IS OVERLAY NAME/LEVEL 1/LEVEL 2
  2017. SX0 A1 SAVE ADDRESS OF PARAMETER LIST
  2018. RJ =XFOL.LOV CALL FAST OVERLAY LOADER
  2019. SX7 B7 STORE FWA OF OVERLAY IN X7
  2020. SA2 X0+3 STORE ADDRESS OF RETURN VARIABLE
  2021. SA7 X2 RETURN FWA OF OVERLAY
  2022. EQ LOADOVL
  2023. END
  2024. IDENT LOADREQ
  2025. ENTRY LOADREQ
  2026. B1=1
  2027. LIST F
  2028. TITLE LOADREQ - CALL SYSTEM LOADER VIA PPU.
  2029. COMMENT CALL SYSTEM LOADER VIA PPU.
  2030. LOADREQ SPACE 4,8
  2031. *** LOADREQ - CALL SYSTEM LOADER VIA PPU.
  2032. *
  2033. * CALL LOADREQ (LIST)
  2034. *
  2035. * ENTRY SEE LOADER REFERENCE MANUAL
  2036. *
  2037. * LOADREQ(LIST); ( SYMPL CALL )
  2038. *
  2039. *
  2040. * EXIT SEE LOADER REFERENCE MANUAL
  2041.  
  2042.  
  2043. LOADREQ SUBR =
  2044. SB1 1
  2045. SYSTEM LDR,RCL,X1
  2046. JP LOADREQX
  2047.  
  2048. END
  2049. IDENT MEMORY
  2050. ENTRY MEMORY
  2051. B1=1
  2052. LIST F
  2053. TITLE MEMORY - REQUEST MEMORY.
  2054. COMMENT REQUEST MEMORY.
  2055. MEMORY SPACE 4,10
  2056. *** MEMORY - REQUEST MEMORY.
  2057. *
  2058. * CALL MEMORY (TYPE,STATUS)
  2059. *
  2060. * ENTRY (TYPE) = 2HCM OR 3HSCM OR 3HECS OR 3HLCM
  2061. * (STATUS) = 30/N,30/0 N=AMOUNT REQUESTED
  2062. *
  2063. * MEMORY(TYPE,STATUS); ( SYMPL CALL )
  2064. *
  2065. * ENTRY - TYPE, AN ITEM CONTAINING A "CM" OR "SCM", LEFT
  2066. * JUSTIFIED, BLANK FILLED
  2067. * STATUS, AN ITEM CONTAINING THE MEMORY REQ. STATUS
  2068. * WORD
  2069. *
  2070. * EXIT TO ARGUMENT-ERROR PROCESSOR IF OPTION IS UNRECOGNIZED
  2071. * ELSE IF N = 0, CURRENT AMOUNT ASSIGNED IS RETURNED IN
  2072. * BITS 59-30 OF STATUS WORD
  2073. *
  2074. * DAYFILE MESSAGES
  2075. * *MAX FIELD LENGTH EXCEEDED, JOB ABORTED.*
  2076. * IF THE FIELD LENGTH RETURNED IS SMALLER
  2077. * THAN THE REQUESTED FIELD LENGTH.
  2078.  
  2079.  
  2080. MEMORY SUBR =
  2081. SB1 1
  2082. SA2 X1 TYPE
  2083. SA1 A1+1 ADDRESS OF STATUS WORD
  2084. SA5 X1
  2085. MX0 30
  2086. BX6 X0*X5 STATUS WORD TO X6
  2087. BX6 X6+X1 SAVE STATUS ADDRESS IN LOWER 30
  2088. SA6 SCRT
  2089. SA3 =0HCM
  2090. SA4 =0HSCM
  2091. BX3 X2-X3
  2092. BX4 X2-X4
  2093. BX5 X3*X4
  2094. ZR,X5 MEM1 IF CM OR SCM
  2095. SA3 =0HECS
  2096. SA4 =0HLCM
  2097. BX3 X2-X3
  2098. BX4 X2-X4
  2099. BX5 X3*X4
  2100. ZR,X5 MEM2 IF ECS OR LCM
  2101. BX2 X1
  2102. SA1 =0LMEMORY
  2103. RJ =XMACREL= DIAGNOSE ILLEGAL ARGUMENT
  2104. JP MEMORYX
  2105.  
  2106. MEM1 MEMORY CM,X1,RCL,,NA
  2107. JP ERRTST
  2108.  
  2109. MEM2 MEMORY ECS,X1,RCL,,NA
  2110.  
  2111. ERRTST BSS 0
  2112. SA5 SCRT OLD FIELD LENGTH TO X5
  2113. SA3 X5 NEW FL TO X3
  2114. MX6 30
  2115. BX5 X5*X6 USE ONLY THE UPPER HALF-WORD
  2116. BX3 X3*X6
  2117. IX5 X3-X5
  2118. NG X5,ERR1 IF NEW FL LT OLD THEN MESSAGE
  2119. JP MEMORYX
  2120.  
  2121. ERR1 MESSAGE TAG
  2122. ABORT
  2123.  
  2124. TAG DATA C*MAX FIELD LENGTH EXCEEDED, JOB ABORTED.*
  2125. SCRT BSS 1
  2126. END
  2127. IDENT MESSAGE
  2128. ENTRY MESSAGE
  2129. B1=1
  2130. LIST F
  2131. TITLE MESSAGE - SEND MESSAGE.
  2132. COMMENT SEND MESSAGE.
  2133. MESSAGE SPACE 4,10
  2134. *** MESSAGE - SEND MESSAGE.
  2135. *
  2136. * CALL MESSAGE (TEXT,OPTION)
  2137. *
  2138. * ENTRY (TEXT) = MESSAGE ARRAY, TERMINATED BY ZERO BYTE
  2139. * (OPTION) = 0, SEND MESSAGE TO SYSTEM DAYFILE,
  2140. * LOCAL JOB DAYFILE, AND A AND B DISPLAYS
  2141. * = 1, SEND MESSAGE TO LINE 1 OF CONTROL POINT
  2142. * = 2, SEND MESSAGE TO LINE 2 OF CONTROL POINT
  2143. * = 3, SEND MESSAGE TO USER DAYFILE AND LINE
  2144. * 1 OF CONTROL POINT
  2145. * = 4, SEND MESSAGE TO ERROR LOG DAYFILE
  2146. * = 5, SEND MESSAGE TO ACCOUNT DAYFILE
  2147. * = 6, SAME AS 0
  2148. * = 7, SAME AS 3
  2149. * = 5HLOCAL, SEND MESSAGE TO LOCAL JOB DAYFILE
  2150. *
  2151. * MESSAGE(TEXT,OPTION); ( SYMPL CALL )
  2152. *
  2153. * ENTRY - TEXT, AN ARRAY WITH THE TEXT IN IT, OR AN ITEM
  2154. * WITH TEXT IN IT
  2155. * OPTION, AN ITEM CONTAINING ONE OF THE OPTIONS
  2156.  
  2157.  
  2158.  
  2159.  
  2160. MESSAGE SUBR =
  2161. SB1 1
  2162. SA2 A1+1 ADDRESS OF OPTION
  2163. SA2 X2 OPTION
  2164. SA3 =0HLOCAL
  2165. BX4 X2-X3
  2166. ZR,X4 MES2 IF LOCAL
  2167. MESSAGE X1,X2
  2168. JP MESSAGEX
  2169.  
  2170.  
  2171. MES2 MESSAGE X1,LOCAL
  2172. JP MESSAGEX
  2173.  
  2174. END
  2175. IDENT MOVE
  2176. ENTRY MOVE
  2177. ENTRY MOVEI
  2178. B1=1
  2179. TITLE MOVE - MOVE BLOCK OF CENTRAL MEMORY WORDS.
  2180. COMMENT MOVE BLOCK OF CENTRAL MEMORY WORDS.
  2181. MOVE SPACE 4,10
  2182. *** MOVE - MOVE BLOCK OF CENTRAL MEMORY WORDS, DIRECT ADDRESSING.
  2183. *
  2184. * CALL MOVE (COUNT,FROM,TO)
  2185. *
  2186. * ENTRY (COUNT) = COUNT OF WORDS TO MOVE
  2187. * (FROM) = FIRST WORD OF THE *FROM* BLOCK
  2188. * (TO) = FIRST WORD OF THE *TO* BLOCK
  2189. *
  2190. * MOVE(COUNT,FROM,TO); ( SYMPL CALL )
  2191. *
  2192. * ENTRY - COUNT, AN ITEM THAT CONTAINS THE NUMBER OF WORDS TO
  2193. * MOVE
  2194. * FROM, AN ARRAY TO MOVE FROM
  2195. * TO, AN ARRAY TO MOVE TO
  2196.  
  2197.  
  2198. MOVE SUBR = ENTRY/EXIT
  2199. SB1 1 (B1) = 1
  2200. SA2 A1+B1 (X2) = FROM FWA
  2201. SA3 A2+B1 (X3) = TO FWA
  2202. SA1 X1 (X1) = COUNT
  2203. SX2 X2
  2204. SX3 X3 CLEAR UPPER BITS
  2205. SX1 X1
  2206. MOVE X1,X2,X3 MOVE DATA
  2207. JP MOVEX RETURN
  2208. MOVEI SPACE 4,10
  2209. *** MOVEI - MOVE BLOCK OF CENTRAL MEMORY WORDS, INDIRECT ADDRESS.
  2210. *
  2211. * CALL MOVEI (COUNT,LOC(FROM),LOC(TO))
  2212. *
  2213. * ENTRY (COUNT) = COUNT OF WORDS TO MOVE
  2214. * (FROM) = FIRST WORD OF THE *FROM* BLOCK
  2215. * (TO) = FIRST WORD OF THE *TO* BLOCK
  2216. * LOC = LOCATION OF
  2217. *
  2218. * MOVEI(COUNT,FROM,TO); ( SYMPL CALL )
  2219. *
  2220. * ENTRY - COUNT, AN ITEM THAT CONTAINS THE NUMBER OF WORDS TO
  2221. * MOVE
  2222. * FROM, AN ITEM THAT CONTAINS THE ADDRESS OF WHERE TO
  2223. * MOVE FROM, OR A LOC OF AN ARRAY
  2224. * TO, AN ITEM THAT CONTAINS THE ADDRESS OF WHERE TO
  2225. * MOVE TO, OR A LOC OF AN ARRAY
  2226.  
  2227.  
  2228. MOVEI SUBR = ENTRY/EXIT
  2229. SB1 1 (B1) = 1
  2230. SA2 A1+B1 (X2) = LOC (FROM FWA)
  2231. SA3 A2+B1 (X3) = LOC (TO FWA)
  2232. SA1 X1 (X1) = COUNT
  2233. SA2 X2 (X2) = FROM FWA
  2234. SA3 X3 (X3) = TO FWA
  2235. SX1 X1
  2236. SX2 X2 CLEAR UPPER BITS
  2237. SX3 X3
  2238. MOVE X1,X2,X3 MOVE DATA
  2239. JP MOVEIX RETURN
  2240.  
  2241. END
  2242. EJECT
  2243. IDENT PDATE
  2244. ENTRY PDATE
  2245. B1=1
  2246. LIST F
  2247. COMMENT OBTAIN PACKED DATE.
  2248. SPACE 4
  2249. *** PDATE - OBTAIN PACKED DATE.
  2250. *
  2251. * CALL DATE (STATUS)
  2252. *
  2253. * ENTRY NONE
  2254. *
  2255. * EXIT (STATUS) = PACKED DATE AND TIME
  2256. *
  2257. * PDATE(STATUS); ( SYMPL CALL )
  2258. *
  2259.  
  2260. PDATE SUBR =
  2261. SB1 1
  2262. BX5 X1
  2263. PDATE X1
  2264. SA1 X5
  2265. BX6 X1
  2266. EQ PDATEX
  2267.  
  2268. END
  2269. IDENT PURGE
  2270. B1=1
  2271. LIST F
  2272. TITLE PURGE - PURGE A PERMANENT FILE.
  2273. COMMENT PURGE A PERMANENT FILE.
  2274. IPARAMS
  2275. PURGE SPACE 4,10
  2276. NOSPFM IFC EQ,*"OS.NAME"*KRONOS*
  2277. * NOS PERMANENT FILE MANAGER SYMPL INTERFACE ROUTINES
  2278. *
  2279. * PURGE(LFN,UN,PW)
  2280. *
  2281. * LFN - LOGICAL FILE NAME, LEFT JUSTIFIED, ZERO FILLED,
  2282. * SEVEN CHARACTER MAXIMUM
  2283. * PFN - PERMANENT FILE NAME, SAME CHARACTERISTICS AS LFN
  2284. * UN - USER NUMBER, SAME CHARACTERISTICS AS PFN,LFN
  2285. * PW - PASSWORD, SAME CHARACTERISTICS AS UN,PFN,LFN
  2286. * M - FILE ACCESS MODE
  2287. * = 0, READ/WRITE
  2288. * = 1, READ
  2289. *
  2290. * THESE ARE SYMPL FUNCTIONS AND WILL RETURN THE STATUS
  2291. * FROM WORD 0, BITS 17-10. SEE NOS REFERENCE MANUAL, VOL. 2
  2292. * CHAPTER 5, FOR THE PFM ERROR CODE. ZERO IS SUCCESSFUL
  2293. * COMPLETION
  2294. *
  2295. PFMFET FILEB DUMMY,DUMMYL,EPR,(FET=14D) DUMMY PFM FET
  2296. DUMMYL EQU 0
  2297. DUMMY BSS 0
  2298. PFMUN EQU PFMFET+9D FET ALTERNATE USER NUMBER WORD
  2299. PFMERD EQU PFMFET+10D ERROR ADDRESS WORD IN FET
  2300. PFMERAD BSSZ 3 PUT ERROR MESSAGE HERE/NOT DAYFILE
  2301. SPACE 4,15
  2302. *** PURGE - PURGES A NOS PERMANENT FILE
  2303. *
  2304. * SYMPL CALL - STATUS = PURGE(LFN,UN,PW)
  2305. *
  2306. *
  2307. ENTRY PURGE
  2308. PURGE SUBR = ENTRY/EXIT
  2309. SB1 1
  2310. SA5 PFMFET GET CONTENTS OF FET+0
  2311. SA4 X1 GET LFN
  2312. MX0 -18 SET MASK
  2313. BX6 X0*X4
  2314. BX7 -X0*X5 MASK OLD LFN, LEAVE LOWER 18 BITS
  2315. BX6 X6+X7 PUT FET+0 TOGETHER
  2316. SA6 A5 PUT LFN IN FET+0
  2317. SX7 PFMERAD ADDRESS OF MSG BUFFER
  2318. SA5 A1+B1 ADDRESS OF UN IN X5
  2319. SA3 X5 GET UN
  2320. BX3 X0*X3 X3 = UN
  2321. SA6 PFMFET PUT LFN IN FET+0
  2322. SA4 A5+B1 ADDRESS OF PW IN X4
  2323. MX6 42 SET MASK
  2324. SA2 X4 GET PW
  2325. SA4 PFMERD FETCH ERROR ADDRESS WORD FROM FET
  2326. BX2 X0*X2 X2 = PW
  2327. BX4 X6*X4 CLEAR OLD ADDRESS
  2328. BX7 X7+X4 PUT NEW ONE IN
  2329. SA7 A4 STORE BACK IN FET
  2330. PURGE PFMFET,X3,X2
  2331. SA1 PFMFET GET FET+0
  2332. MX0 -8
  2333. AX1 10 RIGHT JISTIFY BITS 17-10
  2334. BX6 -X0*X1 ISOLATE ERROR CODE IN X6
  2335. JP PURGEX
  2336. NOSPFM ENDIF
  2337. END
  2338. IDENT RECALL
  2339. ENTRY RECALL
  2340. B1=1
  2341. LIST F
  2342. TITLE RECALL - PLACE PROGRAM IN RECALL STATUS.
  2343. COMMENT PLACE PROGRAM IN RECALL STATUS.
  2344. RECALL SPACE 4,10
  2345. *** RECALL - PLACE PROGRAM IN RECALL STATUS.
  2346. *
  2347. * CALL RECALL (STATUS)
  2348. *
  2349. * ENTRY (STATUS) = 0, ONE SYSTEM PERIODIC RECALL IS ISSUED
  2350. * = OTHER, PROGRAM IS RECALLED WHEN BIT 0 IS SET
  2351. *
  2352. * RECALL(STATUS); ( SYMPL CALL )
  2353. *
  2354. * ENTRY - STATUS, AN ITEM THAT IS 0 OR THE COMPLETE BIT WORD
  2355. * EXIT NONE IF (STATUS) =0
  2356. * ELSE BIT 0 OF STATUS IS SET
  2357.  
  2358.  
  2359. RECALL SUBR =
  2360. SB1 1
  2361. SA2 X1 STATUS WORD
  2362. ZR,X2 REC1 IF SINGLE RECALL
  2363. RECALL X1 ELSE, AUTO-RECALL
  2364. JP RECALLX
  2365.  
  2366. REC1 RECALL
  2367. JP RECALLX
  2368.  
  2369. END
  2370. IDENT REQUEST
  2371. ENTRY REQUEST
  2372. B1=1
  2373. LIST F
  2374. TITLE REQUEST - REQUEST ASSIGNMENT OF EQUIPMENT TO FILE.
  2375. COMMENT REQUEST ASSIGNMENT OF EQUIPMENT TO FILE.
  2376. REQUEST SPACE 4,10
  2377. *** REQUEST - REQUEST ASSIGNMENT OF EQUIPMENT TO FILE.
  2378. *
  2379. * CALL REQUEST (LIST)
  2380. *
  2381. * ENTRY SEE SYSTEM REFERENCE MANUAL
  2382. *
  2383. * REQUEST(LIST); ( SYMPL CALL )
  2384. *
  2385. * ENTRY - AN ARRAY CONTAINING A REQUEST LIST, SEE OPERATING
  2386. * SYSTEM REFERENCE MANUAL
  2387.  
  2388.  
  2389. REQUEST SUBR =
  2390. SB1 1
  2391. REQUEST X1
  2392. JP REQUESTX
  2393.  
  2394. END
  2395. IDENT RTIME
  2396. ENTRY RTIME
  2397. B1=1
  2398. LIST F
  2399. TITLE RTIME - OBTAIN REAL TIME CLOCK READING.
  2400. COMMENT OBTAIN REAL TIME CLOCK READING.
  2401. RTIME SPACE 4,10
  2402. *** RTIME - OBTAIN REAL TIME CLOCK READING.
  2403. *
  2404. * CALL RTIME (STATUS)
  2405. *
  2406. * ENTRY NONE
  2407. *
  2408. * EXIT (STATUS) = RESPONSE
  2409. * NOS RESPONSE -
  2410. **T 24/ SECONDS,36/ MILLISECONDS
  2411. *
  2412. * NOSBE RESPONSE -
  2413. **T 24/ JUNK,24/ SECONDS,12/ QM
  2414. *
  2415. * TIME IS SYSTEM SOFTWARE CLOCK TIME SINCE DEADSTART
  2416. * QM = 1/4096 OF A SECOND
  2417. *
  2418. * RTIME(STATUS); ( SYMPL CALL )
  2419. *
  2420. * EXIT - STATUS, AN ITEM THAT WILL CONTAIN THE RTIME STATUS
  2421. * WORD ON EXIT
  2422.  
  2423.  
  2424. RTIME SUBR =
  2425. SB1 1
  2426. BX5 X1
  2427. RTIME X1
  2428. SA1 X5
  2429. BX6 X1 RETURN RESPONSE AS FUNCTION RESULT
  2430. JP RTIMEX
  2431.  
  2432. END
  2433. IDENT SETUI
  2434. ENTRY SETUI
  2435. B1=1
  2436. COMMENT SETUI - SET USER INDEX
  2437. TITLE SETUI - SET USER INDEX
  2438. SPACE 4
  2439. *** SETUI - SET USER INDEX.
  2440. *
  2441. *
  2442. * SETUI N
  2443. *
  2444. * ENTRY *N* = USER INDEX.
  2445. *
  2446. SETUI SUBR =
  2447. SB1 1
  2448. SA1 X1
  2449. SETUI X1
  2450. JP SETUIX
  2451. END
  2452. IDENT GETPFP
  2453. ENTRY GETPFP
  2454. B1=1
  2455. COMMENT GETPFP - GET PERMANENT FILE PARAMETERS.
  2456. SPACE 4,10
  2457. *** GETPFP - GET PERMANENT FILE PARAMETERS.
  2458. * CPM 57(8) CALL.
  2459. *
  2460. * GETPFP ADDR
  2461. *
  2462. * ENTRY *ADDR* = ADDRESS TO RECEIVE THE PARAMETER
  2463. * BLOCK.
  2464. *
  2465. * EXIT PARAMETERS RETURNED IN PARAMETER BLOCK WHICH
  2466. * HAS THE FOLLOWING FORMAT -
  2467. *
  2468. * 42/ FAMILY NAME, 18/0
  2469. * 42/ PACK NAME, 18/DEVICE TYPE
  2470. * 42/ USER NAME, 18/USER INDEX
  2471. *
  2472.  
  2473. GETPFP SUBR =
  2474. SB1 1
  2475. SA1 A1
  2476. GETPFP X1
  2477. JP GETPFPX
  2478. END
  2479. IDENT SETPFP
  2480. ENTRY SETPFP
  2481. B1=1
  2482. COMMENT SETPFP - SET PERMANENT FILE PARAMETERS.
  2483. SPACE 4,10
  2484. *** SETPFP - SET PERMANENT FILE PARAMETERS.
  2485. * CPM 60(8) CALL.
  2486. *
  2487. * SETPFP ADDR
  2488. *
  2489. * ENTRY *ADDR* = ADDRESS OF PARAMETER BLOCK WHICH HAS
  2490. * THE FOLLOWING FORMAT -
  2491. *
  2492. * 42/ FAMILY NAME, 14/ , 4/FG
  2493. * 42/ PACK NAME, 18/PACK TYPE
  2494. * 42/ USER NAME, 18/USER INDEX
  2495. *
  2496. * FG = FLAG BITS DENOTING WHICH FIELDS TO SET.
  2497. * BIT 3 - FAMILY NAME.
  2498. * BIT 2 - PACK NAME.
  2499. * BIT 1 - USER NAME.
  2500. * BIT 0 - USER INDEX.
  2501. *
  2502. * EXIT PARAMETERS SET IN CONTROL POINT AREA IF FLAGGED.
  2503. * STATUS OF SPECIFIED FAMILY RETURNED AS FOLLOWS -
  2504. *
  2505. * 42/ FAMILY NAME, 6/ST, 8/0, 4/FG
  2506. * ST = 0 IF FAMILY NAME SET IN CONTROL POINT AREA.
  2507. * = 1 IF SPECIFIED FAMILY WAS NOT FOUND (CURRENT
  2508. * FAMILY REMAINS UNCHANGED).
  2509. *
  2510.  
  2511. SETPFP SUBR =
  2512. SB1 1
  2513. SA1 A1
  2514. SETPFP X1
  2515. JP SETPFPX
  2516. END
  2517. IDENT SYSTEM
  2518. ENTRY SYSTEM
  2519. B1=1
  2520. LIST F
  2521. TITLE SYSTEM - REQUEST SYSTEM FUNCTION.
  2522. COMMENT REQUEST SYSTEM FUNCTION.
  2523. SYSTEM SPACE 4,10
  2524. *** SYSTEM - REQUEST SYSTEM FUNCTION.
  2525. *
  2526. * CALL SYSTEM (ARGUMENT)
  2527. *
  2528. * ENTRY (ARGUMENT) = 3 CHARACTER SYSTEM REQUEST NAME,
  2529. * INCLUDING OPTIONAL PARAMETERS
  2530. *
  2531. * SYSTEM(ARGUMENT); ( SYMPL CALL )
  2532. *
  2533. * ENTRY - ARGUMENT, AN ITEM CONTAINING THE REQUEST ARGUMENT
  2534. *
  2535. * EXIT DEPENDS ON CALL, SEE SYSTEM REFERENCE MANUAL
  2536.  
  2537.  
  2538. SYSTEM SUBR =
  2539. SB1 1
  2540. SA1 X1 SYSTEM REQUEST
  2541. BX6 X1
  2542. SYSTEM
  2543. JP SYSTEMX
  2544.  
  2545. END
  2546. IDENT TIME
  2547. ENTRY TIME
  2548. B1=1
  2549. LIST F
  2550. TITLE TIME - OBTAIN ACCUMULATED CPU TIME.
  2551. COMMENT OBTAIN ACCUMULATED CPU TIME.
  2552. TIME SPACE 4,10
  2553. *** TIME - OBTAIN ACCUMULATED CPU TIME.
  2554. *
  2555. * CALL TIME (STATUS)
  2556. *
  2557. * ENTRY NONE
  2558. *
  2559. * EXIT (STATUS) = RESPONSE
  2560. * NOS RESPONSE -
  2561. **T 12/ 2000B,12/0,24/ SECONDS,12/ MILLISECONDS
  2562. *
  2563. * NOSBE RESPONSE -
  2564. **T 24/ TIME LIMIT (SECONDS),24/ SECONDS,12/ MILLISECONDS
  2565. *
  2566. * TIME(STATUS); ( SYMPL CALL )
  2567. *
  2568. * EXIT - STATUS, AN ITEM THAT WILL CONTAIN THE TIME STATUS WORD
  2569. * ON EXIT
  2570.  
  2571.  
  2572. TIME SUBR =
  2573. SB1 1
  2574. BX5 X1
  2575. TIME X1
  2576. SA1 X5
  2577. BX6 X1 RETURN CPU TIME AS FUNCTION RESULT
  2578. JP TIMEX
  2579.  
  2580. END
  2581. IDENT TRANSF
  2582. ENTRY TRANSF
  2583. B1=1
  2584. LIST F
  2585. TITLE TRANSF - TRANSFER TO DEPENDENT JOBS.
  2586. COMMENT TRANSFER TO DEPENDENT JOBS.
  2587. IPARAMS
  2588. TRANSF SPACE 4,10
  2589. *** TRANSF - TRANSFER TO DEPENDENT JOBS.
  2590. * NOSBE ONLY.
  2591. *
  2592. * CALL TRANSF (LIST)
  2593. *
  2594. * ENTRY (LIST) = LIST OF JOBNAMES WHOSE DEPENDENCY COUNTS ARE
  2595. * TO BE DECREMENTED. TERMINATED BY A ZERO WORD.
  2596. *
  2597. * TRANSF(LIST); ( SYMPL CALL )
  2598.  
  2599.  
  2600. TRANSF SUBR =
  2601. SB1 1
  2602. SCPNOS IFC EQ,*"OS.NAME"*NOSBE *
  2603. SX6 A0
  2604. SA6 TRAA
  2605. TRANSF X1
  2606. SA1 TRAA
  2607. SA0 X1
  2608. SCPNOS ELSE
  2609. SA1 =0LTRANSF
  2610. RJ =XMACREL. DIAGNOSE UNDEFINED MACRO
  2611. SCPNOS ENDIF
  2612. JP TRANSFX
  2613.  
  2614. TRAA CON 0
  2615.  
  2616. END
  2617. IDENT VERSION
  2618. ENTRY VERSION
  2619. B1=1
  2620. LIST F
  2621. COMMENT GET OPERATING SYSTEM VERSION.
  2622. SPACE 4
  2623. *** VERSION - GET OPERATING SYSTEM VERSION.
  2624. *
  2625. * VERSION(ADDR); (SYMPL CALL)
  2626. *
  2627. * ENTRY ADDR 12/BC,12/SB,12/BP,6/0,18/WADDR
  2628. *
  2629. * BC = NUMBER OF BYTES (1-10)TO RETURN FROM TWO-WORD
  2630. * SOURCE FIELD (CM LOCATION CONTAINING VERSION
  2631. * NAME)
  2632. *
  2633. * SB = BYTE IN SOURCE FIELD TO BEGIN TRANSFER AT (0 TO 9);
  2634. * THE SUM OF BC AND SB MUST BE LESS THAN 11.
  2635. *
  2636. * BP = BYTE POSITION WITHIN RECEIVING FIELD (WADDR)
  2637. * TO BEGIN TRANSFER AT (0 TO 4)
  2638. *
  2639. * WADDR = BEGINNING ADDRESS OF THREE WORD BLOCK TO
  2640. * RECEIVE DATA
  2641. *
  2642.  
  2643. VERSION BSS 1
  2644. SB1 1
  2645. VERSION X1
  2646. EQ VERSION
  2647. END
  2648. IDENT XREL
  2649. ENTRY XREL.
  2650. ENTRY XREL=
  2651. B1=1
  2652. LIST F
  2653. TITLE XREL - COMMON DECK INTERFACE ROUTINES.
  2654. COMMENT COMMON DECK INTERFACE ROUTINES.
  2655. IPARAMS
  2656. XREL SPACE 4,10
  2657. *** XREL - COMMON DECK INTERFACE ROUTINES.
  2658. *
  2659. * T. R. RAMSEY. 76/08/08.
  2660. * M. D. PICKARD 77/03/11
  2661. * ADDED XCHD TO CONVERT HEX TO DISPLAY
  2662. * ADDED XWOD TO CONVERT ONE 60 BIT WORD
  2663. * TO TWO 10 CHAR DISPLAY CODE WORDS
  2664. * ADDED SYMPL CALLING SEQUENCE TO IMS
  2665. *
  2666. * COPYRIGHT CONTROL DATA SYSTEMS INC. 1994
  2667. XREL SPACE 4,10
  2668. *** XREL IS A COLLECTION OF RELOCATABLE MODULES THAT
  2669. * PROVIDE THE INTERFACE BETWEEN HIGHER LEVEL LANGUAGE MODULES
  2670. * AND THE STANDARD COMMON DECK ROUTINES THAT ARE NOT CALLED
  2671. * BY SYSTEM MACROS.
  2672. XREL SPACE 4,10
  2673. KRNNOS IFC EQ,*"OS.NAME"*KRONOS*,1
  2674. LOCAL EQU 3
  2675. XREL. SPACE 4,10
  2676. ** XREL. - UNDEFINED COMMON DECK PROCESSOR.
  2677. *
  2678. * ENTRY (X1) = LAST 3 CHARACTERS OF COMMON DECK NAME IN 0L FORM
  2679. *
  2680. * EXIT DOES NOT EXIT
  2681. *
  2682. * USES A6 B1 X6
  2683. *
  2684. * CALLS NONE
  2685. *
  2686. * NEEDS MACROS ABORT, MESSAGE
  2687.  
  2688.  
  2689. XREL. SUBR = ENTRY/EXIT
  2690. SB1 1
  2691. BX6 X1
  2692. SA6 XREA+3
  2693. MESSAGE XREA,LOCAL,RCL
  2694. ABORT
  2695. JP XREL.X
  2696.  
  2697. XREA DATA C* XREL - UNDEFINED ROUTINE - FILL-IN.*
  2698. XREL= SPACE 4,10
  2699. ** XREL= - ILLEGAL ARGUMENT PROCESSOR.
  2700. *
  2701. * ENTRY (X1) = LAST 3 CHARACTERS OF COMMON DECK NAME IN 0L FORM
  2702. * (X2) = ILLEGAL ARGUMENT
  2703. *
  2704. * EXIT DOES NOT EXIT
  2705. *
  2706. * USES A6 B1 X0,X1,X2,X6
  2707. *
  2708. * CALLS SFW
  2709. *
  2710. * NEEDS MACROS ABORT, MESSAGE
  2711.  
  2712.  
  2713. XREL= SUBR = ENTRY/EXIT
  2714. SB1 1
  2715. BX0 X2 SAVE SECOND ARGUMENT
  2716. LX1 -6
  2717. SX2 1R-
  2718. BX1 X1+X2
  2719. RJ =XZTB=
  2720. BX1 X0
  2721. SA6 XREB
  2722. RJ =XZTB=
  2723. SA6 XREB+3
  2724. MESSAGE XREB,LOCAL,RCL
  2725. ABORT
  2726. JP XREL=X
  2727.  
  2728. XREB DATA C* FILL-IN - ILLEGAL ARGUMENT >FILL-IT-IN<.*
  2729.  
  2730. END
  2731. IDENT XCDD
  2732. ENTRY XCDD
  2733. B1=1
  2734. LIST F
  2735. TITLE XCDD - CONVERT INTEGER TO DECIMAL DISPLAY CODE.
  2736. COMMENT CONVERT INTEGER TO DECIMAL DISPLAY CODE.
  2737. XCDD SPACE 4,10
  2738. *** XCDD - CONVERT INTEGER TO DECIMAL DISPLAY CODE.
  2739. *
  2740. * HOLLERITH = XCDD (INTEGER)
  2741. *
  2742. * XX = XCDD(YY); ( SYMPL CALL )
  2743. *
  2744. * ENTRY - YY, AN ITEM THAT CONTAINS THE INTEGER TO BE CONVERTED
  2745. *
  2746. * EXIT - XX, A CHAR. ITEM TO CONTAIN DISPLAY CODE ON EXIT
  2747.  
  2748.  
  2749. XCDD SUBR = ENTRY/EXIT
  2750. SB1 1
  2751. SA1 X1+
  2752. RJ =XCDD=
  2753. JP XCDDX RETURN, RESULT IN X6
  2754.  
  2755. END
  2756. IDENT XCFD
  2757. ENTRY XCFD
  2758. B1=1
  2759. LIST F
  2760. TITLE XCFD - CONVERT INTEGER TO F10.3 FORMAT.
  2761. COMMENT CONVERT INTEGER TO F10.3 FORMAT.
  2762. XCFD SPACE 4,10
  2763. *** XVFD - CONVERT INTEGER TO F10.3 FORMAT.
  2764. *
  2765. * HOLLERITH = XCFD (INTEGER)
  2766. *
  2767. * XX = XCFD(YY); ( SYMPL CALL )
  2768. *
  2769. * ENTRY - YY, AN ITEM THAT CONTAINS THE INTEGER TO BE CONVERTED
  2770. *
  2771. * EXIT - XX, A CHAR. ITEM TO CONTAIN DISPLAY CODE ON EXIT
  2772.  
  2773.  
  2774. XCFD SUBR = ENTRY/EXIT
  2775. SB1 1
  2776. SA1 X1+
  2777. RJ =XCFD= CONVERT
  2778. JP XCFDX RETURN, RESULT IN X6
  2779. CFD SPACE 4,10
  2780. END
  2781. IDENT XCHD
  2782. ENTRY XCHD
  2783. B1=1
  2784. LIST F
  2785. TITLE XCHD - CONVERT HEXIDECIMAL INTEGER TO DISPLAY CODE.
  2786. COMMENT CONVERT HEXIDECIMAL INTEGER TO DISPLAY CODE.
  2787. SPACE 4,10
  2788. *** XCHD - CONVERT HEXIDECIMAL INTEGER TO DISPLAY CODE.
  2789. *
  2790. * CONVERT RIGHT MOST 40 BITS OF A BINARY WORD ( 10/4 BIT
  2791. * HEX DIGITS) TO 10 HEXIDECIMAL DISPLAY CODE CHARACTERS
  2792. * ( LEFT ZEROES SUPPRESSED )
  2793. *
  2794. * XX = XCHD(YY); ( SYMPL CALL )
  2795. *
  2796. * ENTRY - XY, AN ITEM CONTAINING THE WORD TO BE CONVERTED
  2797. *
  2798. * EXIT - XX, HEX DISPLAY CODE EQUIVILENCE OF THE RIGHT MOST
  2799. * 10 HEX DIGIT IN YY
  2800.  
  2801.  
  2802. XCHD SUBR = ENTRY/EXIT
  2803. SB1 1 B1=1
  2804. SA4 XCHDA =1H
  2805. SA1 X1 (X1) = HEXIDECIMAL INTEGER IN BINARY
  2806. MX2 -40 RIGHT MOST 40 BITS MASK
  2807. BX1 -X2*X1 EXTRACT RIGHT MOST 40 BITS
  2808. SB7 1R0 (B7) = CHARACTER ZERO
  2809. MX2 -4 (X2) = DIGIT MASK
  2810. SB3 6 (B3) = SHIFT COUNT FOR EACH CHARACTER
  2811. SB6 1R (B6) = CHARACTER BLANK
  2812. SB5 1R9 (B5) = CHARACTER 9
  2813. SB2 -B3 INITIALIZE SHIFT COUNT
  2814. SB4 B7-B6 (B4) = CONVERSION VALUE FOR NUMERIC
  2815. XCHD1 BSS 0
  2816. BX7 -X2*X1 EXTRACT DIGIT
  2817. SX5 X7+B7 ADD CHAR. ZERO TO DIGIT
  2818. SB2 B2+B3 BUMP JUSTIFY COUNT
  2819. LX4 -6 SHIFT ASSEMBLY
  2820. SX3 X7+B4 CONVERT DIGIT ( W/BLANK BIAS )
  2821. AX1 4 SHIFT OFF DIGIT FROM INPUT WORD
  2822. SX5 X5-1R9 SEE IF CHARACTER GREATER THAT NINE
  2823. NG X5,XCHD2 IF LESS THAN NINE
  2824. ZR X5,XCHD2 IF EQUAL TO NINE
  2825. SX3 X5-1R BIAS DIGIT BY CHAR. BLANK INVERSE
  2826. XCHD2 BSS 0
  2827. IX4 X4+X3 ADD DIGIT TO ASSEMBLY
  2828. NZ X1,XCHD1 LOOP TO ZERO DIGIT
  2829. LX6 X4,B2 RIGHT JUSTIFY ASSEMBLY
  2830. JP XCHDX
  2831. XCHDA CON 1H
  2832. END
  2833. IDENT XCOD
  2834. ENTRY XCOD
  2835. B1=1
  2836. LIST F
  2837. TITLE XCOD - CONVERT INTEGER TO OCTAL DISPLAY CODE.
  2838. COMMENT CONVERT INTEGER TO OCTAL DISPLAY CODE.
  2839. XCOD SPACE 4,10
  2840. *** XCOD - CONVERT INTEGER TO OCTAL DISPLAY CODE.
  2841. *
  2842. * HOLLERITH = XCOD (INTEGER)
  2843. *
  2844. * XX = XCOD(YY); ( SYMPL CALL )
  2845. *
  2846. * ENTRY - YY, AN ITEM THAT CONTAINS THE INTEGER TO BE CONVERTED
  2847. *
  2848. * EXIT - XX, A CHAR. ITEM TO CONTAIN DISPLAY CODE ON EXIT
  2849.  
  2850.  
  2851. XCOD SUBR = ENTRY/EXIT
  2852. SB1 1
  2853. SA1 X1+
  2854. RJ =XCOD=
  2855. JP XCODX RETURN, RESULT IN X6
  2856.  
  2857. END
  2858. IDENT XSFN
  2859. ENTRY XSFN
  2860. B1=1
  2861. LIST F
  2862. TITLE XSFN - SPACE FILL NAME.
  2863. COMMENT SPACE FILL NAME.
  2864. XSFN SPACE 4,10
  2865. *** XSFN - SPACE FILL NAME.
  2866. *
  2867. * HOLLERITH = XSFN (NAME)
  2868. *
  2869. * XX = XSFN(NAME); ( SYMPL CALL )
  2870. *
  2871. * ENTRY - NAME, AN ITEM CONTAINING THE NAME, LEFT JUSTIFIED,
  2872. * ZERO FILLED
  2873. *
  2874. * EXIT - XX, A CHAR. ITEM TO CONTAIN DISPLAY CODE ON EXIT
  2875.  
  2876.  
  2877. XSFN SUBR = ENTRY/EXIT
  2878. SB1 1
  2879. SA1 X1+
  2880. RJ =XSFN= SPACE FILL NAME
  2881. JP XSFNX RETURN, RESULT IN X6
  2882. SFN SPACE 4,10
  2883. END
  2884. IDENT XSFW
  2885. ENTRY XSFW
  2886. B1=1
  2887. LIST F
  2888. TITLE XSFW - SPACE FILL WORD.
  2889. COMMENT SPACE FILL WORD.
  2890. XSFW SPACE 4,10
  2891. *** XSFW - SPACE FILL WORD.
  2892. *
  2893. * HOLLERITH = XSFW (WORD)
  2894. *
  2895. * XX = XSFW(WORD)
  2896. *
  2897. * ENTRY - WORD, AN ITEM CONTAINING TO WORD TO CHANGE ZEROES TO
  2898. * BLANKS
  2899. *
  2900. * EXIT - XX, A CHAR. ITEM TO CONTAIN DISPLAY CODE ON EXIT
  2901.  
  2902.  
  2903. XSFW SUBR = ENTRY/EXIT
  2904. SB1 1
  2905. SA1 X1+
  2906. RJ =XZTB= SPACE FILL WORD
  2907. JP XSFWX RETURN, RESULT IN X6
  2908.  
  2909. END
  2910. IDENT XWHD
  2911. ENTRY XWHD
  2912. B1=1
  2913. LIST F
  2914. TITLE XWHD - CONVERT HEXIDECIMAL WORD TO DISPLAY CODE.
  2915. COMMENT CONVERT HEXIDECIMAL WORD TO DISPLAY CODE.
  2916. SPACE 4,10
  2917. *** XWHD - CONVERT HEXIDECIMAL WORD TO DISPLAY CODE.
  2918. *
  2919. * CONVERT A 60 BIT BINARY WORD (15/4 BIT HEX DIGITS) TO
  2920. * TWO WORDS OF HEXIDECIMAL DISPLAY CODE CHARACTERS ( THE
  2921. * SECOND WORD IS BLANK FILLED TO THE RIGHT)
  2922. *
  2923. * XWHD (W,A); (SYMPL CALL)
  2924. *
  2925. * ENTRY - W, AN ITEM CONTAINING THE WORD TO BE CONVERTED
  2926. *
  2927. * EXIT - A , HEX DISPLAY CODE EQUIVILENCE OF THE 15 HEX
  2928. * DIGITS IN W, THE LEFT 10 DIGITS IN A AND
  2929. * THE RIGHT 5 DIGITS LEFT JUSTIFIED, BLANK
  2930. * FILLED IN A + 1
  2931.  
  2932.  
  2933. XWHD SUBR = ENTRY/EXIT
  2934. SB1 1 B1=1
  2935. SA4 XCHDB 10H 00000
  2936. SB5 A1 SAVE (A1)
  2937. SA1 X1 (X1) = HEXIDECIMAL INTEGER IN BINARY
  2938. SB3 6 (B3) = SHIFT COUNT FOR EACH CHARACTER
  2939. SB2 24 INITIALIZE SHIFT COUNT
  2940. RJ XCHD CONVERT LOWER 5 DIGITS
  2941. SA3 B5+B1 FETCH LOCATION OF RETURN PARAMETER
  2942. SA6 X3+B1 STORE LOWER 5 CHARACTERS
  2943.  
  2944. SB2 -B3 INITIALIZE COUNT FOR LEFT 10 DIGITS
  2945. SA4 XCHDA 10H0000000000
  2946. RJ XCHD CONVERT UPPER 10 DIGITS
  2947. SA6 X3 STORE UPPER 10 CHARACTERS
  2948. JP XWHDX RETURN
  2949.  
  2950. XCHD BSSZ 1
  2951. XCHD1 BSS 0
  2952. MX2 -4 (X2) = DIGIT MASK
  2953. BX7 -X2*X1 EXTRACT DIGIT
  2954. LX4 -6 SHIFT ASSEMBLY
  2955. AX1 4 SHIFT OFF DIGIT FROM INPUT WORD
  2956. SX5 X7-9 SEE IF CHARACTER GREATER THAT NINE
  2957. NG X5,XCHD2 IF LESS THAN NINE
  2958. ZR X5,XCHD2 IF EQUAL TO NINE
  2959. SX7 X5-1R0 BIAS DIGIT BY CHAR. ZERO INVERSE
  2960. XCHD2 BSS 0
  2961. IX4 X4+X7 ADD DIGIT TO ASSEMBLY
  2962. SB2 B2+B3 BUMP JUSTIFY COUNT
  2963. SB4 B2-54
  2964. NZ B4,XCHD1 NOT END OF WORD
  2965. LX6 X4,B2 RIGHT JUSTIFY WORD
  2966. EQ XCHD
  2967.  
  2968. XCHDA CON 10H0000000000
  2969. XCHDB CON 10H 00000
  2970.  
  2971. END
  2972. IDENT XWOD
  2973. ENTRY XWOD
  2974. B1=1
  2975. LIST F
  2976. TITLE XWOD - CONVERT WORD TO OCTAL DISPLAY CODE.
  2977. COMMENT CONVERT WORD TO OCTAL DISPLAY CODE.
  2978. XWOD SPACE 4,8
  2979. *** XWOD - CONVERT WORD TO OCTAL DISPLAY CODE
  2980. *
  2981. * M. D. PICKARD. 77/03/15
  2982. *
  2983. * SYMPL CALLABLE ROUTINE TO CONVERT ONE 60 BIT WORD INTO
  2984. * TWO 60 BIT WORDS CONTAINING THE THE OCTAL REPRESENTATION
  2985. * OF THE INPUT WORD.
  2986. *
  2987. * XWOD(W,A); ( SYMPL CALL )
  2988. *
  2989. * ENTRY - W, AN ITEM THAT CONTAINS THE WORD TO BE CONVERTED
  2990. * A, A 20 CHARACTER BUFFER FWA
  2991. * ( AN ARRAY OR ITEM 20 CHARACTERS LONG )
  2992. *
  2993. * EXIT - A AND A+1, CONTAIN CONVERTED WORD
  2994.  
  2995.  
  2996. XWOD SUBR = ENTRY/EXIT
  2997. SB1 1 (B1) = 1
  2998. SB7 A1 SAVE (A1)
  2999. SA1 X1 FETCH W
  3000. RJ =XWOD=
  3001. SA2 B7+B1 FETCH LOC (A)
  3002. SA6 X2 STORE UPPER 10 CHARACTERS
  3003. SA7 X2+B1 STORE LOWER 10 CHARACTERS
  3004. JP XWODX RETURN
  3005.  
  3006. END
  3007. IDENT DFC
  3008. ENTRY DFC
  3009. B1=1
  3010. TITLE DFC - DECREMENT FAMILY COUNT OF USERS.
  3011. *COMMENT DECREMENT FAMILY COUNT OF USERS.
  3012. SPACE 4,10
  3013. *** DFC - DECREMENT FAMILY COUNT OF USERS.
  3014. *
  3015. * D. G. DEPEW 81/11/23.
  3016. SPACE 4,10
  3017. *** DFC PROVIDES A HIGH LEVEL LANGUAGE INTERFACE TO THE *CPM*
  3018. * FUNCTION HAVING THE FUNCTION CODE 73B, WHICH DECREMENTS THE
  3019. * COUNT OF USERS FOR A SPECIFIED FAMILY.
  3020. SPACE 4,10
  3021. *** SYMPL CALLING SEQUENCE.
  3022. *
  3023. * DFC (FAMILY);
  3024. *
  3025. * ENTRY FAMILY = ARRAY NAME OF THE DECREMENT FAMILY COUNT
  3026. * FUNCTION (*CPM* FUNCTION 73B) PARAMETER WORD.
  3027. SPACE 4,10
  3028. *** FORTRAN CALLING SEQUENCE.
  3029. *
  3030. * CALL DFC (FAMILY)
  3031. *
  3032. * ENTRY FAMILY = NAME OF THE DECREMENT FAMILY COUNT FUNCTION
  3033. * (*CPM* FUNCTION 73B) PARAMETER WORD.
  3034. SPACE 4,10
  3035. DFC EQ *+1S17D
  3036. DFCX EQU *
  3037. SB1 1
  3038. SYSTEM CPM,R,X1,7300B
  3039. JP DFCX
  3040.  
  3041. END
  3042. IDENT APPLS
  3043. ENTRY APPLS
  3044. LIST X
  3045. TITLE APPLS - GET LOC AND SIZE OF NETWORK APPLICATION TABLE.
  3046. *COMMENT NETWORK APPLICATION TABLE.
  3047. SPACE 4,10
  3048. *** APPLS - GET LOCATION AND SIZE OF NETWORK APPLICATION TABLE.
  3049. *
  3050. * D. G. DEPEW. 82/01/13.
  3051. SPACE 4,10
  3052. *** APPLS PROVIDES A HIGH LEVEL LANGUAGE INTERFACE TO THE NOS
  3053. * COMMON DECK *COMTNAP*, WHICH IS ASSEMBLED LOCAL TO APPLS.
  3054. SPACE 4,10
  3055. *** SYMPL CALLING SEQUENCE.
  3056. *
  3057. * APPLS (ADDRESS, SIZE);
  3058. *
  3059. * ENTRY ADDRESS = NAME OF A WHOLE WORD SCALER ITEM TO RECEIVE
  3060. * THE ADDRESS OF THE NETWORK APPLICATION TABLE.
  3061. * SIZE = NAME OF A WHOLE WORD SCALER ITEM TO RECEIVE
  3062. * THE SIZE OF THE NETWORK APPLICATION TABLE.
  3063. *
  3064. * EXIT (ADDRESS) = ADDRESS OF THE NETWORK APPLICATION TABLE.
  3065. * (SIZE) = SIZE (CM WORDS) OF THE NETWORK APPLICATION
  3066. * TABLE.
  3067. SPACE 4,10
  3068. OPL XTEXT COMTNAP
  3069. SPACE 4,10
  3070. APPLS EQ *+1S17D
  3071. APPLSX EQU *
  3072. SA2 A1+1 ADDRESS OF SIZE PARAMETER
  3073. SX6 TNAV ADDR OF TABLE
  3074. SX7 TNAVL SIZE OF TABLE
  3075. SA6 X1
  3076. SA7 X2
  3077. JP APPLSX
  3078.  
  3079. LIST *
  3080.  
  3081. END
  3082.  
  3083. IDENT JROUTE
  3084. ENTRY JROUTE
  3085. B1=1
  3086. TITLE JROUTE - ROUTE JOB FILE TO INPUT QUEUE.
  3087. *COMMENT ROUTE JOB FILE TO INPUT QUEUE.
  3088. SPACE 4,10
  3089. *** JROUTE - ROUTE JOB FILE.
  3090. * C. BRION 83/05/05.
  3091. SPACE 4,10
  3092. *** JROUTE PROVIDES THE HIGH LEVEL LANGUAGE INTERFACE TO THE *DSP*
  3093. * FUNCTION (ROUTE).
  3094. SPACE 4,10
  3095. *** SYMPL CALLING SEQUENCE.
  3096. *
  3097. * JROUTE(RFPB);
  3098. *
  3099. * ENTRY RFPB = ROUTE FUNCTION PARAMETER BLOCK.
  3100. SPACE 4,10
  3101. JROUTE EQ *+1S17D ENTRY/EXIT
  3102. JROUTEX EQU *
  3103. SB1 1
  3104. ROUTE X1,R
  3105. JP JROUTEX
  3106.  
  3107. END
  3108.  
  3109. IDENT GETFIL
  3110. B1=1
  3111. LIST F
  3112. TITLE GETFIL - GET A PERMANENT FILE.
  3113. COMMENT GET A PERMANENT FILE.
  3114. IPARAMS
  3115. GETFIL SPACE 4,10
  3116. NOSPFM IFC EQ,*"OS.NAME"*KRONOS*
  3117. *** NOS PERMANENT FILE MANAGER SYMPL INTERFACE ROUTINES
  3118. *
  3119. * GETFIL(LFN,PFN)
  3120. *
  3121. * LFN - LOGICAL FILE NAME, LEFT JUSTIFIED, ZERO FILLED,
  3122. * SEVEN CHARACTER MAXIMUM
  3123. * PFN - PERMANENT FILE NAME, SAME CHARACTERISTICS AS LFN
  3124. *
  3125. * THIS IS A SYMPL FUNCTION AND RETURNS THE STATUS FROM WORD 0,
  3126. * BITS 17-10. SEE NOS REFERENCE MANUAL FOR PFM ERROR CODES.
  3127. *
  3128. PFMFET FILEB DUMMY,DUMMYL,EPR,(FET=16D) DUMMY PFM FET
  3129. DUMMYL EQU 0
  3130. DUMMY BSS 0
  3131. SPACE 4,15
  3132. *** GETFIL - GETS A NOS PERMANENT FILE
  3133. *
  3134. * SYMPL CALL - STATUS = GETFIL(LFN,PFN);
  3135. *
  3136. *
  3137. ENTRY GETFIL
  3138. GETFIL SUBR = ENTRY/EXIT
  3139. SB1 1
  3140. SA4 X1 GET LFN
  3141. SA3 A1+B1 ADDRESS OF PFN IN X3
  3142. SA5 PFMFET GET CONTENTS OF FET+0
  3143. MX0 -18
  3144. BX7 -X0*X5 MASK OLD LFN, LEAVE LOWER 18 BITS
  3145. BX6 X0*X4 MASK OUT UNWANTED BITS
  3146. SA1 X3 GET PFM
  3147. BX6 X6+X7 PUT FET+0 TOGETHER
  3148. BX1 X0*X1 X1 = PFM
  3149. SA6 A5 PUT LFN IN FET+0
  3150. GET PFMFET,X1 GET FILE
  3151. RECALL PFMFET
  3152. SA1 PFMFET GET FET+0
  3153. MX0 -8
  3154. AX1 10 RIGHT JISTIFY BITS 17-10
  3155. BX6 -X0*X1 ISOLATE ERROR CODE IN X6
  3156. JP GETFILX RETURN
  3157. NOSPFM ENDIF
  3158. END
  3159. IDENT GLIDC
  3160. ENTRY GLIDC
  3161. B1=1
  3162. LIST F
  3163. TITLE GLIDC - GET LID CONFIGURATION .
  3164. COMMENT GET LID CONFIGURATION .
  3165. OPL XTEXT COMSSFM
  3166. OPL XTEXT COMCCMD
  3167. OPL XTEXT COMCSFM
  3168. GLIDC SPACE 4,10
  3169. *** GLIDC - GET LID CONFIGURATION .
  3170. *
  3171. * CALL GLIDC (ARGUMENT)
  3172. *
  3173. * ENTRY (ARGUMENT) = ADDRESS OF PARAMETER BUFFER.
  3174. *
  3175. * GLIDC(ARGUMENT); ( SYMPL CALL )
  3176. *
  3177. * ENTRY - ARGUMENT, AN ITEM CONTAINING THE ADDRESS OF THE
  3178. * PARAMETER BUFFER.
  3179. *
  3180. * EXIT RETURN INFORMATION INTACT IN PARAMETER BUFFER.
  3181.  
  3182.  
  3183. GLIDC SUBR =
  3184. SB1 1
  3185. SA1 X1 GET LID CONFIGURATION PARM BUFFER
  3186. LIST M
  3187. GETLIDC X1
  3188. LIST -M
  3189. JP GLIDCX
  3190.  
  3191. END
  3192. IDENT GPIDA
  3193. ENTRY GPIDA
  3194. B1=1
  3195. LIST F
  3196. TITLE GPIDA - GET PID ATTRIBUTES .
  3197. COMMENT GET PID ATTRIBUTES .
  3198. OPL XTEXT COMSSFM
  3199. OPL XTEXT COMCCMD
  3200. OPL XTEXT COMCSFM
  3201. GPIDA SPACE 4,10
  3202. *** GPIDA - GET PID ATTRIBUTES .
  3203. *
  3204. * CALL GPIDA (ARGUMENT)
  3205. *
  3206. * ENTRY (ARGUMENT) = ADDRESS OF PARAMETER BUFFER.
  3207. *
  3208. * GPIDA(ARGUMENT); ( SYMPL CALL )
  3209. *
  3210. * ENTRY - ARGUMENT, AN ITEM CONTAINING THE ADDRESS OF THE
  3211. * PARAMETER BUFFER.
  3212. *
  3213. * EXIT RETURN INFORMATION INTACT IN PARAMETER BUFFER.
  3214.  
  3215.  
  3216. GPIDA SUBR =
  3217. SB1 1
  3218. SA1 X1 GET PID ATTRIBUTES PARM BUFFER
  3219. LIST M
  3220. GETPIDA X1
  3221. LIST -M
  3222. JP GPIDAX
  3223.  
  3224. END
  3225. IDENT MACHID
  3226. ENTRY MACHID
  3227. B1=1
  3228. LIST F
  3229. COMMENT OBTAIN MACHINE ID.
  3230.  
  3231. *** MACHID - OBTAIN MACHINE ID
  3232. *
  3233. * CALL MACHID (ID)
  3234. *
  3235. * EXIT (ID) = MACHINE ID IN LOWER 2 CHARACTERS
  3236. *
  3237. * MACHID(ID) ( SYMPL CALL )
  3238. *
  3239.  
  3240. MACHID SUBR = ENTRY/EXIT
  3241. SB1 1
  3242. MACHID X1 GET MACHINE ID
  3243. EQ MACHIDX RETURN
  3244.  
  3245. END
  3246. IDENT SPIDA
  3247. ENTRY SPIDA
  3248. B1=1
  3249. LIST F
  3250. TITLE SPIDA - SET PID ATTRIBUTES .
  3251. COMMENT SET PID ATTRIBUTES .
  3252. OPL XTEXT COMSSFM
  3253. OPL XTEXT COMCCMD
  3254. OPL XTEXT COMCSFM
  3255. SPIDA SPACE 4,10
  3256. *** SPIDA - SET PID ATTRIBUTES .
  3257. *
  3258. * CALL SPIDA (ARGUMENT)
  3259. *
  3260. * ENTRY (ARGUMENT) = ADDRESS OF PARAMETER BUFFER.
  3261. *
  3262. * SPIDA(ARGUMENT); ( SYMPL CALL )
  3263. *
  3264. * ENTRY - ARGUMENT, AN ITEM CONTAINING THE ADDRESS OF THE
  3265. * PARAMETER BUFFER.
  3266. *
  3267. * EXIT RETURN INFORMATION INTACT IN PARAMETER BUFFER.
  3268.  
  3269.  
  3270. SPIDA SUBR =
  3271. SB1 1
  3272. SA1 X1 SET PID ATTRIBUTES PARM BUFFER
  3273. LIST M
  3274. SETPIDA X1
  3275. LIST -M
  3276. JP SPIDAX
  3277. END
  3278. IDENT VALIDU
  3279. ENTRY VALIDU
  3280. B1=1
  3281. TITLE VALIDU - VALIDATE USER FOR NVF.
  3282. *COMMENT VALIDATE USER FOR NVF.
  3283. SPACE 4,10
  3284. *** VALIDU - VALIDATE USER FOR NVF.
  3285. *
  3286. * D. G. DEPEW. 81/11/23.
  3287. SPACE 4,10
  3288. *** VALIDU PROVIDES A HIGH LEVEL LANGUAGE INTERFACE TO THE *CPM*
  3289. * FUNCTION HAVING THE FUNCTION CODE 56B (VALIDATE USER FOR NVF).
  3290. SPACE 4,10
  3291. *** SYMPL CALLING SEQUENCE.
  3292. *
  3293. * VALIDU (VFPB);
  3294. *
  3295. * ENTRY VFPB = ARRAY NAME OF THE VALIDATION FUNCTION (*CPM*
  3296. * FUNCTION 56B) PARAMETER BLOCK.
  3297. SPACE 4,10
  3298. *** FORTRAN CALLING SEQUENCE.
  3299. *
  3300. * CALL VALIDU (VFPB)
  3301. *
  3302. * ENTRY VFPB = FIRST WORD OF THE VALIDATION FUNCTION (*CPM*
  3303. * FUNCTION 56B) PARAMETER BLOCK.
  3304. SPACE 4,10
  3305. VALIDU EQ *+1S17D ENTRY/EXIT
  3306. VALIDUX EQU *
  3307. SB1 1
  3308. SYSTEM CPM,R,X1,5600B
  3309. JP VALIDUX
  3310.  
  3311. END
  3312. IDENT WRITEWC
  3313. ENTRY WRITEWC
  3314. SYSCOM B1
  3315. WRIF$ EQU 1 WTW= WILL REISSUE EXISTING FUNCTION CODE.
  3316. TITLE WRITEWC - WRITE DATA FROM WORKING BUFFER.
  3317. COMMENT WRITE DATA FROM WORKING BUFFER.
  3318. WRITEWC SPACE 4,10
  3319. *** WRITEWC - WRITE DATA FROM WORKING BUFFER.
  3320. *
  3321. * CALL WRITEWC (FILE,BUF,N)
  3322. *
  3323. * ENTRY (FILE) = FIRST WORD OF THE FET
  3324. * (BUF) = FIRST WORD OF THE WORKING BUFFER
  3325. * (N) = WORD COUNT OF THE WORKING BUFFER
  3326. *
  3327. * WRITEWC(FILE,BUF,N); ( SYMPL CALL )
  3328. *
  3329. * ENTRY - FILE, AN ARRAY THAT CONTAINS THE FET
  3330. * BUF, AN ARRAY TO BE USED AS READ BUFFER
  3331. * N, AN ITEM THAT CONTAINS THE NUMBER OF WORD IN BUF
  3332. *
  3333. * THIS ROUTINE DIFFERS FROM *WRITEW* ONLY IN THAT
  3334. * *WTW=* HAS BEEN ASSEMBLED SO THAT THE PREVIOUS
  3335. * FUNCTION CODE IS REISSUED RATHER THAN ASSUMING
  3336. * THAT A *WRITE* IS TO BE ISSUED.
  3337.  
  3338.  
  3339. WRITEWC EQ *+1S17D
  3340. WRITEWCX EQU *
  3341. SB1 1
  3342. SA3 A1+B1 FWA OF WORKING BUFFER
  3343. SA4 A3+B1 ADDRESS OF WORD COUNT
  3344. SA4 X4 WORD COUNT
  3345. WRITEW X1,X3,X4
  3346. EQ WRITEWCX
  3347.  
  3348.  
  3349. *CALL COMCWTW - WRITE WORDS FROM WORKING BUFFER.
  3350.  
  3351. END
  3352. IDENT XSST
  3353. B1=1
  3354. TITLE XSST - SHELL SORT TABLE.
  3355. ENTRY XSST
  3356. *COMMENT SHELL SORT TABLE.
  3357. XSST SPACE 4,10
  3358. *** XSST - SHELL SORT TABLE.
  3359. *
  3360. * SORTS A TABLE OF ONE WORD ENTRIES INTO ASCENDING ORDER.
  3361. * ALL ENTRIES SHOULD BE OF THE SAME SIGN.
  3362. *
  3363. * CALL XSST (TABLE,COUNT)
  3364.  
  3365.  
  3366. XSST EQ *+1S17D ENTRY/EXIT
  3367. XSSTX EQU *
  3368. SB1 1
  3369. SB7 X1 FWA OF TABLE
  3370. SA2 A1+B1 ADDRESS OF COUNT
  3371. SA1 X2+ COUNT
  3372. RJ =XSST= SORT
  3373. JP XSSTX
  3374.  
  3375.  
  3376. *CALL COMCSST
  3377.  
  3378. END
  3379. IDENT RSJCR
  3380. ENTRY RSJCR
  3381. B1=1
  3382. COMMENT RETRIEVE/SET JOB CONTROL REGISTER.
  3383.  
  3384.  
  3385. *** RSJCR - RETRIEVE/SET JOB CONTROL REGISTER.
  3386. *
  3387. * CALL RSJCR(RNUM,TYPE,RVAL)
  3388. *
  3389. * RSJCR(RNUM,TYPE,RVAL); (SYMPL CALL)
  3390. *
  3391. * ENTRY - RNUM, NUMBER OF REGISTER TO BE RETRIEVE/SET (1-3)
  3392. * TYPE, = 0, RETURN CONTENTS OF REGISTER.
  3393. * = 1, SET REGISTER.
  3394. * RVAL, VALUE TO SET REGISTER IF TYPE = NONZERO.
  3395. *
  3396. * EXIT - RVAL, CONTENTS OF REGISTER IF TYPE = 0.
  3397. *
  3398.  
  3399.  
  3400. RSJCR EQ *+1S17D
  3401. RSJCRX EQU *
  3402. SB1 1
  3403. SA3 A1+B1
  3404. SA4 A3+B1
  3405. SA3 X3 GET THE TYPE OF CALL
  3406. SA5 X1 GET THE REGISTER NUMBER
  3407. SB6 X5
  3408. GT B6,JCR1 IF RNUM IS LESS THAN 1,
  3409. SX6 -B1
  3410. SA6 X4 SET VALUE TO -1 INDICATING ERROR
  3411. EQ RSJCRX **** RETURN ****
  3412. JCR1 BSS 0
  3413. SB5 3
  3414. LE B6,B5,JCR2 IF RNUM GREATER THAN 3,
  3415. SX6 -B1
  3416. SA6 X4 SET VALUE TO -1 INDICATING ERROR
  3417. EQ RSJCRX **** RETURN ****
  3418. JCR2 BSS 0
  3419. SX7 B6-B1 CALCULATE SHIFT VALUE TO PUT
  3420. SX6 18 REGISTER VALUE IN LOWER 18 BITS
  3421. IX7 X6*X7
  3422. SB6 X7
  3423.  
  3424. GETJCR REGWORD GET THE CURRENT JCR VALUES
  3425. SA5 REGWORD
  3426. SB5 60
  3427. SB7 B5-B6
  3428. LX5 B7 PUT REG VALUE IN LOWER 18 BITS
  3429.  
  3430. NZ X3,JCR3 IF TYPE = 0 (RETURN VALUE)
  3431. MX0 18
  3432. LX0 18
  3433. BX6 X0*X5 MASK OFF THE REGISTER VALUE
  3434. SA6 X4 SET RVAL TO VALUE
  3435. EQ RSJCRX **** RETURN ****
  3436.  
  3437. JCR3 BSS 0
  3438. MX0 42 TYPE = NONZERO (SET REGISTER)
  3439. BX5 X0*X5
  3440. MX0 18
  3441. LX0 18
  3442. SA4 X4 GET NEW VALUE FOR REGISTER
  3443. BX4 X0*X4
  3444. BX6 X4+X5 PUT NEW VALUE
  3445. LX6 B6
  3446. SA6 REGWORD
  3447. SETJCR REGWORD SET THE REGISTER WITH NEW VALUE
  3448. EQ RSJCRX **** RETURN ****
  3449.  
  3450. REGWORD BSSZ 1
  3451.  
  3452. END
  3453. *CWEOR,0
cdc/nos2.source/nam5871/macrel.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator