Table of Contents

LDI

Table Of Contents

  • [00009] LDI - LOAD JOBS TO INPUT QUEUE.
  • [00011] LOAD JOBS TO INPUT QUEUE.
  • [00078] FETS AND COMMON DATA.
  • [00091] TDSP - *DSP* PARAMETER BLOCK.
  • [00112] TFUN - FAMILY NAME, USER NAME TABLE.
  • [00165] SUBROUTINES.
  • [00167] CPY - COPY FILE.
  • [00209] PRESET PROCESSING.
  • [00211] PRS - PRESET PROGRAM.
  • [00396] ERR - ISSUE COMMAND ERROR MESSAGE.
  • [00405] FND - FIND NON-BLANK CHARACTER.
  • [00443] TARG - ARGUMENT EQUIVALENCE TABLE.

Source Code

LDI.txt
  1. IDENT LDI,FETS
  2. ABS
  3. ENTRY LDI
  4. ENTRY RFL=
  5. SST
  6. SYSCOM B1
  7. *COMMENT LDI - LOAD JOBS TO INPUT QUEUE.
  8. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  9. TITLE LDI - LOAD JOBS TO INPUT QUEUE.
  10. SPACE 4
  11. *** LDI - LOAD JOBS TO INPUT QUEUE.
  12. * G. R. MANSFIELD. 70/10/25.
  13. * R. M. DESSEL. 81/10/26.
  14. SPACE 4
  15. *** *LDI* COPIES A SPECIFIED FILE TO THE INPUT QUEUE.
  16. SPACE 4,10
  17. *** *LDI* COMMAND.
  18. *
  19. * LDI(LFN,ID,OP,DC,UN,FM)
  20. *
  21. * LDI(FN=LFN,ID=ID,OP=OP,DC=DC,UN=UN,FM=FM)
  22. *
  23. * *LDI* COMMAND PARAMETERS ARE DEFINED
  24. * AS THE FOLLOWING.
  25. *
  26. * LFN NAME OF FILE TO BE COPIED.
  27. *
  28. * ID *ID* CODE (NUMERIC). TWO FORMS ARE PERMITTED -
  29. * ID = NN SELECT LOCAL DEVICE.
  30. * ID IMPLICIT CENTRAL SITE ROUTING.
  31. *
  32. * OP IF OP IS SPECIFIED, JOBNAME OF EACH JOB LOADED
  33. * WILL BE ISSUED TO THE CONTROL POINT DAYFILE.
  34. *
  35. * DC DISPOSITION CODE. VALID CODES INCLUDE -
  36. * IN - INPUT QUEUE TYPE.
  37. * NO - INPUT QUEUE TYPE - NO OUTPUT.
  38. * TO - INPUT QUEUE TYPE - TERMINAL OUTPUT.
  39. *
  40. * UN USER NAME. TWO FORMS ARE PERMITTED -
  41. * UN = XXXXXXX USER NAME.
  42. * UN IMPLICIT REMOTE ROUTING.
  43. *
  44. * FM FAMILY NAME. TWO FORMS ARE PERMITTED -
  45. * FM = XXXXXX FAMILY NAME.
  46. * FM IMPLICIT REMOTE ROUTING.
  47. SPACE 4,10
  48. *** DAYFILE MESSAGES.
  49. *
  50. * * ARGUMENT ERROR.*
  51. * ARGUMENT ERROR DETECTED ON COMMAND.
  52. *
  53. * * INCORRECT ID CODE.*
  54. * *ID* CODE SPECIFIED ON THE COMMAND IS AN
  55. * INCORRECT VALUE FOR A BATCH *ID* CODE.
  56. *
  57. * * INCORRECT DC CODE.*
  58. * DISPOSITION CODE SPECIFIED ON COMMAND
  59. * IS AN INCORRECT VALUE.
  60. *
  61. * * LDI ID AND FM/UN CONFLICT.*
  62. * BOTH *ID* AND *FM*/*UN* WERE SPECIFIED ON THE CONTROL
  63. * COMMAND. *ID* MAY NOT BE SPECIFIED WITH EITHER
  64. * *FM* OR *UN*.
  65. SPACE 4
  66. **** ASSEMBLY CONSTANTS.
  67.  
  68.  
  69. BUFL EQU 100B
  70. IBUFL EQU 2001B
  71. OBUFL EQU 2001B
  72. ****
  73. SPACE 4
  74. *CALL COMCMAC
  75. *CALL COMSDSP
  76. *CALL COMSIOQ
  77. *CALL COMSSSJ
  78. TITLE FETS AND COMMON DATA.
  79. FETS SPACE 4
  80.  
  81.  
  82. ORG 110B
  83. FETS BSS 0
  84.  
  85. I BSS 0
  86. LOAD FILEB IBUF,IBUFL
  87.  
  88. O BSS 0
  89. SCR FILEB OBUF,OBUFL,(FET=8)
  90. TDSP SPACE 4,10
  91. ** TDSP - *DSP* PARAMETER BLOCK.
  92. *
  93. *T W0 42/ FILE NAME,18/
  94. *T, W1 24/ ,12/ DC,6/ ,18/ FLAGS
  95. *T, W2 36/ ,24/ DA
  96. *T, W3 60/
  97. *T, W4 60/
  98. *T, W5 60/
  99. *T, W6 60/
  100. *
  101. * DC - DISPOSITION CODE.
  102. * DA - *TID* OR POINTER TO *FM*/*UN*.
  103.  
  104.  
  105.  
  106. TDSP BSS 0
  107. VFD 42/0LSCR,18/0
  108. VFD 12/,12/,12/0LIN,6/,18/FRDC+FRCS
  109. VFD 36/0,24/-0
  110. BSSZ 4
  111. TFUN SPACE 4,10
  112. ** TFUN - FAMILY NAME, USER NAME TABLE.
  113. *
  114. *T W0 42/ FAMILY NAME,18/
  115. *T,W1 42/ USER NAME,18/
  116.  
  117.  
  118. TFUN BSSZ 2 FAMILY NAME - USER NAME
  119. SPACE 4,10
  120. * INTERNAL FLAGS.
  121.  
  122. PDID CON 0 DEVICE CODE PROCESSED
  123. PFUN CON 0 FM - UN PROCESSED
  124. LDI TITLE MAIN PROGRAM.
  125.  
  126.  
  127. LDI SB1 1 (B1) = 1
  128. RJ PRS PRESET PROGRAM
  129. LDI1 READ I
  130. READW I,BUF,BUFL
  131. NG X1,LDI2 IF EOF
  132. SX7 X1-BUF
  133. ZR X7,LDI2 IF EMPTY RECORD
  134. BX5 X1 SAVE (X1)
  135. SA1 O+1 ASSIGN FILE TO INPUT DEVICE
  136. MX0 12
  137. BX6 -X0*X1
  138. SX1 2RIN
  139. LX1 59-11
  140. BX7 X6+X1
  141. SA7 A1
  142. REQUEST O,U,N REQUEST EQUIPMENT WITH NO DAYFILE MESSAGE
  143. BX1 X5 RESTORE (X1)
  144. RJ CPY COPY FILE
  145. RECALL O
  146. ROUTE TDSP,RECALL
  147. SA1 O RESTORE FILE NAME IN *DSP* BLOCK
  148. MX0 42
  149. BX6 X0*X1
  150. SA1 TDSP
  151. SA2 LDIB
  152. SA6 A1
  153. NZ X2,LDI1 IF JOBNAME OPTION NOT SELECTED
  154. BX7 X0*X1
  155. SX2 2RS
  156. BX6 X7+X2
  157. LX6 48
  158. SA6 LDIA+1
  159. MESSAGE LDIA,3,R
  160. EQ LDI1 LOOP
  161. LDI2 ENDRUN
  162.  
  163. LDIA DATA C* JOBNAME IS*
  164. LDIB CON 1
  165. TITLE SUBROUTINES.
  166. CPY SPACE 4
  167. ** CPY - COPY FILE.
  168. *
  169. * ENTRY (X1) = FILE STATUS.
  170. *
  171. * MACROS READ, RECALL, WRITE, WRITEF, WRITER.
  172.  
  173.  
  174. CPY SUBR ENTRY/EXIT
  175. EQ CPY3
  176.  
  177. CPY1 READ I
  178. RECALL O
  179. CPY2 READW I,BUF,BUFL
  180. CPY3 NG X1,CPY5 IF EOF
  181. NZ X1,CPY4 IF EOR
  182. WRITEW O,BUF,BUFL
  183. EQ CPY2
  184.  
  185. CPY4 WRITEW O,BUF,X1-BUF
  186. WRITER O END RECORD
  187. EQ CPY1
  188.  
  189. CPY5 WRITEF O END FILE
  190. EQ CPY RETURN
  191. SPACE 4
  192. * COMMON DECKS.
  193.  
  194.  
  195. *CALL COMCCIO
  196. *CALL COMCLFM
  197. *CALL COMCRDW
  198. *CALL COMCSYS
  199. *CALL COMCWTW
  200. BUFFERS SPACE 4
  201. * BUFFER ASSIGNMENTS.
  202.  
  203.  
  204. USE BUFFERS
  205. BUF EQU *
  206. IBUF EQU BUF+BUFL
  207. OBUF EQU IBUF+IBUFL
  208. RFL= EQU OBUF+OBUFL
  209. TITLE PRESET PROCESSING.
  210. PRS SPACE 4
  211. ** PRS - PRESET PROGRAM.
  212. *
  213. * USES X - ALL.
  214. * A - 1, 2, 3, 5, 6, 7.
  215. * B - 2, 3, 4, 5, 6, 7.
  216. *
  217. * CALLS ARM, CPA, DXB, FNB, USB.
  218. *
  219. * MACROS LABEL, RETURN.
  220.  
  221.  
  222. ORG BUF
  223. PRS SUBR ENTRY/EXIT
  224. RETURN O
  225. SB2 CCDR UNPACK COMMAND
  226. RJ USB
  227. SA1 A6 ASSURE TERMINATOR CHARACTER
  228. SX6 1R.
  229. SA6 X1+B1
  230. SA2 PRSA SET SEPARATOR MASK
  231. SB2 60
  232. SB7 ERR SET EXIT FOR TERMINATOR CHARACTER
  233. RJ FNB FIND NON-BLANK CHARACTER
  234.  
  235. * SKIP PROGRAM NAME.
  236.  
  237. SB7 PRS4 SET EXIT FOR TERMINATOR CHARACTER
  238. PRS1 RJ FNB FIND NON-BLANK CHARACTER
  239. SB4 B5-B2
  240. LX4 X2,B5
  241. PL B4,PRS2 IF SEPARATOR CHARACTER
  242. PL X4,PRS1 IF NOT SEPARATOR CHARACTER
  243. PRS2 SB3 TARG FWA OF ARGUMENT TABLE
  244. SB2 TARGL LENGTH OF ARGUMENT TABLE
  245. SB4 PRSK ADDRESS TO PLACE DATA
  246. RJ CPA CONVERT POSITIONAL ARGUMENTS
  247. NG B5,ERR IF ARGUMENT ERROR
  248. PL X1,PRS4 IF NO ARGUMENTS PROCESSED
  249. SX6 B5 SET LWA OF ARGUMENTS
  250. SA6 USBC
  251. SB6 PRSK FWA OF ARGUMENTS
  252. RJ ARM PROCESS ARGUMENTS
  253. NZ X1,ERR IF ERROR
  254.  
  255. * PROCESS FILE NAME.
  256.  
  257. PRS3 SA1 FN
  258. SX4 -B1
  259. BX2 X4-X1
  260. ZR X2,PRS4 IF NULL ARGUMENT
  261. MX0 42 SET FILE NAME IN FET
  262. BX1 X0*X1
  263. SX2 3
  264. IX6 X1+X2
  265. SA6 I
  266. EQ PRS5 PROCESS *ID* CODE
  267.  
  268. PRS4 LABEL I REQUEST LOCAL FILE
  269.  
  270. * PROCESS *ID* CODE.
  271.  
  272. PRS5 SA5 ID
  273. SX4 -B1
  274. BX2 X4-X5
  275. ZR X2,PRS7 IF *ID* CODE NOT SET
  276. SX7 B1+ SET *ID* FLAG
  277. SA7 PDID
  278. SA2 PRSG
  279. MX0 42 GET *ID* CODE
  280. BX5 X0*X5
  281. BX2 X5-X2
  282. ZR X2,PRS6 IF CENTRAL SITE SPECIFIED
  283. SB7 0 SET OCTAL CONVERSION
  284. RJ DXB CONVERT TO DISPLAY CODE
  285. SB7 PRSC * INCORRECT ID CODE.*
  286. NZ X4,ERR1 IF CONVERSION ERROR
  287. SX2 X6-IDLM
  288. PL X2,ERR1 IF ID .GE. IDLM
  289. SA6 TDSP+2 SET *ID* CODE IN *DSP* BLOCK
  290. SX2 FRTI
  291. PRS6 SA1 TDSP+1
  292. SX6 FRCS
  293. BX6 X1+X6 SET CENTRAL SITE ROUTING FLAG
  294. BX6 X2+X6 OPTIONALLY SET *ID* FLAG
  295. SA6 A1+
  296.  
  297. * PROCESS *OP* OPTION.
  298.  
  299. PRS7 SA1 OP
  300. SX4 -B1
  301. BX2 X4-X1
  302. ZR X2,PRS8 IF JOBNAME MESSAGE NOT SELECTED
  303. SX3 FRFN FLAG JOB NAME OPTION
  304. MX0 -18
  305. BX2 -X0*X3
  306. SA1 TDSP+1
  307. BX7 X1+X2
  308. SA7 A1
  309. SX6 B0+ ZERO LAST WORD OF MESSAGE BUFFER
  310. SA6 LDIB
  311.  
  312. * PROCESS *DC* OPTION.
  313.  
  314. PRS8 SA1 DC
  315. BX2 X4-X1
  316. ZR X2,PRS10 IF *DC* OPTION NOT SELECTED
  317. SB7 PRSD * INCORRECT DC CODE.*
  318. MX0 12
  319. BX5 X0*X1
  320. LX0 -12 CHECK IF CODE .GT. TWO CHARACTERS
  321. BX2 X0*X1
  322. NZ X2,ERR1 IF INCORRECT *ID* CODE
  323. LX5 12
  324. SX2 X5-2RIN
  325. SX3 X5-2RNO
  326. SX1 X5-2RTO
  327. ZR X2,PRS9 IF VALID CODE
  328. ZR X3,PRS9 IF VALID CODE
  329. NZ X1,ERR1 IF INCORRECT *DC* CODE
  330. PRS9 SA2 TDSP+1
  331. SX7 FRDC
  332. LX0 -12 POSITION MASK
  333. LX5 24 POSITION PARAMETER
  334. BX3 -X0*X2
  335. BX3 X3+X5 ENTER *DC* PARAMETER
  336. BX7 X3+X7 ENTER FLAG BIT
  337. SA7 TDSP+1
  338.  
  339. * PROCESS *UN* PARAMETER.
  340.  
  341. PRS10 SA1 UN
  342. BX2 X4-X1
  343. ZR X2,PRS11 IF *UN* OPTION NOT SPECIFIED
  344. SA2 PDID
  345. SB7 PRSE * LDI ID AND FM/UN CONFLICT.*
  346. NZ X2,ERR1 IF CONFLICT
  347. SX7 FRTI SET *FM*/*UN* FLAG
  348. SA7 PFUN
  349. MX0 42 GET USER NAME
  350. BX6 X0*X1
  351. SA2 PRSI CHECK IF CENTRAL SITE SPECIFIED
  352. BX2 X6-X2
  353. ZR X2,PRS11 IF IMPLICIT REMOTE ROUTING
  354. SA6 TFUN+1 SET USER NAME
  355.  
  356. * PROCESS *FM* PARAMETER.
  357.  
  358. PRS11 SA1 FM
  359. BX2 X4-X1
  360. ZR X2,PRS12 IF *FM* OPTION NOT SPECIFIED
  361. SA2 PDID
  362. SB7 PRSE * LDI ID AND FM/UN CONFLICT.*
  363. NZ X2,ERR1 IF CONFLICT
  364. SX7 FRTI SET *FM*/*UN* FLAG
  365. SA7 PFUN
  366. MX0 42
  367. BX7 X0*X1
  368. SA2 PRSJ CHECK IF CENTRAL SITE SPECIFIED
  369. BX2 X7-X2
  370. ZR X2,PRS12 IF IMPLICIT REMOTE ROUTING
  371. SA7 TFUN SET FAMILY NAME
  372.  
  373. * COMPLETE BUILDING THE *DSP* PARAMETER BLOCK.
  374.  
  375. PRS12 SA1 PDID
  376. SA3 PFUN
  377. BX6 X3+X1
  378. ZR X6,PRSX IF NOT REMOTE ROUTING
  379. SX4 FRTI
  380. SX3 FRCS CLEAR CENTRAL SITE FLAG
  381. SA1 TDSP+1
  382. BX7 X4+X1
  383. BX7 X7-X3
  384. SA7 A1 SET *ID* FLAG
  385. SA1 TFUN
  386. SA2 A1+B1
  387. BX2 X2+X1
  388. ZR X2,PRSX IF IMPLICIT REMOTE ROUTING
  389. SX3 A1 SET ADDRESS OF FAMILY/USER NAME BLOCK
  390. MX0 36
  391. BX3 -X3
  392. BX6 -X0*X3
  393. SA6 TDSP+2
  394. EQ PRSX RETURN
  395. ERR SPACE 4,15
  396. ** ERR - ISSUE COMMAND ERROR MESSAGE.
  397. *
  398. * ENTRY (B7) = ERROR MESSAGE ADDRESS, IF ENTRY AT *ERR1*.
  399.  
  400.  
  401. ERR SB7 PRSB * ARGUMENT ERROR.*
  402. ERR1 MESSAGE B7 ISSUE ERROR MESSAGE
  403. ABORT
  404. FNB SPACE 4,10
  405. ** FND - FIND NON-BLANK CHARACTER.
  406. *
  407. * ENTRY (B6) = NEXT CHARACTER ADDRESS.
  408. * (B7) = EXIT ADDRESS IF TERMINATOR ENCOUNTERED.
  409. *
  410. * EXIT (X1) = (B5) = NEXT NON BLANK CHARACTER.
  411. * (B6) = NEXT CHARACTER ADDRESS (UPDATED).
  412. * EXIT IS MADE TO B7, IF TERMINATOR ENCOUNTERED.
  413. *
  414. * USES X - 1, 4.
  415. * A - 1.
  416. * B - 5, 6.
  417.  
  418.  
  419. FNB SUBR ENTRY/EXIT
  420. FNB1 SA1 B6 GET NEXT CHARACTER
  421. SB6 B6+B1
  422. SX4 X1-1R
  423. ZR X4,FNB1 IF BLANK CHARACTER
  424. SB5 X1+
  425. SX4 X1-1R.
  426. ZR X4,FNB2 IF TERMINATOR CHARACTER
  427. SX4 X1-1R)
  428. NZ X4,FNBX IF NOT TERMINATOR CHARACTER, RETURN
  429. FNB2 JP B7 TERMINATE CHARACTER
  430. SPACE 4,10
  431. * WORKING STORAGE.
  432.  
  433. PRSA CON 40000000000033127777B SEPARATOR MASK
  434. PRSB DATA C* ARGUMENT ERROR.*
  435. PRSC DATA C* INCORRECT ID CODE.*
  436. PRSD DATA C* INCORRECT DC CODE.*
  437. PRSE DATA C* LDI ID AND FM/UN CONFLICT.*
  438. PRSG DATA 2LID
  439. PRSI DATA 2LUN
  440. PRSJ DATA 2LFM
  441. PRSK BSSZ 100
  442. TARG SPACE 4,10
  443. ** TARG - ARGUMENT EQUIVALENCE TABLE.
  444.  
  445.  
  446. TARG BSS 0
  447. FN ARG FN,FN,0,0 FILE TO BE COPIED
  448. ID ARG ID,ID,0,0 ID CODE
  449. OP ARG OP,OP,0,0 INDICATES IF JOBNAME ISSUED TO DAYFILE
  450. DC ARG DC,DC,0,0 DEVICE CODE
  451. UN ARG ZR,UN,0,0 USER NAME
  452. FM ARG FM,FM,0,0 FAMILY
  453. ARG
  454. TARGL EQU *-TARG-1
  455.  
  456.  
  457. FN CON -1
  458. ID CON -1
  459. OP CON -1
  460. DC CON -1
  461. UN CON -1
  462. FM CON -1
  463.  
  464. ZR CON 0 DEFAULT ARGUMENT VALUE
  465. SPACE 4
  466. * COMMON DECKS.
  467.  
  468.  
  469. *CALL COMCARM
  470. *CALL COMCCPA
  471. *CALL COMCCPM
  472. *CALL COMCDXB
  473. *CALL COMCPOP
  474. *CALL COMCUSB
  475. SPACE 4
  476. END