User Tools

Site Tools


cdc:nos2.source:opl871:vdtsubs

VDTSUBS

Table Of Contents

  • [00004] SCRCCK - CAPSULE CHECK.
  • [00043] SCRCCK - CAPSULE CHECK.
  • [00118] SCRCIS - CHECK INTERACTIVE STATUS.
  • [00141] SCRCIS - CHECK INTERACTIVE STATUS.
  • [00171] SCRCZF - CREATE ZZZZTRM FILE.
  • [00206] SCRCZF - CREATE ZZZZTRM FILE.
  • [00257] SCRFST - FILE STATUS CHECK.
  • [00283] SCRFST - CHECK FILE STATUS.
  • [00333] SCRGIS - GET INITIALIZATION SEQUENCE.
  • [00366] SCRGIS - GET INITIALIZATION SEQUENCE.
  • [00533] SCRISR - ISSUE SYSTEM REQUEST.
  • [00555] SCRISR - ISSUE SYSTEM REQUEST.
  • [00580] SCRLCP - LOAD TERMINAL CAPSULE.
  • [00602] SCRLCP - LOAD TERMINAL CAPSULE.
  • [00669] SCRPKP - PROCESS SCREEN/LINE PARAMETERS.
  • [00699] SCRPKP - PROCESS SCREEN/LINE PARAMETERS.
  • [00735] PKP - PROCESS KEYWORD OR POSITIONAL ARGUMENTS.
  • [00809] SCRRET - RETURN LOCAL FILE.
  • [00843] SCRRET - RETURN LOCAL FILE.
  • [00872] SCRRTA - RETRIEVE TERMCAP ADDRESS.
  • [00893] SCRRTA - RETRIEVE RESIDENT TERMCAP ADDRESS.
  • [00934] SCRRZF - READ ZZZZTRM FILE.
  • [00959] SCRRZF - READ ZZZZTRM FILE.
  • [01009] SCRUGD - UNLOAD GROUP DIRECTORY
  • [01026] SCRUGD - UNLOAD GROUP DIRECTORY.
  • [01051] SFCNP$ - COPY NEXT PARAMETER.
  • [01062] SFCNP$ - COPY NEXT PARAMETER.
  • [01088] SFCSP$ - COPY STRING PARAMETER.
  • [01100] SFCSP$ - COPY STRING PARAMETER.
  • [01159] VDTABT$ - ABORT JOB.
  • [01190] VDTCRM$ - CRM OUTPUT ROUTINES.
  • [01323] VDTFUN - GET FUNCTION NAME.
  • [01349] VDTFUN - GET FUNCTION NAME.
  • [01378] VDTGEN - GET GENERIC FUNCTION NAME.
  • [01404] VDTGEN - GET GENERIC FUNCTION NAME.
  • [01434] VDTGSL - GET SCREEN/LINE MODE.
  • [01459] VDTGSL - GET SCREEN/LINE MODE.
  • [01500] VDTGTA - GET TEXT PARAMETER.
  • [01520] VDTGTA - GET RESIDENT TERMCAP ADDRESS.
  • [01561] VDTGTO - GET TERMINAL ORDINAL.
  • [01585] VDTGTO - GET TERMINAL ORDINAL.
  • [01611] VDGTO - GET TERMINAL ORDINAL.
  • [01694] VDTGTN - GET TERMINAL MNEMONIC.
  • [01718] VDTGTN - GET TERMINAL NAME.
  • [01744] VDGTN - GET TERMINAL MNEMONIC.
  • [01831] VDTLOF$ - SET LIST OF FILES.
  • [01852] VDTLOF$ - SET LIST OF FILES.
  • [01871] VDTMSG$ - SEND MESSAGE.
  • [01935] VDTPRT$ - DISABLE/ENABLE PROMPT.
  • [01953] VDTPRT$ - DISABLE/ENABLE PROMPT.
  • [01978] VDTRD$ - READ FILE TO *CIO* BUFFER.
  • [02026] VDTREC$ - READ CODED LINE IN *C* FORMAT.
  • [02086] VDTREO$ - READ ONE WORD.
  • [02142] VDTSSL - SET SCREEN/LINE MODE.
  • [02167] VDTSSL - SET SCREEN/LINE MODE.
  • [02199] VDTRWD - REWIND LOCAL FILE.
  • [02221] VDTRWD - REWIND SPECIFIED LOCAL FILE.
  • [02251] VDTWRC$ - WRITE CODED LINE IN *C* FORMAT.
  • [02296] VDTWRO$ - WRITE ONE WORD.
  • [02341] VDTWRR$ - WRITE END OF RECORD.

Source Code

VDTSUBS.txt
  1. IDENT SCRCCK
  2. ENTRY SCRCCK
  3. SYSCOM B1
  4. TITLE SCRCCK - CAPSULE CHECK.
  5. *COMMENT SCRCCK - CAPSULE CHECK.
  6. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  7. CCK SPACE 4,10
  8. *** SCRCCK - CAPSULE CHECK.
  9. *
  10. * M. L. SWANSON. 84/05/09.
  11. CCK SPACE 4,10
  12. *** *SCRCCK* VERIFIES THAT THE CAPSULE LOADED IS A VALID
  13. * *TDU* PRODUCED CAPSULE, CHECKING THE TERMINAL MNEMONIC
  14. * AND THE VERSION NUMBER AGAINST THE SPECIFIED MNEMONIC
  15. * AND THE CURRENT *TDU* VERSION NUMBER. IT ALSO CONDITIONALLY
  16. * SETS A FLAG IN THE FIRST WORD OF THE DYNAMICALLY LOADED
  17. * CAPSULE TO SIGNIFY THE LOCATION OF THE *TERMLIB* FILE USED
  18. * BY THE SCREEN/LINE DIRECTIVE. IF THE CAPSULE IS VALIDATED,
  19. * *SCRCCK* RETURNS THE LENGTH OF THE TERMINAL CAPSULE.
  20. CCK SPACE 4,10
  21. ** COMMON DECKS.
  22.  
  23.  
  24. LIST X
  25. *CALL COMSTIR
  26. LIST -X
  27. CCK SPACE 4,15
  28. *** SCRCCK - CAPSULE CHECK.
  29. *
  30. * CALLING SEQUENCE.
  31. * *SYMPL* CALL -
  32. *
  33. * SCRCCK(ADDRESS,TERMINAL,VALIDATION,LENGTH,TSTATUS);
  34. *
  35. * (ADDRESS) = LOADED CAPSULE ADDRESS.
  36. * (TERMINAL) = TERMINAL MNEMONIC.
  37. * (VALIDATION) = TERMCAP VALIDATION FLAG.
  38. * (LENGTH) = TERMCAP LENGTH IN WORDS.
  39. * (TSTATUS) = STATUS OF *TERMLIB* USED BY *SCREX*
  40. * ( 0 - SOURCE OF TERMLIB IS UN=LIBRARY,
  41. * 1 - SOURCE IS LOCAL FILE OR PFN CATALOG )
  42. CCK SPACE 4,10
  43. ** SCRCCK - CAPSULE CHECK.
  44. *
  45. * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
  46. * (X1) = FWA OF LOADED CAPSULE ADDRESS.
  47. *
  48. * USES X - 2, 3, 4, 5, 6, 7.
  49. * A - 2, 3, 6, 7.
  50. * B - 1, 2, 3.
  51.  
  52.  
  53. SCRCCK SUBR ENTRY/EXIT
  54. SB1 1
  55.  
  56. * INITIALIZE TERMCAP VALIDATION FLAG TO FALSE.
  57.  
  58. SB2 2
  59. SA2 A1+B2 GET ADDRESS OF FLAG
  60. SX7 B0 INITIALIZE FLAG TO FALSE
  61. SA7 X2 STORE INITIALIZED FLAG
  62.  
  63. * CHECK IF HEADER WORD HAS TERMINAL MNEMONIC.
  64.  
  65. SA2 X1 GET LOADED CAPSULE ADDRESS
  66. SA2 X2 GET FIRST WORD OF CAPSULE
  67. SA3 A1+B1 GET MNEMONIC ADDRESS
  68. SA3 X3 GET TERMINAL MNEMONIC
  69. LX3 6 SHIFT TO REMOVE *Z* PREFIX
  70. MX4 42
  71. BX3 X3*X4 GET UNPREFIXED MNEMONIC
  72. BX5 X4*X2 MASK OFF FIRST SEVEN CHARACTERS
  73. BX6 X5-X3 COMPARE MNEMONIC TO CAPSULE HEADER
  74. NZ X6,SCRCCKX IF NOT MATCH, INVALID CAPSULE
  75.  
  76. * CHECK IF VALID VERSION NUMBER.
  77.  
  78. SX3 TDUV GET CURRENT *TDU* VERSION NUMBER
  79. BX5 -X4*X2 MASK OFF VERSION NUMBER FIELD
  80. BX6 X5-X3 CHECK FOR MATCHING VERSION NUMBER
  81. NZ X6,SCRCCKX IF NOT MATCH, INVALID CAPSULE
  82.  
  83. * CONDITIONALLY SET THE *TERMLIB* STATUS FLAG.
  84.  
  85. SA3 A1+4 ADDRESS OF *TERMLIB* STATUS FLAG
  86. SA3 X3+
  87. ZR X3,CCK1 IF *TERMLIB* FOUND FROM UN=LIBRARY
  88. MX4 59
  89. LX4 17
  90. SA3 X1
  91. SA2 X3 FIRST WORD OF TERMINAL CAPSULE
  92. BX6 -X4+X2 SET *TERMLIB* STATUS FLAG
  93. SA6 X3 REPLACE HEADER OF CAPSULE
  94.  
  95. * GET LENGTH OF CAPSULE FROM TERMCAP HEADER TABLE.
  96.  
  97. CCK1 SA2 X1 ADDRESS OF LOADED CAPSULE ADDRESS
  98. SA2 X2 GET FIRST WORD OF TERMCAP
  99.  
  100. * THIS TAKES THE LENGTH FROM THE CAPSULE HEADER.
  101.  
  102. SB3 -3
  103. SA2 A2+B3 GET CAPSULE HEADER
  104. MX3 42 MASK FOR LENGTH OF CAPSULE
  105. BX6 -X3*X2 EXTRACT CAPSULE LENGTH
  106. SA2 A1+3 GET LENGTH ADDRESS
  107. SA6 X2 STORE TERMCAP LENGTH
  108. SA3 A1+B2 GET FLAG ADDRESS
  109. SX7 B1 SET TERMCAP VALID FLAG TO TRUE
  110. SA7 X3 STORE FLAG
  111. EQ SCRCCKX RETURN
  112.  
  113. END
  114. IDENT SCRCIS
  115. ENTRY SCRCIS
  116. SYSCOM B1
  117. SST
  118. TITLE SCRCIS - CHECK INTERACTIVE STATUS.
  119. *COMMENT SCRCIS - CHECK INTERACTIVE STATUS.
  120. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  121. CIS SPACE 4,10
  122. *** SCRCIS - CHECK INTERACTIVE STATUS.
  123. *
  124. * M. L. SWANSON. 84/10/29.
  125. CIS SPACE 4,10
  126. *** *SCRCIS* CHECKS TO SEE IF THE CURRENT RUNNING JOB IS
  127. * OF INTERACTIVE ORIGIN TYPE. IF SO, IT RETURNS TRUE TO
  128. * THE CALLING ROUTINE, FALSE IF NOT.
  129. CIS SPACE 4,15
  130. *** SCRCIS - CHECK INTERACTIVE STATUS.
  131. *
  132. * CALLING SEQUENCE.
  133. * *SYMPL* CALL -
  134. *
  135. * SCRCIS(INTFLAG);
  136. *
  137. * (INTFLAG) - INTERACTIVE STATUS FLAG.
  138. * = 1, IF INTERACTIVE JOB ORIGIN TYPE.
  139. * = 0, IF NOT INTERACTIVE TYPE.
  140. CIS SPACE 4,10
  141. ** SCRCIS - CHECK INTERACTIVE STATUS.
  142. *
  143. * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
  144. * (X1) = FWA OF INTERACTIVE STATUS FLAG.
  145. *
  146. * USES X - 0, 2, 3, 4, 6.
  147. * A - 2, 3, 4, 6.
  148. * B - 1.
  149.  
  150.  
  151. SCRCIS SUBR ENTRY/EXIT
  152. SB1 1
  153. SA2 X1
  154. MX0 48
  155. SA3 JOPR GET JOB ORIGIN TYPE
  156. LX3 36
  157. BX3 -X0*X3
  158. SX4 IAOT
  159. IX4 X4-X3
  160. SX2 B0 RESET INTERACTIVE STATUS FLAG
  161. NZ X4,CIS1 IF NOT INTERACTIVE JOB TYPE
  162. SX2 B1+ SET INTERACTIVE STATUS FLAG
  163. CIS1 BX6 X2
  164. SA6 X1 SAVE FLAG
  165. EQ SCRCISX RETURN
  166.  
  167. END
  168. IDENT SCRCZF
  169. ENTRY SCRCZF
  170. SYSCOM B1
  171. TITLE SCRCZF - CREATE ZZZZTRM FILE.
  172. *COMMENT SCRCZF - CREATE ZZZZTRM FILE.
  173. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  174. CZF SPACE 4,10
  175. *** SCRCZF - CREATE ZZZZTRM FILE.
  176. *
  177. * M. L. SWANSON. 84/05/09.
  178. CZF SPACE 4,10
  179. *** *SCRCZF* CREATES A FILE NAMED *ZZZZTRM* WHICH
  180. * CONTAINS THE CONTENTS OF THE LOADED TERMINAL
  181. * CAPSULE .
  182. CZF SPACE 4,10
  183. ** COMMON DECKS.
  184.  
  185.  
  186. LIST X
  187. *CALL COMSTIR
  188. LIST -X
  189. CZF SPACE 4,10
  190. ** FETS.
  191.  
  192.  
  193. ZZZZTRM RFILEB ZBUF,ZBFL,EPR,(FET+7B)
  194. CZF SPACE 4,10
  195. *** SCRCZF - CREATE ZZZZTRM FILE.
  196. *
  197. * CALLING SEQUENCE.
  198. *
  199. * *SYMPL* CALL -
  200. *
  201. * SCRCZF(ADDRESS,LENGTH);
  202. *
  203. * ADDRESS = LOADED TERMCAP ADDRESS;
  204. * LENGTH = TERMCAP LENGTH.
  205. CZF SPACE 4,15
  206. ** SCRCZF - CREATE ZZZZTRM FILE.
  207. *
  208. * ENTRY (A1) - FWA OF FORMAL PARAMETER LIST.
  209. * (X1) - ADDRESS OF LOADED CAPSULE ADDRESS.
  210. *
  211. * EXIT OBJECT ROUTINE EXECUTED - ZZZZTRM FILE CREATED,
  212. * MARKED NON-RETURNABLE BY GLOBAL CLEAR.
  213. *
  214. * USES X - 1, 2, 3, 4, 5, 6, 7.
  215. * A - 1, 2, 3, 4, 5, 6, 7.
  216. * B - 1, 2.
  217. *
  218. * MACROS SETFS, WRITEF, WRITEO, WRITER.
  219.  
  220.  
  221. SCRCZF SUBR ENTRY/EXIT
  222. SB1 1
  223. SA2 X1 GET ADDRESS OF LOADED CAPSULE
  224. SX6 X2
  225. SA6 CZFA SAVE FWA OF LOADED CAPSULE
  226. SA3 X6 GET FIRST WORD OF LOADED CAPSULE
  227. BX6 X3 PREPARE FOR *WRITEO*
  228. SA4 A1+B1 GET ADDRESS OF LENGTH
  229. SA4 X4 GET TERMCAP LENGTH
  230. BX7 X4 ADD TERMCAP HEADER LENGTH
  231. SA7 A6+B1 SAVE LENGTH OF TERMCAP
  232. CZF1 WRITEO ZZZZTRM WRITE FIRST WORD INTO I/O BUFFER
  233. SA2 CZFB
  234. SB2 -1
  235. SX7 X2+B2 DECREMENT COUNTER OF TABLE LENGTH
  236. SA7 A2 SAVE REMAINING LENGTH
  237. SA1 CZFA GET FWA OF LOADED CAPSULE
  238. SX7 X1+B1 GET NEXT WORD OF LOADED CAPSULE
  239. SA7 A1 STORE CURRENT POINTER
  240. SA5 X7
  241. BX6 X5 PREPARE FOR *WRITEO*
  242. SA3 A2+ CHECK IF END OF TABLE
  243. NZ X3,CZF1 IF NOT END OF TABLE
  244. WRITER ZZZZTRM WRITE EOR ON *ZZZZTRM* FILE
  245. WRITEF ZZZZTRM WRITE EOF ON *ZZZZTRM* FILE
  246. SETFS ZZZZTRM,NAD MARK NON-RETURNABLE BY GLOBAL CLEAR
  247. EQ SCRCZFX RETURN
  248.  
  249. ZBUF BSS ZBFL
  250. CZFA VFD 60/0 CURRENT POINTER TO CAPSULE
  251. CZFB VFD 60/0 CAPSULE LENGTH COUNTER
  252.  
  253. END
  254. IDENT SCRFST
  255. ENTRY SCRFST
  256. SYSCOM B1
  257. TITLE SCRFST - FILE STATUS CHECK.
  258. *COMMENT SCRFST - FILE STATUS CHECK.
  259. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  260. FST SPACE 4,10
  261. *** SCRFST - FILE STATUS CHECK.
  262. *
  263. * M. L. SWANSON. 84/05/13.
  264. FST SPACE 4,10
  265. *** *SCRFST* USES THE *STATUS* MACRO TO CHECK
  266. * IF THE SPECIFIED FILE IS LOCAL. IF FOUND LOCAL,
  267. * *SCRFST* REWINDS THE FILE.
  268. FST SPACE 4,10
  269. ** COMMON DECKS.
  270.  
  271.  
  272. *CALL COMCCMD
  273. *** CALLING SEQUENCE.
  274. *
  275. * *SYMPL* CALL -
  276. *
  277. * SCRFST(FILE,STATUS);
  278. *
  279. * FILE = SPECIFIED FILE.
  280. * STATUS = LOCAL STATUS OF FILE (0 = NOT LOCAL,
  281. * 1 = LOCAL).
  282. FST SPACE 4,10
  283. ** SCRFST - CHECK FILE STATUS.
  284. *
  285. * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
  286. * (X1) = ADDRESS OF FIRST PARAMETER.
  287. *
  288. * USES X - 0, 2, 3, 6.
  289. * A - 2, 3, 6.
  290. * B - 1.
  291. *
  292. * MACROS REWIND, SETFET, STATUS.
  293. FST SPACE 4,10
  294. * FETS.
  295.  
  296.  
  297. ZZZFET FILEB BUF,BUFL
  298. BUFL EQU 1
  299. BUF BSS BUFL
  300. *
  301. SCRFST SUBR ENTRY/EXIT
  302. SB1 1
  303. SA2 A1+B1 GET ADDRESS OF *STATUS* ADDRESS
  304. SX6 X2 GET ADDRESS OF *STATUS* PARAMETER
  305. SA6 FSTA STORE ADDRESS OF *STATUS* PARAMETER
  306.  
  307. SA2 X1 GET *FILENAME* PARAMETER
  308. SETFET ZZZFET,(LFN=X2) REPLACE FILE NAME IN FET
  309. STATUS ZZZFET CHECK IF FILE IS LOCAL
  310.  
  311. * *STATUS* RETURNS 0 IN BITS 11-0 OF FET+0 IF FILE NOT FOUND.
  312.  
  313. SA2 ZZZFET GET FET+0 REPLY WORD
  314. MX0 11
  315. LX0 12
  316. BX3 X0*X2 MASK OFF LOW 12 BITS OF FET+0
  317. SA2 FSTA GET ADDRESS OF *STATUS* PARAMETER
  318. NZ X3,FST1 IF SPECIFIED FILE IS FOUND
  319. BX6 X6-X6 SET *STATUS* TO FALSE
  320. JP FST2 NO *REWIND*
  321.  
  322. FST1 SX6 B1 SET *STATUS* TO TRUE
  323. SA6 X2 SAVE *STATUS*
  324. REWIND ZZZFET,R REWIND WITH AUTO RECALL
  325. FST2 SA6 X2 SAVE *STATUS*
  326. EQ SCRFSTX RETURN
  327.  
  328. FSTA VFD 60/0 ADDRESS OF *STATUS* PARAMETER
  329. END
  330. IDENT SCRGIS
  331. ENTRY SCRGIS
  332. SYSCOM B1
  333. TITLE SCRGIS - GET INITIALIZATION SEQUENCE.
  334. *COMMENT SCRGIS - GET INITIALIZATION SEQUENCE.
  335. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  336. GIS SPACE 4,10
  337. *** SCRGIS - GET INITIALIZATON SEQUENCE.
  338. *
  339. * M. L. SWANSON. 84/05/09.
  340. GIS SPACE 4,10
  341. *** *SCRGIS* RETRIEVES THE SPECIFIED INITIALIZATION
  342. * SEQUENCE FROM THE LOADED CAPSULE, CONVERTING THE
  343. * CAPSULE-S 7-BIT BYTES INTO 12-BIT XPARENT BYTES,
  344. * AND RETURNING THE ADDRESS OF THE BUFFER.
  345. GIS SPACE 4,10
  346. ** COMMON DECKS.
  347.  
  348.  
  349. *CALL COMCCMD
  350. LIST X
  351. *CALL COMSTIR
  352. LIST -X
  353. GIS SPACE 4,15
  354. *** SCRGIS - GET INITIALIZATION SEQUENCE.
  355. *
  356. * CALLING SEQUENCE.
  357. *
  358. * *SYMPL* CALL -
  359. *
  360. * SCRGIS(ADDRESS,MODE,BUFFER);
  361. *
  362. * (ADDRESS) = LOADED CAPSULE ADDRESS.
  363. * (MODE) = TERMINAL MODE.
  364. * (BUFFER) = PACKED SEQUENCE BUFFER.
  365. GIS SPACE 4,10
  366. ** SCRGIS - GET INITIALIZATION SEQUENCE.
  367. *
  368. * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
  369. * (X1) = ADDRESS OF LOADED CAPSULE ADDRESS.
  370. *
  371. * USES X - 1, 2, 3, 4, 5, 6, 7.
  372. * A - 1, 2, 3, 4, 5, 6, 7.
  373. * B - 1, 2, 3, 4, 5, 6, 7.
  374.  
  375.  
  376. SCRGIS SUBR ENTRY/EXIT
  377. SB1 1
  378. SX6 A1 SAVE FWA OF *SYMPL* PARAMETERS
  379. SA2 X1 GET ADDRESS OF TERMCAP
  380. SA6 GISA
  381. SA3 X2+B1 GET SECOND WORD OF TERMCAP
  382. MX4 12 CREATE MASK FOR POINTER OFFSET
  383. LX4 36 POSITION MASK AT SEQUENCE FIELD
  384. BX5 X4*X3 GET SEQUENCE TABLE OFFSET
  385. LX5 36
  386.  
  387. * GET FIRST WORD OF INITIALIZATION TABLE.
  388.  
  389. SB2 X5
  390. SA2 X2+B2 GET FIRST WORD OF SEQUENCE TABLE
  391.  
  392. * DETERMINE WHICH SEQUENCE TO OUTPUT (SCREEN OR LINE).
  393.  
  394. SA3 A1+1 GET ADDRESS OF MODE PARAMETER
  395. SA3 X3 GET MODE
  396. ZR X3,GIS1 IF LINE MODE
  397. LX4 12 POSITION MASK AT SCREEN SEQUENCE
  398. BX5 X4*X2 GET BYTE OFFSET OF SCREEN SEQUENCE
  399. LX5 24 REPOSITION
  400. LX4 48 REPOSITION MASK FOR NEXT FIELD
  401. BX6 X4*X2 GET NEXT FIELD
  402. LX6 36 REPOSITION
  403. EQ GIS2 GET BYTE LENGTH OF FIELD
  404.  
  405. GIS1 LX4 24 POSITION MASK AT LINE SEQUENCE
  406. BX5 X4*X2 GET BYTE OFFSET OF LINE SEQUENCE
  407. LX5 12 REPOSITION
  408. LX4 48 REPOSITION MASK FOR NEXT FIELD
  409. BX6 X4*X2 GET NEXT FIELD
  410. LX6 24 REPOSITION
  411. GIS2 IX6 X6-X5 CALCULATE BYTE LENGTH OF FIELD
  412. ZR X6,SCRGISX IF EMPTY INITIALIZATION SEQUENCE
  413. SX7 A2 GET CAPSULE POINTER
  414. SA6 GISB STORE BYTE LENGTH OF SEQUENCE
  415. BX6 X5 GET OFFSET
  416.  
  417. * CALCULATE POSITION OF MODE INDICATED SEQUENCE.
  418.  
  419. BX3 X5 OFFSET OF SEQUENCE
  420. SX2 8 NUMBER OF BYTES IN WORD
  421. PX3 X3 PACK NUMERATOR
  422. PX4 X2 PACK DENOMINATOR
  423. NX4 X4 NORMALIZE
  424. FX5 X3/X4 CALCULATE NUMBER OF WORDS
  425. UX5 B7,X5 UNPACK RESULT
  426. LX5 B7,X5 SHIFT RESULT
  427. BX3 X7 CURRENT CAPSULE POINTER
  428. IX3 X3+X5 MOVE TO BEGINNING OF SEQUENCE
  429. BX4 X6 BYTE OFFSET OF SEQUENCE
  430. IX5 X5*X2 GET TOTAL BYTES BYPASSED
  431. IX4 X4-X5 CALCULATE CURRENT BYTE FIELD
  432. IX4 X2-X4 REVERSE TO REFLECT BYTE FIELD
  433. SB3 X4+ SAVE CAPSULE FIELD COUNTER
  434. SA4 GISB
  435. SB2 X4+ SAVE BYTE COUNTER
  436. SA4 GISC INITIALIZE FIRST OUTPUT WORD
  437. BX7 X4
  438. MX4 7 CREATE CAPSULE 7-BIT BYTE MASK
  439. SB4 4 INITIALIZE BUFFER FIELD COUNTER
  440. SB6 GISC INITIALIZE BUFFER POINTER
  441. SX5 7 BYTE LENGTH
  442. SX2 B3 GET CAPSULE BYTE FIELD
  443. IX5 X2*X5 CALCULATE INITIAL BYTE POSITION
  444. SB5 X5 COLUMNS TO SHIFT
  445.  
  446. * THE FOLLOWING REGISTERS ARE USED AS FOLLOWS
  447. *
  448. * X3 - CAPSULE POINTER.
  449. * X4 - CAPSULE BYTE MASK.
  450. * X7 - BUFFER WORD.
  451. * B2 - BYTE COUNTER OF INIT. SEQUENCE.
  452. * B3 - CAPSULE BYTE FIELD COUNTER.
  453. * B4 - BUFFER BYTE FIELD COUNTER.
  454. * B5 - CAPSULE COLUMNS TO SHIFT.
  455. * B6 - BUFFER POINTER.
  456.  
  457. LX4 B5 MOVE MASK TO FIRST BYTE
  458. SB5 B5-7 ADJUST COLUMNS TO SHIFT
  459. GIS3 SA1 X3 GET CURRENT CAPSULE WORD
  460. BX6 X4*X1 EXTRACT CAPSULE BYTE
  461. SX2 B4 GET BUFFER BYTE COUNTER
  462. AX6 B5 REPOSITION BYTE TO LOW BITS
  463. SX6 X6+4000B CONVERT TO 12-BIT XPARENT BYTE
  464. SX5 12 XPARENT BYTE LENGTH
  465. IX5 X5*X2 CALCULATE POSITION IN BUFFER WORD
  466. SB7 X5-12 CALCULATE COLUMNS TO SHIFT
  467. LX6 B7 REPOSITION
  468. BX7 X6+X7 PLACE NEW BYTE IN BUFFER WORD
  469.  
  470. * DECREMENT NUMBER OF SEQUENCE BYTES LEFT TO OUTPUT.
  471.  
  472. SB2 B2-B1 DECREMENT SEQUENCE BYTE COUNTER
  473. ZR B2,GIS8 IF DONE WITH SEQUENCE
  474.  
  475. * DECREMENT CAPSULE BYTE FIELD.
  476.  
  477. SB3 B3-1 DECREMENT CAPSULE BYTE FIELD
  478. ZR B3,GIS4 IF END OF CAPSULE WORD
  479.  
  480. SB5 B5-7 DECREMENT CAPSULE COLUMNS TO SHIFT
  481. EQ GIS5 NOT END OF CAPSULE WORD
  482.  
  483. * IF END OF CAPSULE WORD.
  484.  
  485. GIS4 SX3 X3+1 MOVE TO NEXT WORD IN CAPSULE
  486. SA1 X3+ GET CAPSULE WORD
  487. SB3 8 RESET CAPSULE BYTE FIELD
  488. SB5 49 RESET CAPSULE COLUMNS TO SHIFT
  489. LX4 49 RESET CAPSULE MASK TO FIRST BYTE
  490. EQ GIS6 NEW CAPSULE WORD
  491.  
  492. GIS5 LX4 53 SHIFT MASK TO NEXT CAPSULE BYTE
  493.  
  494. * DECREMENT BUFFER BYTE FIELD.
  495.  
  496. GIS6 SB4 B4-1 DECREMENT BUFFER BYTE FIELD
  497. ZR B4,GIS7 IF END OF BUFFER WORD
  498.  
  499. EQ GIS3 GET NEXT BYTE
  500.  
  501. * IF END OF BUFFER WORD.
  502.  
  503. GIS7 SA7 B6 STORE FULL WORD INTO BUFFER
  504. SX7 B0 RESET WORD TO ZERO
  505. SB6 B6+1 INCREMENT BUFFER POINTER
  506. SB7 48 RESET COLUMNS TO SHIFT
  507. SB4 5 RESET BUFFER BYTE FIELD
  508. EQ GIS3 GET NEXT BYTE
  509.  
  510. * IF END OF SEQUENCE.
  511.  
  512. GIS8 SA7 B6+ STORE LAST WORD
  513.  
  514. * RETURN SEQUENCE BUFFER TO CALLING ROUTINE.
  515.  
  516. SA2 GISA GET ADDRESS OF *SYMPL* PARAMETERS
  517. SA2 X2+2 GET ADDRESS OF BUFFER PARAMETER
  518. SA3 GISC GET ADDRESS OF SEQUENCE BUFFER
  519. SX7 A3
  520. SA7 X2 STORE ADDRESS OF SEQUENCE BUFFER
  521. EQ SCRGISX RETURN
  522.  
  523. GISA VFD 60/0 ADDRESS OF *SYMPL* PARAMETERS
  524. GISB VFD 60/0 SEQUENCE BYTE COUNTER
  525. GISC VFD 12/7,48/0 FIRST WORD OF BUFFER
  526. BSSZ ISBL OUTPUT BUFFER
  527.  
  528.  
  529. END
  530. IDENT SCRISR
  531. ENTRY SCRISR
  532. SYSCOM B1
  533. TITLE SCRISR - ISSUE SYSTEM REQUEST.
  534. *COMMENT SCRISR - ISSUE SYSTEM REQUEST.
  535. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  536. ISR SPACE 4,10
  537. *** SCRISR - ISSUE SYSTEM REQUEST.
  538. *
  539. * M. L. SWANSON. 84/05/09.
  540. ISR SPACE 4,10
  541. *** *SCRISR* ISSUES A SYSTEM REQUEST TO SET THE SCREEN
  542. * BIT IN TERMINAL TABLE WORD *VSTT*.
  543. ISR SPACE 4,10
  544. *** SCRISR - ISSUE SYSTEM REQUEST.
  545. *
  546. * CALLING SEQUENCE.
  547. *
  548. * *SYMPL* CALL -
  549. *
  550. * SCRISR(MODE);
  551. *
  552. * MODE = 0, TERMINAL IN LINE MODE.
  553. * = 1, TERMINAL IN SCREEN MODE.
  554. ISR SPACE 4,10
  555. ** SCRISR - ISSUE SYSTEM REQUEST.
  556. *
  557. * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
  558. * (X1) = ADDRESS OF FIRST PARAMETER.
  559. *
  560. * USES X - 1.
  561. * A - 2.
  562. * B - 1.
  563. *
  564. * MACROS SYSTEM.
  565.  
  566. SCRISR SUBR ENTRY/EXIT
  567. SB1 1
  568. SA2 X1+ GET DIRECTIVE PARAMETER
  569. ZR X2,ISR1 IF LINE MODE
  570. SYSTEM TLX,R,0,13B*100B SET SCREEN BIT IN *VSTT*
  571. EQ SCRISRX RETURN
  572.  
  573. ISR1 SYSTEM TLX,R,0,14B*100B CLEAR SCREEN BIT IN *VSTT*
  574. EQ SCRISRX RETURN
  575.  
  576. END
  577. IDENT SCRLCP
  578. ENTRY SCRLCP
  579. SYSCOM B1
  580. TITLE SCRLCP - LOAD TERMINAL CAPSULE.
  581. *COMMENT SCRLCP - LOAD TERMINAL CAPSULE.
  582. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  583. LCP SPACE 4,10
  584. *** SCRLCP - LOAD TERMINAL CAPSULE.
  585. *
  586. * M. L. SWANSON. 84/05/09.
  587. LCP SPACE 4,10
  588. *** *SCRLCP* INVOKES THE FAST DYNAMIC LOADER TO LOAD
  589. * THE SPECIFIED TERMINAL CAPSULE, RETURNING THE
  590. * ADDRESS OF THE LOADED CAPSULE AND A STATUS FLAG.
  591. LCP SPACE 4,10
  592. *** CALLING SEQUENCE.
  593. *
  594. * *SYMPL* CALL -
  595. *
  596. * SCRLCP(TERMINAL,ADDRESS,STATUS);
  597. *
  598. * TERMINAL = TERMINAL MNEMONIC(CAPSULE NAME).
  599. * ADDRESS = LOADED CAPSULE ADDRESS.
  600. * STATUS = CAPSULE LOADED SUCCESSFULLY FLAG.
  601. LCP SPACE 4,10
  602. ** SCRLCP - LOAD TERMINAL CAPSULE.
  603. *
  604. * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
  605. * (X1) = ADDRESS OF FIRST PARAMETER.
  606. *
  607. * USES X - 0, 1, 2, 3, 4, 6, 7.
  608. * A - 1, 2, 3, 4, 6, 7.
  609. * B - 1, 2.
  610. *
  611. * CALLS FDL.LDC.
  612.  
  613.  
  614. SCRLCP SUBR ENTRY/EXIT
  615. SB1 1
  616. SX6 A1 SAVE ADDRESS OF *SYMPL* PARAMETERS
  617. MX0 42 MASK OUT SEVEN CHARACTER NAME
  618. SA6 SLCA
  619. SA1 X1 GET CAPSULE NAME
  620. BX6 X0*X1
  621. MX0 -6 MASK OFF BLANK FILL
  622. SB2 6 AT LEAST ONE NON-BLANK CHARACTER
  623. LX6 6 START AT SECOND CHARACTER
  624. SLC1 LX6 6 PROCESS NEXT CHARACTER
  625. BX2 -X0*X6 CHECK FOR BLANK CHARACTER
  626. SX3 X2-1R
  627. NZ X3,SLC2 IF NOT BLANK
  628. BX6 X0*X6 MASK OFF BLANK CHARACTER
  629. SLC2 SB2 B2-B1
  630. NZ B2,SLC1 IF NOT DONE
  631. LX6 18 REPOSITION NAME
  632. SA6 SLCC PUT NAME INTO LIST FOR *FDL* CALL
  633. SA6 SLCG PUT NAME INTO ENTRY POINT LIST
  634. SA1 SLCB SET PARAMETERS FOR *FDL* CALL
  635. SA2 A1+1 SET CAPSULE NAME
  636. SA3 A2+B1 SET LIBRARY LIST ADDRESS
  637. SA4 A3+B1 SET ENTRY POINT LIST ADDRESS
  638. RJ =XFDL.LDC LOAD CAPSULE
  639. SA1 SLCA GET ADDRESS OF *SYMPL* PARAMETERS
  640. SA1 X1+B1 GET LOADED CAPSULE ADDRESS
  641. SA2 A1+B1 GET ADDRESS OF CAPSULE-LOADED FLAG
  642. SA3 SLCG MASK ENTRY POINT ADDRESS OUT OF LIST
  643. MX0 -18
  644. BX7 -X0*X3
  645. SA7 X1 ENTRY POINT ADDR INTO CAPSULE ADDR
  646. SA6 X2 PUT LOAD STATUS IN STATUS PARAMETER
  647. EQ SCRLCPX RETURN
  648.  
  649. SLCA VFD 60/0 FWA OF *SYMPL* PARAMETER LIST
  650.  
  651. * LOADER REPLY BLOCK.
  652.  
  653. SLCB VFD 60/0LVIRTERM GROUPNAME
  654. SLCC VFD 60/0 CAPSULE NAME (TERMINAL MNEMONIC)
  655. VFD 60/SLCD ADDRESS OF LIBRARY LIST
  656. VFD 60/SLCE ADDRESS OF LIST OF ENTRY POINTS
  657. SLCD VFD 60/0LTERMLIB LIST OF LIBRARIES
  658. VFD 60/0 END OF LIST
  659. SLCE VFD 60/SLCF LIST OF ADDRS OF ENTRY POINT LISTS
  660. VFD 60/0 END OF LIST
  661. SLCF VFD 24/00210001B HEADER WORD OF ENTRY POINT LIST
  662. VFD 36/0
  663. SLCG VFD 60/0 ENTRY POINT NAME AND ADDRESS
  664.  
  665. END
  666. IDENT SCRPKP
  667. ENTRY SCRPKP
  668. SYSCOM B1
  669. TITLE SCRPKP - PROCESS SCREEN/LINE PARAMETERS.
  670. *COMMENT SCRPKP - PROCESS SCREEN/LINE PARAMETERS.
  671. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  672. PKP SPACE 4,10
  673. *** SCRPKP - PROCESS SCREEN/LINE PARAMETERS.
  674. *
  675. * M. L. SWANSON. 84/05/09.
  676. PKP SPACE 4,10
  677. *** *SCRPKP* PROCESSES PARAMETERS FOR THE SCREEN AND
  678. * LINE DIRECTIVES.
  679. PKP SPACE 4,10
  680. ** COMMON DECKS.
  681.  
  682.  
  683. *CALL COMCARG
  684. *CALL COMCARM
  685. *CALL COMCCPA
  686. *CALL COMCPOP
  687. *CALL COMCUSB
  688. PKP SPACE 4,10
  689. *** SCRPKP - PROCESS SCREEN/LINE PARAMETERS.
  690. *
  691. * CALLING SEQUENCE.
  692. *
  693. * *SYMPL* CALL -
  694. *
  695. * SCRPKP(TERMINAL);
  696. *
  697. * (TERMINAL) = USER INPUT TERMINAL MNEMONIC.
  698. PKP SPACE 4,10
  699. ** SCRPKP - PROCESS SCREEN/LINE PARAMETERS.
  700. *
  701. * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
  702. * (X1) = FWA OF TERMINAL MNEMONIC.
  703. *
  704. * USES X - 3, 6, 7.
  705. * A - 3, 6.
  706. * B - 1.
  707. *
  708. * CALLS PKP.
  709.  
  710. SCRPKP SUBR ENTRY/EXIT
  711. SB1 1
  712. SX6 X1+ STORE FWA OF *SYMPL* PARAMETER LIST
  713. SA6 SPPA
  714. SX6 TSLA ARGUMENT TABLE ADDRESS
  715. SX7 TSLAL ARGUMENT TABLE LENGTH
  716. RJ PKP PROCESS PARAMETERS
  717. NZ X1,SCRPKPX IF NO ARGUMENTS
  718. SA3 SPPA GET FWA OF FORMAL PARAMETER LIST
  719. BX6 X2
  720. SA6 X3 PUT MNEMONIC IN PARAMETER LIST
  721. EQ SCRPKPX RETURN
  722.  
  723. SPPA BSS 1 FWA OF *SYMPL* PARAMETER LIST
  724. PKP SPACE 4,10
  725. ** TABLE OF VALID ARGUMENTS.
  726.  
  727.  
  728. TSLA BSS 0
  729. TM ARG ZR,TCKA,400B TERMINAL MNEMONIC
  730. ARG
  731. TSLAL EQU *-TSLA-1 LENGTH OF *TSLA* TABLE
  732.  
  733. ZR CON 0
  734. PKP SPACE 4,20
  735. ** PKP - PROCESS KEYWORD OR POSITIONAL ARGUMENTS.
  736. *
  737. * ENTRY (X6) = ARGUMENT TABLE ADDRESS.
  738. * (X7) = ARGUMENT TABLE LENGTH.
  739. *
  740. * EXIT (B1) = 1.
  741. * (X1) .NE. 0 IF NO ARGUMENTS SPECIFIED.
  742. * (X2) = TERMINAL MNEMONIC.
  743. * TO *ERR* IF ARGUMENT ERROR.
  744. *
  745. * USES X - 1, 2, 6, 7.
  746. * A - 1, 2, 6, 7.
  747. * B - 1, 2, 3, 4, 6.
  748. *
  749. * CALLS ARM, CPA, USB.
  750. *
  751. * MACROS ABORT, MESSAGE.
  752.  
  753.  
  754. PKP SUBR ENTRY/EXIT
  755. SB1 1
  756. SA6 PKPA SAVE ADDRESS AND LENGTH
  757. SA7 PKPB
  758. SB2 CCDR UNPACK CONTROL CARD
  759. RJ USB UNPACK STRING BUFFER
  760. SA1 A6 ASSURE TERMINATION
  761. SX6 1R.
  762. SA6 X1+B1
  763.  
  764. * SKIP TO FIRST ARGUMENT.
  765.  
  766. PKP1 SA1 B6 SKIP OVER CONTROL CARD NAME
  767. SB6 B6+B1 ADVANCE CHARACTER ADDRESS
  768. SB2 X1-1R9-1
  769. NG B2,PKP1 IF NOT END OF NAME
  770. SB2 X1-1R
  771. ZR B2,PKP1 IF A BLANK
  772. SB3 X1-1R.
  773. SB4 X1-1R)
  774. ZR B3,PKPX IF NO ARGUMENTS
  775. ZR B4,PKPX IF NO ARGUMENTS
  776.  
  777. * PROCESS ARGUMENTS.
  778.  
  779. SA1 PKPA RETRIEVE ADDRESS AND LENGTH
  780. SA2 PKPB
  781. SB3 X1 ARGUMENT TABLE ADDRESS
  782. SB2 X2
  783. SB4 ABUF
  784. RJ CPA CONVERT POSITIONAL ARGUMENTS
  785. NG B5,ERR IF ARGUMENT ERROR
  786. SX6 B5+ SET LWA OF ARGUMENTS
  787. SB6 ABUF SET FWA OF ARGUMENTS
  788. SA6 USBC
  789. RJ ARM PROCESS ARGUMENTS
  790. NZ X1,ERR IF ARGUMENT ERROR
  791. EQ PKPX RETURN
  792.  
  793. PKPA CON 0 ARGUMENT TABLE ADDRESS
  794. PKPB CON 0 ARGUMENT TABLE LENGTH
  795. PKP SPACE 4,10
  796. ERR MESSAGE (=C* ERROR IN COMMAND PARAMETERS.*)
  797. ABORT
  798. PKP SPACE 4,10
  799. TCKA BSSZ TSLAL CRACKED ARGUMENT VALUES
  800. CPALN EQU 40 CPA ARGUMENT LENGTH
  801. ABUF EQU * ARGUMENT STRING BUFFER
  802. SBUF EQU ABUF+CPALN SCRATCH BUFFER
  803. TBUF BSS SBUF-ABUF+1
  804.  
  805. END
  806. IDENT SCRRET
  807. ENTRY SCRRET
  808. SYSCOM B1
  809. TITLE SCRRET - RETURN LOCAL FILE.
  810. *COMMENT SCRRET - RETURN LOCAL FILE.
  811. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  812. RET SPACE 4,10
  813. *** SCRRET - RETURN LOCAL FILE.
  814. *
  815. * M. L. SWANSON. 84/05/09.
  816. RET SPACE 4,10
  817. *** *SCRRET* PROVIDES AN INTERFACE FOR HIGH-LEVEL
  818. * LANGUAGES USING THE *RETURN* MACRO.
  819. RET SPACE 4,10
  820. ** COMMON DECKS.
  821.  
  822.  
  823. *CALL COMCCMD
  824. LIST X
  825. *CALL COMSTIR
  826. LIST -X
  827. RET SPACE 4,10
  828. ** FETS.
  829.  
  830.  
  831. RETFET RFILEB RBUF,RBFL
  832. RET SPACE 4,10
  833. *** SCRRET - RETURN LOCAL FILE.
  834. *
  835. * CALLING SEQUENCE.
  836. *
  837. * *SYMPL* CALL -
  838. *
  839. * SCRRET(FILE);
  840. *
  841. * (FILE) = LOCAL FILE NAME.
  842. RET SPACE 4,10
  843. ** SCRRET - RETURN LOCAL FILE.
  844. *
  845. * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
  846. * (X1) = FWA OF LOCAL FILE NAME.
  847. *
  848. * USES X - 1.
  849. * A - 1.
  850. * B - 1.
  851. *
  852. * MACROS RETURN, SETFET.
  853.  
  854.  
  855. SCRRET SUBR ENTRY/EXIT
  856. SB1 1
  857. SA1 X1
  858. SETFET RETFET,(LFN=X1)
  859. RETURN RETFET,R
  860. EQ SCRRETX RETURN
  861.  
  862. RET SPACE 4,10
  863. ** BUFFER.
  864.  
  865.  
  866. RBUF BSS RBFL FET BUFFER
  867.  
  868. END
  869. IDENT SCRRTA
  870. ENTRY SCRRTA
  871. SYSCOM B1
  872. TITLE SCRRTA - RETRIEVE TERMCAP ADDRESS.
  873. *COMMENT SCRRTA - RETRIEVE TERMCAP ADDRESS.
  874. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  875. RTA SPACE 4,10
  876. *** SCRRTA - RETRIEVE RESIDENT TERMCAP ADDRESS.
  877. *
  878. * M. L. SWANSON. 84/04/24.
  879. RTA SPACE 4,10
  880. *** *SCRRTA* CALLS *GTO* TO RETRIEVE A RESIDENT
  881. * TERMINAL CAPSULE ADDRESS, GIVEN THE TERMINAL
  882. * MNEMONIC (CAPSULE NAME).
  883. RTA SPACE 4,10
  884. *** CALLING SEQUENCE.
  885. *
  886. * *SYMPL* CALL -
  887. *
  888. * SCRRTA(TERMINAL,ADDRESS);
  889. *
  890. * TERMINAL = TERMINAL MNEMONIC(CAPSULE NAME).
  891. * ADDRESS = RESIDENT CAPSULE ADDRESS.
  892. RTA SPACE 4,10
  893. ** SCRRTA - RETRIEVE RESIDENT TERMCAP ADDRESS.
  894. *
  895. * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
  896. * (X1) = ADDRESS OF FIRST PARAMETER.
  897. *
  898. * USES X - 2, 6, 7.
  899. * A - 2, 6, 7.
  900. * B - 1.
  901. *
  902. * CALLS GTO.
  903.  
  904.  
  905. SCRRTA SUBR ENTRY/EXIT
  906. SB1 1
  907. SX6 A1 SAVE ADDRESS OF *SYMPL* PARAMETERS
  908. SA2 X1 GET TERMINAL MNEMONIC
  909. SA6 RTAA STORE PARAMETER LIST
  910.  
  911. * GET RESIDENT TERMCAP ADDRESS.
  912.  
  913. RJ GTO
  914.  
  915. * *GTO* RETURNS ADDRESS OF TERMCAP IN X3.
  916.  
  917. SA2 RTAA GET ADDRESS OF *SYMPL* PARAMETERS
  918.  
  919. SA2 X2+1 GET ADDRESS PARAMETER
  920. BX7 X3
  921. SA7 X2 STORE ADDRESS IN PARAMETER LIST
  922. EQ SCRRTAX RETURN
  923.  
  924. LIST X
  925. *CALL COMCGTO
  926. LIST -X
  927.  
  928. RTAA VFD 60/0 ADDRESS OF SYMPL PARAMETER LIST.
  929.  
  930. END
  931. IDENT SCRRZF
  932. ENTRY SCRRZF
  933. SYSCOM B1
  934. TITLE SCRRZF - READ ZZZZTRM FILE.
  935. RZF SPACE 4,10
  936. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  937. *** SCRRZF - READ ZZZZTRM FILE.
  938. *
  939. * M. L. SWANSON. 84/05/14.
  940. RZF SPACE 4,10
  941. *** *SCRRZF* CALLS *READEI* TO FILL A BUFFER WITH
  942. * THE CONTENTS OF THE *ZZZZTRM* FILE. THE ADDRESS
  943. * OF THIS BUFFER IS THEN RETURNED TO THE CALLING
  944. * ROUTINE.
  945. RZF SPACE 4,10
  946. ** COMMON DECKS.
  947.  
  948.  
  949. *CALL COMCCMD
  950. *** CALLING SEQUENCE.
  951. *
  952. * *SYMPL* CALL -
  953. *
  954. * SCRRZF(FILE,ADDRESS);
  955. *
  956. * FILE = SPECIFIED FILE.
  957. * ADDRESS = ADDRESS OF BUFFER TO WHICH FILE IS READ.
  958. RZF SPACE 4,10
  959. ** SCRRZF - READ ZZZZTRM FILE.
  960. *
  961. * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
  962. * (X1) = ADDRESS OF FIRST PARAMETER.
  963. *
  964. * USES X - 0, 1, 2. 3, 6.
  965. * A - 1, 2, 6.
  966. * B - 1, 2.
  967. *
  968. * MACROS SETFET, READEI.
  969. RZF SPACE 4,10
  970. * FETS.
  971.  
  972.  
  973. ZZZFET RFILEB BUF,BUFL
  974. BUFL EQU 1001B
  975. BUF BSS BUFL
  976. *
  977. SCRRZF SUBR ENTRY/EXIT
  978. SB1 1
  979. SA2 A1+B1 GET ADDRESS OF *ADDRESS* ADDRESS
  980. SX6 X2 GET ADDRESS OF *ADDRESS* PARAMETER
  981. SA6 RZFA STORE ADDRESS OF *ADDRESS* PARAMETER
  982. SA1 X1 GET *FILENAME* PARAMETER
  983. MX0 42 MASK OFF SEVEN CHARACTER NAME
  984. BX6 X0*X1
  985. MX0 -6 MASK OFF BLANK FILL
  986. SB2 6 AT LEAST ONE NON-BLANK CHARACTER
  987. LX6 6 START AT SECOND CHARACTER
  988. RZF1 LX6 6 PROCESS NEXT CHARACTER
  989. BX2 -X0*X6 CHECK FOR BLANK CHARACTER
  990. SX3 X2-1R
  991. NZ X3,RZF2 IF NOT BLANK
  992. BX6 X0*X6 MASK OFF BLANK CHARACTER
  993. RZF2 SB2 B2-B1
  994. NZ B2,RZF1 IF NOT DONE
  995. LX6 18 REPOSITION NAME
  996. SETFET ZZZFET,(LFN=X6) REPLACE FILE NAME IN FET
  997. READEI ZZZFET,R READ UNTIL EOI OR BUFFER IS FILLED
  998. SA2 RZFA GET ADDRESS OF *ADDRESS* PARAMETER
  999. SX6 BUF GET CIO BUFFER ADDRESS
  1000. SA6 X2 RETURN BUFFER ADDRESS
  1001. EQ SCRRZFX RETURN
  1002.  
  1003. RZFA VFD 60/0 ADDRESS OF *ADDRESS* PARAMETER
  1004.  
  1005. END
  1006. IDENT SCRUGD
  1007. ENTRY SCRUGD
  1008. SYSCOM B1
  1009. TITLE SCRUGD - UNLOAD GROUP DIRECTORY
  1010. *COMMENT SCRUGD - UNLOAD GROUP DIRECTORY.
  1011. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1012. UGD SPACE 4,10
  1013. *** SCRUGD - UNLOAD GROUP DIRECTORY.
  1014. *
  1015. * M. L. SWANSON. 84/09/06.
  1016. UGD SPACE 4,10
  1017. *** *SCRUGD* INVOKES THE FAST DYNAMIC LOADER TO UNLOAD
  1018. * THE *VIRTERM* GROUP DIRECTORY.
  1019. UGD SPACE 4,10
  1020. *** CALLING SEQUENCE.
  1021. *
  1022. * *SYMPL* CALL -
  1023. *
  1024. * SCRUGD;
  1025. UGD SPACE 4,10
  1026. ** SCRUGD - UNLOAD GROUP DIRECTORY.
  1027. *
  1028. * ENTRY OBJECT ROUTINE CALLED.
  1029. *
  1030. * EXIT *VIRTERM* GROUP DIRECTORY UNLOADED.
  1031. *
  1032. * USES X - 1.
  1033. * A - 1.
  1034. * B - 1.
  1035. *
  1036. * CALLS FDL.UGD.
  1037.  
  1038.  
  1039. SCRUGD SUBR ENTRY/EXIT
  1040. SB1 1
  1041. SA1 UGDA GROUP NAME
  1042. RJ =XFDL.UGD UNLOAD GROUP DIRECTORY
  1043. EQ SCRUGDX RETURN
  1044.  
  1045. UGDA VFD 42/0LVIRTERM,18/0 GROUP NAME
  1046.  
  1047. END
  1048. IDENT SFCNP$
  1049. ENTRY SFCNP$
  1050. SYSCOM B1
  1051. TITLE SFCNP$ - COPY NEXT PARAMETER.
  1052. *COMMENT SFCNP$ - COPY NEXT PARAMETER.
  1053. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1054. CNP SPACE 4,10
  1055. *** SFCNP$ - COPY NEXT PARAMETER.
  1056. *
  1057. * E.D. REDIG. 83/01/14.
  1058. CNP SPACE 4,10
  1059. *** *SFCNP$* PROVIDES AN INTERFACE TO *SMF* ROUTINES FOR
  1060. * COPYING A PARAMETER TO A NEW PARAMETER LIST.
  1061. CNP SPACE 4,10
  1062. ** SFCNP$ - COPY NEXT PARAMETER.
  1063. *
  1064. * ENTRY (A1) = FWA OF PARAMETER.
  1065. * (X1) = ACTUAL PARAMETER.
  1066. * (B2) = FWA OF NEW PARAMETER.
  1067. *
  1068. * EXIT (A1) = POINTS TO NEXT PARAMTER.
  1069. * (B2) = POINTS TO NEXT NEW PARAMETER.
  1070. *
  1071. * USES X - 1, 6.
  1072. * A - 1, 6.
  1073. * B - 1, 2.
  1074.  
  1075.  
  1076. SFCNP$ SUBR ENTRY/EXIT
  1077. SB1 1
  1078. SX6 X1 SAVE ADDRESS OF PARAMETER
  1079. SA6 B2
  1080. SA1 A1+B1 POINT TO NEXT PARAMETER
  1081. SB2 B2+B1 POINT TO NEXT NEW PARAMETER
  1082. EQ SFCNP$X RETURN
  1083.  
  1084. END
  1085. IDENT SFCSP$
  1086. ENTRY SFCSP$
  1087. SYSCOM B1
  1088. TITLE SFCSP$ - COPY STRING PARAMETER.
  1089. *COMMENT SFCSP$ - COPY STRING PARAMETER.
  1090. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1091. CSP SPACE 4,10
  1092. *** SFCSP$ - COPY STRING PARAMETER.
  1093. *
  1094. * E.D. REDIG. 83/01/14.
  1095. CSP SPACE 4,10
  1096. *** *SFCSP$* PROVIDES AN INTERFACE TO *SMF* ROUTINES FOR
  1097. * COPYING A STRING PARAMETER, ITS LENGTH, AND OFFSET TO
  1098. * A NEW PARAMETER LIST.
  1099. CSP SPACE 4,10
  1100. ** SFCSP$ - COPY STRING PARAMETER.
  1101. *
  1102. * ENTRY (A1) = FWA OF PARAMETER.
  1103. * (X1) = ACTUAL PARAMETER.
  1104. * (B2) = ADDRESS OF NEXT NEW PARAMETER.
  1105. * (B3) = ADDRESS OF LENGTH OF STRING PARAMETER.
  1106. *
  1107. * EXIT (A1) = POINTS TO NEXT PARAMTER.
  1108. * (B2) = POINTS TO NEXT NEW PARAMETER.
  1109. * (B3) = POINTS TO NEXT NEW LENGTH AND OFFSET.
  1110. *
  1111. * USES X - 0, 1, 6, 7.
  1112. * A - 1, 6, 7.
  1113. * B - 1, 2, 3.
  1114.  
  1115.  
  1116. CSP2 SB2 A6+B1
  1117. SB3 A7+B1
  1118. SA1 A1+1
  1119.  
  1120. SFCSP$ SUBR ENTRY/EXIT
  1121. SB1 1
  1122. SX6 X1 COPY STRING ADDRESS
  1123. MX0 -3 EXTRACT CLASS OF DATA
  1124. SA6 B2
  1125. LX1 0-21
  1126. BX7 -X0*X1
  1127. MX0 -18
  1128. ZR X7,CSP1 IF *FORTRAN5* CALL
  1129. LX1 0-36-0+21 EXTRACT *COBOL5* LENGTH
  1130. BX7 -X0*X1
  1131. SX6 B3
  1132. SA7 B3 LENGTH
  1133. MX0 -6
  1134. SA6 A6+B1 ADDRESS OF LENGTH
  1135. LX1 0-30-0+36 EXTRACT OFFSET
  1136. BX7 -X0*X1
  1137. SA7 A7+B1 OFFSET
  1138. SX6 A7
  1139. SA6 A6+1 ADDRESS OF OFFSET
  1140. EQ CSP2 INCREMENT POINTERS
  1141.  
  1142. CSP1 LX1 0-30-0+21 EXTRACT LENGTH
  1143. BX7 -X0*X1
  1144. SX6 B3
  1145. SA7 B3 LENGTH
  1146. MX0 -4
  1147. SA6 A6+B1 ADDRESS OF LENGTH
  1148. LX1 0-24-0+30 EXTRACT OFFSET
  1149. BX7 -X0*X1
  1150. SA7 A7+1 OFFSET
  1151. SX6 A7+
  1152. SA6 A6+1 ADDRESS OF OFFSET
  1153. EQ CSP2 INCREMENT POINTERS
  1154.  
  1155. END
  1156. IDENT VDTABT$
  1157. ENTRY VDTABT$
  1158. SYSCOM B1
  1159. TITLE VDTABT$ - ABORT JOB.
  1160. *COMMENT ABORT JOB.
  1161. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1162. ABT SPACE 4,10
  1163. *** VDTABT$ - ABORT JOB.
  1164. *
  1165. * G.K. CHACE. 83/02/03.
  1166. ABT SPACE 4,10
  1167. *** CALLING SEQUENCE.
  1168. *
  1169. * *SYMPL* CALL -
  1170. *
  1171. * VDTABT$;
  1172. VDTABT$ SPACE 4,10
  1173. *** VDTABT$ - ABORT JOB.
  1174. *
  1175. * USES B - 1.
  1176. *
  1177. * MACROS ABORT.
  1178.  
  1179.  
  1180. VDTABT$ SUBR ENTRY/EXIT
  1181. SB1 1
  1182. ABORT
  1183.  
  1184. END
  1185. *IF DEF,CRM
  1186. IDENT VDTCRM$
  1187. ENTRY VDTCLO$
  1188. ENTRY VDTOPN$
  1189. SYSCOM B1
  1190. TITLE VDTCRM$ - CRM OUTPUT ROUTINES.
  1191. *COMMENT CRM OUTPUT ROUTINES.
  1192. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1193. CRM SPACE 4,10
  1194. *** VDTCRM$ - CRM OUTPUT ROUTINES.
  1195. *
  1196. * E.D. REDIG. 83/08/17.
  1197. CRM SPACE 4,10
  1198. ** FILE INFORMATION TABLE.
  1199.  
  1200.  
  1201. OUTPUT FILE LFN=ZZZZZSF,BT=C,RT=S,CNF=YES,PD=OUTPUT,DFC=3,EFC=3,MRL
  1202. ,=131071,ASCII=2,BFS=513
  1203. CRM SPACE 4,10
  1204. *** CALLING SEQUENCE.
  1205. *
  1206. * *SYMPL* CALL -
  1207. *
  1208. * VDTCLO$;
  1209. CRM SPACE 4,10
  1210. *** VDTCLO$ - CLOSE THE FILE.
  1211. *
  1212. * USES X - 1, 5, 6.
  1213. * A - 0, 1, 6.
  1214. * B - 1.
  1215. *
  1216. * MACROS CLOSEM, FETCH.
  1217.  
  1218.  
  1219. VDTCLO$ SUBR ENTRY/EXIT
  1220. SB1 1
  1221. SX6 A0+ SAVE (A0)
  1222. SA6 CLOA
  1223. FETCH OUTPUT,OC,X5 GET OPEN/CLOSE FLAG
  1224. SX6 #CLO# FILE CLOSED
  1225. IX5 X5-X6
  1226. ZR X5,CLO1 IF FILE CLOSED
  1227. CLOSEM OUTPUT,RET,FILE
  1228. CLO1 SA1 CLOA RESTORE (A0)
  1229. SA0 X1+
  1230. EQ VDTCLO$X RETURN
  1231.  
  1232. CLOA BSSZ 1 (A0)
  1233. CRM SPACE 4,10
  1234. *** CALLING SEQUENCE.
  1235. *
  1236. * *SYMPL* CALL -
  1237. *
  1238. * VDTOPN$;
  1239. CRM SPACE 4,10
  1240. *** VDTOPN$ - INITIALIZE THE *TERMIO* MODULE.
  1241. *
  1242. * USES X - ALL.
  1243. * A - 0, 1, 2, 6, 7.
  1244. * B - 1, 2, 3, 4, 5.
  1245. *
  1246. * MACROS FETCH, GETLOF, OPENM, PUTP.
  1247.  
  1248.  
  1249. VDTOPN$ SUBR ENTRY/EXIT
  1250. SB1 1
  1251. SX6 A0 SAVE (A0)
  1252. SX7 X1
  1253. SA6 OPNA
  1254. SA7 OPNB SAVE FET ADDRESS
  1255. FETCH OUTPUT,OC,X5 GET OPEN/CLOSE FLAG
  1256. SX6 #OPE# FILE OPENED
  1257. IX5 X5-X6
  1258. ZR X5,OPN1 IF FILE OPENED
  1259. OPENM OUTPUT,OUTPUT,N INITIALIZE *TERMIO* MODULE
  1260. PUTP OUTPUT,OPNB,0,,,0
  1261. OPN1 GETLOF OPNC-1 GET LIST OF FILES
  1262. SA2 OPNC-1
  1263. LX2 30
  1264. SX1 X2 POINTER ADDRESS
  1265. SA2 X1+B1 READ UP FIRST ENTRY
  1266. SX6 X2
  1267. SA1 OPNB
  1268. SA2 X1
  1269. SA6 A2+ RETURN FET ADDRESS
  1270. SA1 X6+B1 FIRST
  1271. SA2 A1+B1 IN
  1272. SA3 A2+B1 OUT
  1273. SA4 A3+B1 LIMIT
  1274. SX6 X1-OPNC
  1275. ZR X6,OPN4 IF BUFFER ALREADY SWITCHED
  1276. SX6 X1
  1277. SX7 X4
  1278. IX7 X7-X6 CURRENT BUFFER LENGTH
  1279. SX7 X7-OPNCL
  1280. PL X7,OPN4 IF CURRENT BUFFER LARGE ENOUGH
  1281. SX6 OPNC ALLOCATE LARGER BUFFER
  1282. MX0 42
  1283. SB2 X1 FIRST
  1284. SB3 X2 IN
  1285. SB4 X3 OUT
  1286. SB5 X4 LIMIT
  1287. BX7 X0*X1 SET NEW FIRST
  1288. BX7 X7+X6
  1289. SA7 A1
  1290. BX7 X0*X4 SET NEW LIMIT
  1291. SX4 OPNC+OPNCL
  1292. BX7 X7+X4
  1293. SA7 A4
  1294. SA6 A3 SET NEW OUT
  1295. SA7 OPNC-1 SET DESTINATION ADDRESS
  1296. OPN2 EQ B4,B3,OPN3 IF OLD BUFFER IS EMPTY
  1297. SA1 B4 TRANSFER OLD DATA TO NEW BUFFER
  1298. SB4 B4+B1 ADVANCE POINTER
  1299. BX7 X1
  1300. SA7 A7+B1 PLACE WORD INTO NEW BUFFER
  1301. NE B4,B5,OPN2 IF NO WRAP AROUND
  1302. SB4 B2 RESET POINTER
  1303. EQ OPN2 CONTINUE TRANSFER
  1304.  
  1305. OPN3 SX6 A7+1 SET IN
  1306. SA6 A2+
  1307. OPN4 BSS 0
  1308. SA1 OPNA RESTORE (A0)
  1309. SA0 X1+
  1310. EQ VDTOPN$X RETURN
  1311.  
  1312. OPNA BSSZ 1 (A0)
  1313. OPNB BSSZ 1 FET ADDRESS
  1314. BSS 1
  1315. OPNC BSS 401B OUTPUT BUFFER
  1316. OPNCL EQU *-OPNC
  1317.  
  1318. END
  1319. *ENDIF
  1320. IDENT VDTFUN
  1321. ENTRY VDTFUN
  1322. SYSCOM B1
  1323. TITLE VDTFUN - GET FUNCTION NAME.
  1324. *COMMENT VDTFUN - GET FUNCTION NAME.
  1325. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1326. FUN SPACE 4,10
  1327. *** VDTFUN - GET FUNCTION NAME.
  1328. *
  1329. * E.D. REDIG. 83/02/11.
  1330. FUN SPACE 4,10
  1331. *** *VDTFUN* PROVIDES AN INTERFACE TO *VDTFUN$* FOR PROGRAMS
  1332. * WRITTEN IN HIGHER LEVEL LANGUAGES.
  1333. FUN SPACE 4,15
  1334. *** CALLING SEQUENCE.
  1335. *
  1336. * *FORTRAN5* CALL -
  1337. *
  1338. * CALL VDTFUN(FUNCTION,NAME,LENGTH)
  1339. *
  1340. * *COBOL5* CALL -
  1341. *
  1342. * ENTER VDTFUN USING FUNCTION, NAME, LENGTH.
  1343. *
  1344. * FUNCTION = UNSHIFTED FUNCTION NUMBER (1-16).
  1345. * = SHIFTED FUNCTION NUMBER (MINUS 1-16).
  1346. * NAME = FUNCTION NAME.
  1347. * LENGTH = NUMBER OF CHARACTERS IN NAME.
  1348. FUN SPACE 4,10
  1349. ** VDTFUN - GET FUNCTION NAME.
  1350. *
  1351. * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
  1352. * (X1) = FWA OF FUNCTION NUMBER.
  1353. *
  1354. * USES A - 1.
  1355. * B - 1, 2, 3.
  1356. *
  1357. * CALLS SFCNP$, SFCSP$, VDTFUN$.
  1358.  
  1359.  
  1360. VDTFUN SUBR ENTRY/EXIT
  1361. SB1 1
  1362. SB2 FUNA FWA OF PARAMETER LIST
  1363. SB3 FUNB LENGTH AND OFFSET
  1364. RJ =XSFCNP$ COPY FUNCTION
  1365. RJ =XSFCSP$ COPY NAME
  1366. RJ =XSFCNP$ COPY LENGTH
  1367. SA1 FUNA SET NEW PARAMETER LIST ADDRESS
  1368. RJ =XVDTFUN$ GET FUNCTION NAME
  1369. EQ VDTFUNX RETURN
  1370.  
  1371. FUNA BSSZ 6 NEW PARAMETER LIST
  1372. FUNB BSSZ 2 LENGTH AND OFFSET FOR NAME
  1373.  
  1374. END
  1375. IDENT VDTGEN
  1376. ENTRY VDTGEN
  1377. SYSCOM B1
  1378. TITLE VDTGEN - GET GENERIC FUNCTION NAME.
  1379. *COMMENT VDTGEN - GET GENERIC FUNCTION NAME.
  1380. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1381. GEN SPACE 4,10
  1382. *** VDTGEN - GET GENERIC FUNCTION NAME.
  1383. *
  1384. * E.D. REDIG. 83/02/11.
  1385. GEN SPACE 4,10
  1386. *** *VDTGEN* PROVIDES AN INTERFACE TO *VDTGEN$* FOR PROGRAMS
  1387. * WRITTEN IN HIGHER LEVEL LANGUAGES.
  1388. GEN SPACE 4,15
  1389. *** CALLING SEQUENCE.
  1390. *
  1391. * *FORTRAN5* CALL -
  1392. *
  1393. * CALL VDTGEN(FUNCTION,NAME,LENGTH)
  1394. *
  1395. * *COBOL5* CALL -
  1396. *
  1397. * ENTER VDTGEN USING FUNCTION, NAME, LENGTH.
  1398. *
  1399. * FUNCTION = UNSHIFTED FUNCTION NUMBER (1-32).
  1400. * = SHIFTED FUNCTION NUMBER (MINUS 1-16).
  1401. * NAME = FUNCTION NAME.
  1402. * LENGTH = NUMBER OF CHARACTERS IN NAME.
  1403. GEN SPACE 4,10
  1404. ** VDTGEN - GET GENERIC FUNCTION NAME.
  1405. *
  1406. * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
  1407. * (X1) = FWA OF FUNCTION NUMBER.
  1408. *
  1409. * USES A - 1.
  1410. * B - 1, 2, 3.
  1411. *
  1412. * CALLS SFCNP$, SFCSP$, VDTGEN$.
  1413.  
  1414.  
  1415. VDTGEN SUBR ENTRY/EXIT
  1416. SB1 1
  1417. SB2 GENA FWA OF PARAMETER LIST
  1418. SB3 GENB LENGTH AND OFFSET
  1419. RJ =XSFCNP$ COPY FUNCTION
  1420. RJ =XSFCSP$ COPY NAME
  1421. RJ =XSFCNP$ COPY LENGTH
  1422. SA1 GENA SET NEW PARAMETER LIST ADDRESS
  1423. RJ =XVDTGEN$ GET FUNCTION NAME
  1424. EQ VDTGENX RETURN
  1425.  
  1426. GENA BSSZ 6 NEW PARAMETER LIST
  1427. GENB BSSZ 2 LENGTH AND OFFSET FOR NAME
  1428.  
  1429. END
  1430. *IF UNDEF,RETRO
  1431. IDENT VDTGSL
  1432. ENTRY VDTGSL
  1433. SYSCOM B1
  1434. TITLE VDTGSL - GET SCREEN/LINE MODE.
  1435. *COMMENT VDTGSL - GET SCREEN/LINE MODE.
  1436. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1437. GSL SPACE 4,10
  1438. *** VDTGSL - GET SCREEN/LINE MODE.
  1439. *
  1440. * E.D. REDIG. 83/02/09.
  1441. GSL SPACE 4,10
  1442. *** *VDTGSL* PROVIDES AN INTERFACE TO *SETSLM* FOR PROGRAMS
  1443. * WRITTEN IN HIGHER LEVEL LANGUAGES.
  1444. GSL SPACE 4,15
  1445. *** CALLING SEQUENCE.
  1446. *
  1447. * *FORTRAN5* CALL -
  1448. *
  1449. * CALL VDTGSL(MODEL,SCREEN)
  1450. *
  1451. * *COBOL5* CALL -
  1452. *
  1453. * ENTER VDTGSL USING MODEL, SCREEN.
  1454. *
  1455. * MODEL = TERMINAL MODEL NUMBER.
  1456. * SCREEN = 0, IF LINE MODE.
  1457. * = 1, IF SCREEN MODE.
  1458. GSL SPACE 4,10
  1459. ** VDTGSL - GET SCREEN/LINE MODE.
  1460. *
  1461. * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
  1462. * (X1) = FWA OF MODEL NUMBER.
  1463. *
  1464. * USES X - 0, 1, 2, 6.
  1465. * A - 1, 2, 6.
  1466. * B - 1.
  1467. *
  1468. * CALLS SETSLM.
  1469.  
  1470.  
  1471. VDTGSL SUBR ENTRY/EXIT
  1472. SB1 1
  1473. SX6 X1
  1474. SA1 A1+B1
  1475. SA6 GSLA SAVE ORDINAL ADDRESS
  1476. SX6 X1
  1477. SA6 A6+B1 SAVE SCREEN/LINE ADDRESS
  1478. SETSLM GSLC READ SCREEN/LINE MODE
  1479. SA1 GSLC
  1480. MX0 -6
  1481. BX6 -X0*X1 EXTRACT ORDINAL
  1482. SA2 GSLA
  1483. LX1 0-6
  1484. MX0 -1
  1485. SA6 X2 STORE ORDINAL
  1486. BX6 -X0*X1 EXTRACT SCREEN/LINE
  1487. SA2 GSLB
  1488. SA6 X2+ STORE SCREEN/LINE
  1489. EQ VDTGSLX RETURN
  1490.  
  1491. GSLA CON 0 ORDINAL ADDRESS
  1492. GSLB CON 0 SCREEN/LINE ADDRESS
  1493. GSLC CON 0 *SETSLM* PARAMETER WORD
  1494.  
  1495. END
  1496. *ENDIF
  1497. IDENT VDTGTA
  1498. ENTRY VDTGTA
  1499. SYSCOM B1
  1500. TITLE VDTGTA - GET TEXT PARAMETER.
  1501. *COMMENT VDTGTA - GET RESIDENT TERMCAP ADDRESS.
  1502. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1503. GTA SPACE 4,10
  1504. *** VDTGTA - GET RESIDENT TERMCAP ADDRESS.
  1505. *
  1506. * M. L. SWANSON. 84/05/09.
  1507. GTA SPACE 4,10
  1508. *** *VDTGTA* CALLS *GTN* TO RETRIEVE A RESIDENT TERMCAP
  1509. * ADDRESS CORRESPONDING TO THE GIVEN TERMINAL MODEL.
  1510. GTA SPACE 4,10
  1511. *** CALLING SEQUENCE.
  1512. *
  1513. * *SYMPL* CALL -
  1514. *
  1515. * VDTGTA(MODEL,ADDRESS);
  1516. *
  1517. * MODEL = TERMINAL MODEL.
  1518. * ADDRESS = CORRESPONDING RESIDENT CAPSULE ADDRESS.
  1519. GTA SPACE 4,10
  1520. ** VDTGTA - GET RESIDENT TERMCAP ADDRESS.
  1521. *
  1522. *
  1523. * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
  1524. * (X1) = ADDRESS OF FIRST PARAMETER.
  1525. *
  1526. * USES X - 2, 6, 7.
  1527. * A - 2, 6, 7.
  1528. * B - 1.
  1529. *
  1530. * CALLS GTN.
  1531.  
  1532.  
  1533. VDTGTA SUBR ENTRY/EXIT
  1534. SB1 1
  1535. SX6 A1 SAVE ADDRESS OF SYMPL PARAMETERS
  1536. SA2 X1 GET TERMINAL MODEL
  1537. SA6 GTAA STORE PARAMETER LIST
  1538.  
  1539. * GET RESIDENT TERMCAP ADDRESS.
  1540.  
  1541. RJ GTN
  1542.  
  1543. * *GTN* RETURNS ADDRESS OF TERMCAP IN X1.
  1544.  
  1545. SA2 GTAA GET ADDRESS OF SYMPL PARAMETERS
  1546. SA2 X2+1 GET ADDRESS PARAMETER
  1547. SX7 X1 EXTRACT RESIDENT TERMCAP ADDRESS
  1548. SA7 X2 STORE ADDRESS IN PARAMETER LIST
  1549. EQ VDTGTAX RETURN
  1550.  
  1551. LIST X
  1552. *CALL COMCGTO
  1553. LIST -X
  1554.  
  1555. GTAA VFD 60/0 ADDRESS OF SYMPL PARAMETER LIST
  1556.  
  1557. END
  1558. IDENT VDTGTO
  1559. ENTRY VDTGTO
  1560. SYSCOM B1
  1561. TITLE VDTGTO - GET TERMINAL ORDINAL.
  1562. *COMMENT VDTGTO - GET TERMINAL ORDINAL.
  1563. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1564. GTO SPACE 4,10
  1565. *** VDTGTO - GET TERMINAL ORDINAL.
  1566. *
  1567. * E.D. REDIG. 83/02/03.
  1568. GTO SPACE 4,10
  1569. *** *VDTGTO* PROVIDES AN INTERFACE TO *COMCGTO* FOR
  1570. * PROGRAMS WRITTEN IN HIGHER LEVEL LANGUAGES.
  1571. GTO SPACE 4,15
  1572. *** CALLING SEQUENCE.
  1573. *
  1574. * *FORTRAN5* CALL -
  1575. *
  1576. * CALL VDTGTO(ORDINAL,MNEMONIC)
  1577. *
  1578. * *COBOL5* CALL -
  1579. *
  1580. * ENTER VDTGTO USING ORDINAL, MNEMONIC.
  1581. *
  1582. * ORDINAL = TERMINAL MODEL NUMBER.
  1583. * MNEMONIC = TERMINAL MNEMONIC.
  1584. GTO SPACE 4,10
  1585. ** VDTGTO - GET TERMINAL ORDINAL.
  1586. *
  1587. * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
  1588. * (X1) = FWA OF MODEL NUMBER.
  1589. *
  1590. * USES X - 1, 6.
  1591. * A - 1, 6.
  1592. * B - 1, 2, 3.
  1593. *
  1594. * CALLS SFCNP$, SFCSP$, VDGTO.
  1595.  
  1596.  
  1597. VDTGTO SUBR ENTRY/EXIT
  1598. SB1 1
  1599. SB2 GTOA FWA OF PARAMETER LIST
  1600. SB3 GTOB LENGTH AND OFFSET
  1601. RJ =XSFCNP$ COPY ORDINAL
  1602. RJ =XSFCSP$ COPY MNEMONIC
  1603. SA1 GTOB GET MNEMONIC LENGTH
  1604. NZ X1,VGO1 IF VALID LENGTH
  1605. SX6 10 ONE WORD LENGTH
  1606. SA6 GTOB RESTORE MNEMONIC LENGTH
  1607. VGO1 SA1 GTOA SET NEW PARAMETER LIST ADDRESS
  1608. RJ VDGTO GET TERMINAL ORDINAL
  1609. EQ VDTGTOX RETURN
  1610. GTO SPACE 4,10
  1611. ** VDGTO - GET TERMINAL ORDINAL.
  1612. *
  1613. * ENTRY (A1) = FWA OF NEW PARAMETER LIST.
  1614. * (X1) = FWA OF MODEL NUMBER.
  1615. *
  1616. * EXIT RETURN TERMINAL ORDINAL CORRESPONDING TO MNEMONIC.
  1617. *
  1618. * USES X - 0, 1, 2, 3, 4, 5, 6.
  1619. * A - 1, 2, 3, 6.
  1620. * B - 1, 2, 3, 4, 5, 6, 7.
  1621. *
  1622. * CALLS GTO.
  1623.  
  1624.  
  1625. VDGTO SUBR ENTRY/EXIT
  1626. SB1 1
  1627. SB7 X1 SAVE RETURN ADDRESS
  1628. SA1 A1+B1 GET MNEMONIC
  1629. SA2 A1+B1 GET LENGTH
  1630. SA3 A2+B1 GET OFFSET
  1631. SA1 X1
  1632. SA2 X2
  1633. SA3 X3+
  1634. SX4 6
  1635. SB6 X2 SAVE LENGTH
  1636. IX4 X4*X3 COMPUTE SHIFT COUNT
  1637. SB2 X4+
  1638. SB4 X3 SAVE OFFSET
  1639. LX1 B2 LEFT JUSTIFY FIRST WORD OF MNEMONIC
  1640. SX4 10
  1641. SB3 60 SHIFT COUNT
  1642. IX4 X4-X3 COMPUTE CHARACTERS LEFT IN FIRST WORD
  1643. BX6 X6-X6 CLEAR TERMINAL NAME
  1644. SB5 X4 SAVE CHARACTERS LEFT IN FIRST WORD
  1645. LX1 6 POSITION MNEMONIC
  1646. SB2 6
  1647. SX0 1R+
  1648. MX3 -6 ONE CHARACTER MASK
  1649. BX2 X2-X2
  1650. VDG1 BX4 -X3*X1 GET A CHARACTER
  1651. ZR X4,VDG3 IF END OF NAME
  1652. IX5 X4-X0
  1653. PL X5,VDG4 IF NOT ALPHANUMERIC
  1654. LX6 6
  1655. SB3 B3-B2 DECREMENT SHIFT COUNT
  1656. BX6 X6+X4 TRANSFER A CHARACTER
  1657. SB5 B5-B1 DECREMENT FIRST WORD COUNT
  1658. LX1 6
  1659. SB6 B6-B1 DECREMENT LENGTH COUNT
  1660. ZR B6,VDG3 IF ENOUGH CHARACTERS
  1661. GT B5,VDG1 IF MORE IN THIS WORD
  1662. ZR B3,VDG2 IF FULL WORD
  1663. SA1 A1+1 GET NEXT WORD
  1664. SB5 B4 NUMBER OF CHARACTERS LEFT
  1665. LX1 6 POSITION MNEMONIC
  1666. EQ VDG1 LOOP FOR NEXT CHARACTER
  1667.  
  1668. VDG2 NZ B6,VDGTOX IF TOO MANY CHARACTERS
  1669. VDG3 NG B3,VDGTOX IF TOO MANY CHARACTERS
  1670. VDG4 ZR X6,VDGTOX IF ZERO LENGTH NAME
  1671. LX6 X6,B3 POSITION NAME
  1672. BX2 X6
  1673. RJ GTO GET TERMINAL ORDINAL
  1674. SX6 X1
  1675. SA6 B7 STORE ORDINAL
  1676. EQ VDGTOX RETURN
  1677.  
  1678. LIST X
  1679. *CALL COMCGTO
  1680. LIST *
  1681.  
  1682. GTOA BSSZ 1 TERMINAL ORDINAL
  1683. BSSZ 1 MNEMONIC
  1684. BSSZ 1 ADDRESS OF MNEMONIC LENGTH
  1685. BSSZ 1 ADDRESS OF MNEMONIC OFFSET
  1686. BSSZ 1 ZERO TERMINATOR
  1687. GTOB BSSZ 1 MNEMONIC LENGTH
  1688. BSSZ 1 MNEMONIC OFFSET
  1689.  
  1690. END
  1691. IDENT VDTGTN
  1692. ENTRY VDTGTN
  1693. SYSCOM B1
  1694. TITLE VDTGTN - GET TERMINAL MNEMONIC.
  1695. *COMMENT VDTGTO - GET TERMINAL MNEMONIC.
  1696. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1697. GTN SPACE 4,10
  1698. *** VDTGTN - GET TERMINAL MNEMONIC.
  1699. *
  1700. * E.D. REDIG. 83/02/03.
  1701. GTN SPACE 4,10
  1702. *** *VDTGTN* PROVIDES AN INTERFACE TO *COMCGTO* FOR
  1703. * PROGRAMS WRITTEN IN HIGHER LEVEL LANGUAGES.
  1704. GTN SPACE 4,15
  1705. *** CALLING SEQUENCE.
  1706. *
  1707. * *FORTRAN5* CALL -
  1708. *
  1709. * CALL VDTGTN(ORDINAL,MNEMONIC)
  1710. *
  1711. * *COBOL5* CALL -
  1712. *
  1713. * ENTER VDTGTN USING ORDINAL, MNEMONIC.
  1714. *
  1715. * ORDINAL = TERMINAL MODEL NUMBER.
  1716. * MNEMONIC = TERMINAL MNEMONIC.
  1717. GTN SPACE 4,10
  1718. ** VDTGTN - GET TERMINAL NAME.
  1719. *
  1720. * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
  1721. * (X1) = FWA OF MODEL NUMBER.
  1722. *
  1723. * USES X - 1, 6.
  1724. * A - 1, 6.
  1725. * B - 1, 2, 3.
  1726. *
  1727. * CALLS SFCNP$, SFCSP$, VDGTN.
  1728.  
  1729.  
  1730. VDTGTN SUBR ENTRY/EXIT
  1731. SB1 1
  1732. SB2 GTNA FWA OF PARAMETER LIST
  1733. SB3 GTNB LENGTH AND OFFSET
  1734. RJ =XSFCNP$ COPY ORDINAL
  1735. RJ =XSFCSP$ COPY MNEMONIC
  1736. SA1 GTNB GET MNEMONIC LENGTH
  1737. NZ X1,VGN1 IF VALID LENGTH
  1738. SX6 10 ONE WORD LENGTH
  1739. SA6 GTNB RESTORE MNEMONIC LENGTH
  1740. VGN1 SA1 GTNA SET NEW PARAMETER LIST ADDRESS
  1741. RJ VDGTN GET TERMINAL NAME
  1742. EQ VDTGTNX RETURN
  1743. GTN SPACE 4,10
  1744. ** VDGTN - GET TERMINAL MNEMONIC.
  1745. *
  1746. * ENTRY (A1) = FWA OF NEW PARAMETER LIST.
  1747. * (X1) = FWA OF MODEL NUMBER.
  1748. *
  1749. * EXIT RETURN TERMINAL MNEMONIC CORRESPONDING TO ORDINAL.
  1750. *
  1751. * USES X - ALL.
  1752. * A - 1, 2, 3, 4, 6.
  1753. * B - 1, 2, 3, 4, 5, 6, 7.
  1754. *
  1755. * CALLS GTN.
  1756.  
  1757.  
  1758. VDGTN SUBR ENTRY/EXIT
  1759. SB1 1
  1760. SA2 X1 GET ORDINAL
  1761. SA1 A1+B1 GET MNEMONIC
  1762. SB7 X1 SAVE RETURN ADDRESS
  1763. SA3 A1+B1 GET LENGTH
  1764. SA4 A3+B1 GET OFFSET
  1765. SA3 X3
  1766. SA4 X4+
  1767. RJ GTN GET TERMINAL MNEMONIC
  1768. SA2 B7+
  1769. SX5 6
  1770. SB6 X3 SAVE LENGTH
  1771. IX5 X5*X4 COMPUTE SHIFT COUNT
  1772. SB2 X5+
  1773. SB4 X4 SAVE OFFSET
  1774. LX2 B2 LEFT JUSTIFY FIRST WORD OF MNEMONIC
  1775. SB5 10
  1776. SX7 B2 SAVE SHIFT COUNT
  1777. SB3 60 SHIFT COUNT
  1778. SB5 B5-B4 COMPUTE CHARACTERS LEFT IN FIRST WORD
  1779. LX1 6 POSITION MNEMONIC
  1780. SB2 6
  1781. MX3 -6 ONE CHARACTER MASK
  1782. VDN1 BX4 -X3*X1 GET A CHARACTER
  1783. NZ X4,VDN2 IF NOT END OF NAME
  1784. SX4 1R
  1785. VDN2 LX2 6
  1786. BX2 X3*X2 CLEAR CHARACTER
  1787. SB3 B3-B2 DECREMENT SHIFT COUNT
  1788. BX2 X2+X4 TRANSFER A CHARACTER
  1789. SB5 B5-1 DECREMENT FIRST WORD COUNT
  1790. LX1 6
  1791. SB6 B6-B1 DECREMENT LENGTH COUNT
  1792. ZR B6,VDN4 IF ENOUGH CHARACTERS
  1793. GT B5,VDN1 IF MORE IN THIS WORD
  1794. ZR B3,VDN3 IF FULL WORD
  1795. SB5 X7
  1796. SB3 B3-B5 SHIFT COUNT
  1797. SX7 B0
  1798. LX6 X2,B3 POSITION MNEMONIC
  1799. SA6 B7 STORE WORD ONE
  1800. SA2 B7+B1 GET NEXT WORD
  1801. SB7 A2+ SAVE RETURN ADDRESS
  1802. SB5 B4 NUMBER OF CHARACTERS LEFT
  1803. LX2 6 POSITION MNEMONIC
  1804. SB3 60
  1805. EQ VDN1 LOOP FOR NEXT CHARACTER
  1806.  
  1807. VDN3 NZ B6,VDGTNX IF TOO MANY CHARACTERS
  1808. VDN4 NG B3,VDGTNX IF TOO MANY CHARACTERS
  1809. SB2 X7
  1810. SB3 B3-B2 SHIFT COUNT
  1811. LX6 X2,B3 POSITION NAME
  1812. SA6 B7 STORE MNEMONIC
  1813. EQ VDGTNX RETURN
  1814.  
  1815. LIST X
  1816. *CALL COMCGTO
  1817. LIST *
  1818.  
  1819. GTNA BSSZ 1 TERMINAL ORDINAL
  1820. BSSZ 1 MNEMONIC
  1821. BSSZ 1 ADDRESS OF MNEMONIC LENGTH
  1822. BSSZ 1 ADDRESS OF MNEMONIC OFFSET
  1823. BSSZ 1 ZERO TERMINATOR
  1824. GTNB BSSZ 1 MNEMONIC LENGTH
  1825. BSSZ 1 MNEMONIC OFFSET
  1826.  
  1827. END
  1828. IDENT VDTLOF$
  1829. ENTRY VDTLOF$
  1830. SYSCOM B1
  1831. TITLE VDTLOF$ - SET LIST OF FILES.
  1832. *COMMENT VDTLOF$ - SET LIST OF FILES.
  1833. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1834. LOF SPACE 4,10
  1835. *** VDTLOF$ - SET LIST OF FILES.
  1836. *
  1837. * G.K. CHACE. 83/02/03.
  1838. LOF SPACE 4,10
  1839. ** COMMON DECKS.
  1840.  
  1841.  
  1842. *CALL COMCCMD
  1843. LOF SPACE 4,15
  1844. *** CALLING SEQUENCE.
  1845. *
  1846. * *SYMPL* CALL -
  1847. *
  1848. * VDTLOF$(PARAMETER);
  1849. *
  1850. * PARAMETER = ADDRESS TO LIST OF FILES TABLE.
  1851. LOF SPACE 4,10
  1852. ** VDTLOF$ - SET LIST OF FILES.
  1853. *
  1854. * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
  1855. * (X1) = FWA OF LIST OF FILES TABLE.
  1856. *
  1857. * USES B - 1.
  1858. *
  1859. * MACROS SETLOF.
  1860.  
  1861.  
  1862. VDTLOF$ SUBR ENTRY/EXIT
  1863. SB1 1
  1864. SETLOF X1
  1865. EQ VDTLOF$X RETURN
  1866.  
  1867. END
  1868. IDENT VDTMSG$
  1869. ENTRY VDTMSG$
  1870. SYSCOM B1
  1871. TITLE VDTMSG$ - SEND MESSAGE.
  1872. *COMMENT SEND MESSAGE.
  1873. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1874. MES SPACE 4,10
  1875. *** VDTMSG$ - SEND MESSAGE.
  1876. *
  1877. * G.K. CHACE. 83/02/03.
  1878. MES SPACE 4,25
  1879. *** CALLING SEQUENCE.
  1880. *
  1881. * *FORTRAN5* CALL -
  1882. *
  1883. * CALL VDTMSG$ (TEXT,OPTION,R)
  1884. *
  1885. * *SYMPL* CALL -
  1886. *
  1887. * VDTMSG$(TEXT,OPTION,1);
  1888. *
  1889. * (TEXT) = MESSAGE ARRAY, TERMINATED BY ZERO BYTE.
  1890. * (OPTION) = 0, SEND MESSAGE TO SYSTEM DAYFILE,
  1891. * LOCAL JOB DAYFILE, AND A AND B DISPLAYS.
  1892. * = 1, SEND MESSAGE TO LINE 1 OF CONTROL POINT.
  1893. * = 2, SEND MESSAGE TO LINE 2 OF CONTROL POINT.
  1894. * = 3, SEND MESSAGE TO USER DAYFILE AND LINE
  1895. * 1 OF CONTROL POINT.
  1896. * = 4, SEND MESSAGE TO ERROR LOG DAYFILE.
  1897. * = 5, SEND MESSAGE TO ACCOUNT DAYFILE.
  1898. * = 6, SAME AS 0.
  1899. * = 7, SAME AS 3.
  1900. * = 9, SEND MESSAGE TO BINARY MAINTENANCE LOG.
  1901. * = 5HLOCAL, SEND MESSAGE TO LOCAL JOB DAYFILE.
  1902. MES SPACE 4,15
  1903. *** VDTMSG$ - SEND MESSAGE.
  1904. *
  1905. * ENTRY (TEXT) - AN ARRAY WITH THE TEXT IN IT, OR AN ITEM
  1906. * WITH TEXT IN IT.
  1907. * (OPTION) - AN ITEM CONTAINING ONE OF THE OPTIONS.
  1908. * (R) = 1, IF RECALL.
  1909. *
  1910. * USES X - 2, 3, 4.
  1911. * A - 2, 3.
  1912. * B - 1.
  1913. *
  1914. * MACROS MESSAGE.
  1915.  
  1916.  
  1917. VDTMSG$ SUBR ENTRY/EXIT
  1918. SB1 1
  1919. SA2 A1+B1 ADDRESS OF OPTION
  1920. SA2 X2 OPTION
  1921. SA3 =0HLOCAL
  1922. BX4 X2-X3
  1923. ZR X4,MES1 IF LOCAL
  1924. MESSAGE X1,X2,R
  1925. EQ VDTMSG$X RETURN
  1926.  
  1927.  
  1928. MES1 MESSAGE X1,LOCAL,R
  1929. EQ VDTMSG$X RETURN
  1930.  
  1931. END
  1932. IDENT VDTPRT$
  1933. ENTRY VDTPRT$
  1934. SYSCOM B1
  1935. TITLE VDTPRT$ - DISABLE/ENABLE PROMPT.
  1936. *COMMENT VDTPRT$ - DISALBE/ENABLE PROMPT.
  1937. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1938. PRT SPACE 4,10
  1939. *** VDTPRT$ - DISABLE/ENABLE PROMPT.
  1940. *
  1941. * E.D. REDIG. 84/05/21.
  1942. PRT SPACE 4,10
  1943. *** CALLING SEQUENCE.
  1944. *
  1945. * *SYMPL* CALL -
  1946. *
  1947. * VDTPRT$(PARAMETER);
  1948. *
  1949. * PARAMETER = PARAMETER TO PASS TO PROMPT MACRO.
  1950. * = 0, DISABLE PROMPT.
  1951. * = 1, ENABLE PROMPT.
  1952. PRT SPACE 4,10
  1953. ** VDTPRT$ - DISABLE/ENABLE PROMPT.
  1954. *
  1955. * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
  1956. *
  1957. * USES X - 1.
  1958. * A - 1.
  1959. * B - 1.
  1960. *
  1961. * MACROS PROMPT.
  1962.  
  1963.  
  1964. VDTPRT$ SUBR ENTRY/EXIT
  1965. SB1 1
  1966. SA1 X1+
  1967. ZR X1,PRP1 IF PROMPT OFF
  1968. PROMPT ON
  1969. EQ VDTPRT$X RETURN
  1970.  
  1971. PRP1 PROMPT OFF
  1972. EQ VDTPRT$X RETURN
  1973.  
  1974. END
  1975. IDENT VDTRD$
  1976. ENTRY VDTRD$
  1977. SYSCOM B1
  1978. TITLE VDTRD$ - READ FILE TO *CIO* BUFFER.
  1979. *COMMENT READ FILE TO *CIO* BUFFER.
  1980. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1981. TRD SPACE 4,10
  1982. *** VDTRD$ - READ FILE TO *CIO* BUFFER.
  1983. *
  1984. * G.K. CHACE. 83/02/03.
  1985. TRD SPACE 4,10
  1986. *** CALLING SEQUENCE.
  1987. *
  1988. * *FORTRAN5* CALL -
  1989. *
  1990. * CALL VDTRD$ (FILE,R)
  1991. *
  1992. * *SYMPL* CALL -
  1993. *
  1994. * VDTRD$(FILE,1);
  1995. *
  1996. * (FILE) = FIRST WORD OF THE FET.
  1997. * (R) = RECALL, IF .NE. 0, RECALL IS REQUESTED.
  1998. TRD SPACE 4,10
  1999. *** VDTRD$ - READ FILE TO *CIO* BUFFER.
  2000. *
  2001. * ENTRY (FILE) - AN ARRAY THAT CONTAINS THE FET.
  2002. * (R) = RECALL IF .NE. 0, RECALL IS REQUESTED.
  2003. *
  2004. * USES X - 2.
  2005. * A - 2.
  2006. * B - 1.
  2007. *
  2008. * MACROS READ.
  2009.  
  2010.  
  2011. VDTRD$ SUBR ENTRY/EXIT
  2012. SB1 1
  2013. SA2 A1+B1 GET RECALL PARAMETER
  2014. SA2 X2
  2015. NZ X2,TRD1 IF RECALL
  2016. READ X1
  2017. EQ VDTRD$X RETURN
  2018.  
  2019. TRD1 READ X1,R
  2020. EQ VDTRD$X RETURN
  2021.  
  2022. END
  2023. IDENT VDTREC$
  2024. ENTRY VDTREC$
  2025. SYSCOM B1
  2026. TITLE VDTREC$ - READ CODED LINE IN *C* FORMAT.
  2027. *COMMENT READ CODED LINE IN *C* FORMAT.
  2028. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2029. REC SPACE 4,10
  2030. *** VDTREC$ - READ CODED LINE IN *C* FORMAT.
  2031. *
  2032. * G.K. CHACE. 83/02/03.
  2033. REC SPACE 4,15
  2034. *** CALLING SEQUENCE.
  2035. *
  2036. * *FORTRAN5* CALL -
  2037. *
  2038. * CALL VDTREC$ (FILE,BUF,N,STATUS)
  2039. *
  2040. * *SYMPL* CALL -
  2041. *
  2042. * VDTREC$(FILE,BUF,N,STATUS);
  2043. *
  2044. * (FILE) = FIRST WORD OF THE FET.
  2045. * (BUF) = FIRST WORD OF THE WORKING BUFFER.
  2046. * (N) = WORD COUNT OF THE WORKING BUFFER.
  2047. REC SPACE 4,25
  2048. *** VDTREC$ - READ CODED LINE IN *C* FORMAT.
  2049. *
  2050. * TRANSFERS DATA UNTIL THE END OF LINE BYTE (0000) IS SENSED.
  2051. *
  2052. * ENTRY (FILE) = FWA OF THE FET.
  2053. * (BUF) = FWA OF WORKING BUFFER.
  2054. * (N) = WORD COUNT OF THE WORKING BUFFER.
  2055. *
  2056. * EXIT (STATUS) = 0, TRANSFER COMPLETE.
  2057. * = -1, END-OF-FILE DETECTED ON FILE.
  2058. * = -2, END-OF-INFORMATION DETECTED ON FILE.
  2059. * = LWA, END-OF-RECORD DETECTED ON FILE BEFORE
  2060. * TRANSFER WAS COMPLETE.
  2061. * LWA = ADDRESS + 1 OF LAST WORD TRANSFERRED TO
  2062. * WORKING BUFFER.
  2063. *
  2064. * USES X - 3, 4, 5, 6.
  2065. * A - 3, 4, 5, 6.
  2066. * B - 1.
  2067. *
  2068. * MACROS READC.
  2069.  
  2070.  
  2071. VDTREC$ SUBR ENTRY/EXIT
  2072. SB1 1
  2073. SA3 A1+B1 FWA OF WORKING BUFFER
  2074. SA4 A3+B1 ADDRESS OF WORD COUNT
  2075. SA5 A4+B1 (X5) = ADDRESS OF STATUS WORD
  2076. SA4 X4 WORD COUNT
  2077. READC X1,X3,X4
  2078. BX6 X1
  2079. SA6 X5
  2080. EQ VDTREC$X RETURN
  2081.  
  2082. END
  2083. IDENT VDTREO$
  2084. ENTRY VDTREO$
  2085. SYSCOM B1
  2086. TITLE VDTREO$ - READ ONE WORD.
  2087. *COMMENT READ ONE WORD.
  2088. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2089. REO SPACE 4,10
  2090. *** VDTREO$ - READ ONE WORD.
  2091. *
  2092. * G.K. CHACE. 83/02/03.
  2093. REO SPACE 4,15
  2094. *** CALLING SEQUENCE.
  2095. *
  2096. * *FORTRAN5* CALL -
  2097. *
  2098. * CALL VDTREO$ (FILE,WORD,STATUS)
  2099. *
  2100. * *SYMPL* CALL -
  2101. *
  2102. * VDTREO$(FILE,WORD,STATUS);
  2103. *
  2104. * (FILE) = FIRST WORD OF THE FET.
  2105. REO SPACE 4,20
  2106. *** VDTREO$ - READ ONE WORD.
  2107. *
  2108. * ENTRY (FILE) = FIRST WORD OF THE FET.
  2109. *
  2110. * EXIT (WORD) = WORD READ IF (STATUS) = 0.
  2111. * (STATUS) = 0, TRANSFER COMPLETE.
  2112. * = -1, END-OF-FILE DETECTED ON FILE.
  2113. * = -2, END-OF-INFORMATION DETECTED ON FILE.
  2114. * = LWA, END-OF-RECORD DETECTED ON FILE BEFORE
  2115. * TRANSFER WAS COMPLETE.
  2116. * LWA = ADDRESS + 1 OF LAST WORD TRANSFERRED TO
  2117. * WORKING BUFFER.
  2118. *
  2119. * USES X - 3, 5, 6, 7.
  2120. * A - 3, 5, 6, 7.
  2121. * B - 1.
  2122. *
  2123. * MACROS READO.
  2124.  
  2125.  
  2126. VDTREO$ SUBR ENTRY/EXIT
  2127. SB1 1
  2128. SA3 A1+B1 ADDRESS OF WORD
  2129. SA5 A3+B1 ADDRESS OF STATUS WORD
  2130. BX0 X3
  2131. READO X1
  2132. SA6 X0 RETURN WORD READ
  2133. BX7 X1 RETURN STATUS
  2134. SA7 X5
  2135. EQ VDTREO$X RETURN
  2136.  
  2137. END
  2138. *IF UNDEF,RETRO
  2139. IDENT VDTSSL
  2140. ENTRY VDTSSL
  2141. SYSCOM B1
  2142. TITLE VDTSSL - SET SCREEN/LINE MODE.
  2143. *COMMENT VDTSSL - SET SCREEN/LINE MODE.
  2144. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2145. SSL SPACE 4,10
  2146. *** VDTSSL - SET SCREEN/LINE MODE.
  2147. *
  2148. * E.D. REDIG. 83/02/09.
  2149. SSL SPACE 4,10
  2150. *** *VDTSSL* PROVIDES AN INTERFACE TO *SETSLM* FOR PROGRAMS
  2151. * WRITTEN IN HIGHER LEVEL LANGUAGES.
  2152. SSL SPACE 4,15
  2153. *** CALLING SEQUENCE.
  2154. *
  2155. * *FORTRAN5* CALL -
  2156. *
  2157. * CALL VDTSSL(MODEL,SCREEN)
  2158. *
  2159. * *COBOL5* CALL -
  2160. *
  2161. * ENTER VDTSSL USING MODEL, SCREEN.
  2162. *
  2163. * MODEL = TERMINAL MODEL NUMBER.
  2164. * SCREEN = 0, IF LINE MODE.
  2165. * = 1, IF SCREEN MODE.
  2166. SSL SPACE 4,10
  2167. ** VDTSSL - SET SCREEN/LINE MODE.
  2168. *
  2169. * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
  2170. * (X1) = FWA OF MODEL NUMBER.
  2171. *
  2172. * USES X - 1, 2, 6.
  2173. * A - 1, 2, 6.
  2174. * B - 1.
  2175. *
  2176. * CALLS SETSLM.
  2177.  
  2178.  
  2179. VDTSSL SUBR ENTRY/EXIT
  2180. SB1 1
  2181. SA2 A1+B1 GET SCREEN/LINE
  2182. SA1 X1 GET ORDINAL
  2183. SA2 X2
  2184. SX6 X1
  2185. ZR X2,SSL1 IF LINE MODE
  2186. SX2 B1+ SET SCREEN MODE
  2187. LX2 6
  2188. BX6 X6+X2
  2189. SSL1 SA6 SSLA SET PARAMETER WORD
  2190. SETSLM SSLA,W SET SCREEN/LINE MODE
  2191. EQ VDTSSLX RETURN
  2192.  
  2193. SSLA CON 0 *SETSLM* PARAMETER WORD
  2194.  
  2195. END
  2196. IDENT VDTRWD
  2197. ENTRY VDTRWD
  2198. SYSCOM B1
  2199. TITLE VDTRWD - REWIND LOCAL FILE.
  2200. *COMMENT VDTRWD - REWIND LOCAL FILE.
  2201. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2202. RWD SPACE 4,10
  2203. *** VDTRWD - REWIND LOCAL FILE.
  2204. *
  2205. * M. L. SWANSON. 84/05/09.
  2206. RWD SPACE 4,10
  2207. *** *VDTRWD* PROVIDES AN INTERFACE TO HIGH-LEVEL
  2208. * LANGUAGES USING THE *REWIND* MACRO.
  2209. RWD SPACE 4,10
  2210. *** REWIND SPECIFIED LOCAL FILE.
  2211. *
  2212. * CALLING SEQUENCE.
  2213. *
  2214. * *SYMPL* CALL -
  2215. *
  2216. * VDTRWD(ADDRESS,RECALL);
  2217. *
  2218. * ADDRESS = ADDRESS OF FET.
  2219. * RECALL = AUTO RECALL ( 0 = NO RECALL ).
  2220. RWD SPACE 4,10
  2221. ** VDTRWD - REWIND SPECIFIED LOCAL FILE.
  2222. *
  2223. * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
  2224. * (X1) = ADDRESS OF FIRST PARAMETER.
  2225. *
  2226. * USES X - 2, 3.
  2227. * A - 2, 3.
  2228. * B - 1.
  2229. *
  2230. * MACROS REWIND.
  2231.  
  2232.  
  2233. VDTRWD SUBR ENTRY/EXIT
  2234. SB1 1
  2235. SA3 A1 GET ADDRESS OF FET PARAMETER
  2236. SA2 A1+B1 GET RECALL PARAMETER ADDRESS
  2237. SA2 X2+ GET RECALL PARAMETER
  2238. ZR X2,RWD1 IF NO AUTO RECALL SPECIFIED
  2239. REWIND X3 REWIND FILE WITHOUT RECALL
  2240. EQ VDTRWDX RETURN
  2241.  
  2242. RWD1 REWIND X3,1 REWIND WITH AUTO RECALL
  2243. EQ VDTRWDX RETURN
  2244.  
  2245. END
  2246.  
  2247. *ENDIF
  2248. IDENT VDTWRC$
  2249. ENTRY VDTWRC$
  2250. SYSCOM B1
  2251. TITLE VDTWRC$ - WRITE CODED LINE IN *C* FORMAT.
  2252. *COMMENT WRITE CODED LINE IN *C* FORMAT.
  2253. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2254. WRC SPACE 4,10
  2255. *** VDTWRC$ - WRITE CODED LINE IN *C* FORMAT.
  2256. *
  2257. * G.K. CHACE. 83/02/03.
  2258. WRC SPACE 4,15
  2259. *** CALLING SEQUENCE.
  2260. *
  2261. * *FORTRAN5* CALL -
  2262. *
  2263. * CALL VDTWRC$ (FILE,BUF)
  2264. *
  2265. * *SYMPL* CALL -
  2266. *
  2267. * VDTWRC$(FILE,BUF);
  2268. *
  2269. * (FILE) = FIRST WORD OF THE FET.
  2270. * (BUF) = FIRST WORD OF THE WORKING BUFFER.
  2271. WRC SPACE 4,15
  2272. *** VDTWRC$ - WRITE CODED LINE IN *C* FORMAT.
  2273. *
  2274. * TRANSFERS DATA UNTIL THE END OF LINE BYTE (0000) IS SENSED.
  2275. *
  2276. * ENTRY (FILE) = FIRST WORD OF THE FET.
  2277. * (BUF) = FIRST WORD OF THE WORKING BUFFER.
  2278. *
  2279. * USES X - 3.
  2280. * A - 3.
  2281. * B - 1.
  2282. *
  2283. * MACROS WRITEC.
  2284.  
  2285.  
  2286. VDTWRC$ SUBR ENTRY/EXIT
  2287. SB1 1
  2288. SA3 A1+B1 FWA OF WORKING BUFFER
  2289. WRITEC X1,X3
  2290. EQ VDTWRC$X RETURN
  2291.  
  2292. END
  2293. IDENT VDTWRO$
  2294. ENTRY VDTWRO$
  2295. SYSCOM B1
  2296. TITLE VDTWRO$ - WRITE ONE WORD.
  2297. *COMMENT WRITE ONE WORD.
  2298. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2299. WRO SPACE 4,10
  2300. *** VDTWRO$ - WRITE ONE WORD.
  2301. *
  2302. * G.K. CHACE. 83/02/03.
  2303. WRO SPACE 4,15
  2304. *** CALLING SEQUENCE.
  2305. *
  2306. * *FORTRAN5* CALL -
  2307. *
  2308. * CALL VDTWRO$ (FILE,WORD)
  2309. *
  2310. * *SYMPL* CALL -
  2311. *
  2312. * VDTWRO$(FILE,WORD);
  2313. *
  2314. * (FILE) = FIRST WORD OF THE FET.
  2315. * (WORD) = WORD TO BE TRANSFERRED.
  2316. WRO SPACE 4,10
  2317. *** VDTWRO$ - WRITE ONE WORD.
  2318. *
  2319. * ENTRY (FILE) = FIRST WORD OF THE FET.
  2320. * (WORD) = WORD TO BE TRANSFERRED.
  2321. *
  2322. * USES X - 3, 6.
  2323. * A - 3.
  2324. * B - 1.
  2325. *
  2326. * MACROS WRITEO.
  2327.  
  2328.  
  2329. VDTWRO$ SUBR ENTRY/EXIT
  2330. SB1 1
  2331. SA3 A1+B1 ADDRESS OF WORD
  2332. SA3 X3 WORD
  2333. BX6 X3
  2334. WRITEO X1
  2335. EQ VDTWRO$X RETURN
  2336.  
  2337. END
  2338. IDENT VDTWRR$
  2339. ENTRY VDTWRR$
  2340. SYSCOM B1
  2341. TITLE VDTWRR$ - WRITE END OF RECORD.
  2342. *COMMENT WRITE END OF RECORD.
  2343. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2344. WRR SPACE 4,10
  2345. *** VDTWRR$ - WRITE END OF RECORD.
  2346. *
  2347. * G.K. CHACE. 83/02/03.
  2348. WRR SPACE 4,15
  2349. *** CALLING SEQUENCE.
  2350. *
  2351. * *FORTRAN5* CALL -
  2352. *
  2353. * CALL VDTWRR$ (FILE,R)
  2354. *
  2355. * *SYMPL* CALL -
  2356. *
  2357. * VDTWRR$(FILE,R);
  2358. *
  2359. * (FILE) = FIRST WORD OF THE FET.
  2360. * (R) = RECALL, IF .NE. 0, RECALL IS REQUESTED.
  2361. WRR SPACE 4,10
  2362. *** VDTWRR$ - WRITE END OF RECORD.
  2363. *
  2364. * ENTRY (FILE) = FIRST WORD OF THE FET.
  2365. * (R) = RECALL, IF .NE. 0, RECALL IS REQUESTED.
  2366. *
  2367. * USES X - 2.
  2368. * A - 2.
  2369. * B - 1.
  2370. *
  2371. * MACROS WRITER.
  2372.  
  2373.  
  2374. VDTWRR$ SUBR ENTRY/EXIT
  2375. SB1 1
  2376. SA2 A1+B1 GET RECALL PARAMETER
  2377. SA2 X2
  2378. NZ X2,WRT1 IF RECALL REQUESTED
  2379. WRITER X1
  2380. EQ VDTWRR$X RETURN
  2381.  
  2382. WRT1 WRITER X1,R
  2383. EQ VDTWRR$X RETURN
  2384.  
  2385. END
cdc/nos2.source/opl871/vdtsubs.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator