User Tools

Site Tools


cdc:nos2.source:opl871:callrtn

CALLRTN

Table Of Contents

  • [00039] CALL TASK(S) WITH RETURN.

Source Code

CALLRTN.txt
  1. IDENT CALLRTN
  2. ENTRY CALLRTN
  3. SYSCOM B1
  4. CALLRTN TITLE CALLRTN - CALL TASK(S) WITH RETURN.
  5. *COMMENT CALLRTN - CALL TASK(S) WITH RETURN.
  6. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  7. CALLRTN SPACE 4,10
  8. ***** CALLRTN - CALL TASK(S) WITH RETURN.
  9. *
  10. * W. E. MARTIN. 79/03/06.
  11. *
  12. * CALLRTN IS AN INTERFACE ROUTINE FOR COBOL AND FORTRAN
  13. * TASKS. IT ALLOWS THEM TO CALL TASK(S) WITH RETURN.
  14. SPACE 4,20
  15. *** COBOL/FORTRAN CALL FORMAT.
  16. *
  17. * COBOL -
  18. *
  19. * ENTER CALLRTN USING TASK1,TASK2,...,TASKN.
  20. *
  21. * FORTRAN EXTENDED -
  22. *
  23. * CALL CALLRTN (TASK1,TASK2,...,TASKN).
  24. *
  25. * WHERE - TASKI = PARAMETER WHOSE VALUE IS A 1 TO 7 CHARACTER
  26. * TASK NAME. TASKI MUST BE LEFT JUSTIFIED, WITH
  27. * BINARY-ZERO OR BLANK-FILL.
  28. *
  29. * NOTE - IF MORE THAN FIVE (5) TASK NAMES ARE ENCOUNTERED,
  30. * THEN THE TASK WILL BE ABORTED WITH A PARAMETER LIST
  31. * STRUCTURE ERROR.
  32. SPACE 4
  33. * COMMON TEXTS.
  34.  
  35.  
  36. *CALL COMKMAC
  37. *CALL COMSPRD
  38. SPACE 4,25
  39. ** CALLRTN - CALL TASK(S) WITH RETURN.
  40. *
  41. * ENTRY (A1) = ADDRESS OF PARAMETER LIST.
  42. * (X1) = 42/,18/ADDRESS OF FIRST PARAMETER.
  43. *
  44. * EXIT (A0) SAME AS ON ENTRY.
  45. *
  46. * USES A - 1, 2, 5, 6.
  47. * X - 0, 1, 2, 5, 6.
  48. * B - 1, 7.
  49. *
  50. * CALLS ZFN.
  51. *
  52. * MACROS ARGERR, CALLRTN.
  53. *
  54. * NOTES IF MORE THAN FIVE (5) TASK NAMES ARE ENCOUNTERED,
  55. * THEN THE TASK WILL BE ABORTED WITH A PARAMETER
  56. * LIST STRUCTURE ERROR.
  57. * (A0) MUST BE THE SAME ON EXIT AS UPON ENTRY.
  58.  
  59.  
  60. VFD 42/0LCALLRTN,18/CALLRTN
  61.  
  62. CALLRTN SUBR ENTRY/EXIT
  63. SA2 X1+ READ TASK NAME
  64. SB1 1
  65. ZR X1,CAL3 IF CALLED WITH NULL LIST
  66. BX1 X2
  67. RJ ZFN ZERO FILL NAME
  68. BX6 X1
  69. SA5 A1+B1
  70. SA6 CALA STORE TASK NAME
  71. ZR X5,CAL2 IF NO TASK LIST
  72. SB7 4 SET TASK LIST LIMIT
  73. CAL1 SA2 X5+ READ TASK NAME
  74. SA5 A5+B1 READ NEXT ADDRESS
  75. BX1 X2 STORE TASK NAME
  76. ZR X2,CAL2 IF END OF PARAMETER LIST
  77. RJ ZFN ZERO FILL NAME
  78. SB7 B7-B1 DECREMENT LIST ENTRY COUNT
  79. BX6 X1
  80. SA6 A6+1
  81. LT B7,CAL3 IF LIST OVERFLOW - ABORT TASK
  82. NZ X5,CAL1 IF PARAMETER LIST NOT EXHAUSTED
  83. CAL2 BX6 X6-X6 TERMINATE LIST
  84. SA6 A6+B1
  85. CALLRTN CALA ENTER REQUEST
  86. EQ CALLRTNX RETURN
  87.  
  88. * PROCESS ARGUMENT ERROR BY ABORTING PROGRAM.
  89.  
  90. CAL3 SA1 CALLRTN READ CALLING ADDRESS
  91. MX0 30
  92. LX1 29-59
  93. SA2 X1-1
  94. BX6 -X0*X2
  95. SA6 CALA
  96. ARGERR A6 EXIT TO EXECUTIVE
  97.  
  98. CALA BSSZ 6 TASK NAME LIST
  99. SPACE 4
  100. * COMMON DECK.
  101.  
  102.  
  103. *CALL COMKZFN
  104. SPACE 4
  105. END
cdc/nos2.source/opl871/callrtn.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator