Table of Contents

SYSMSG

Table Of Contents

  • [00006] SYSMSG - SYSTEM MESSAGE TASK.
  • [00008] SYSTEM MESSAGE TASK.
  • [00073] SEND MESSAGE.
  • [00075] SEND A SYSTEM ORIGIN MESSAGE TO A TERMINAL.

Source Code

SYSMSG.txt
  1. IDENT SYSMSG
  2. ENTRY MSG
  3. LCC OVERLAY(SYSMSG,0,0)
  4. *COMMENT SYSMSG - SYSTEM MESSAGE TASK.
  5. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  6. TITLE SYSMSG - SYSTEM MESSAGE TASK.
  7. SPACE 4
  8. *** SYSMSG - SYSTEM MESSAGE TASK.
  9. * B. T. ZEMLIN 75/07/04.
  10. * B. C. ANTIN 78/06/15.
  11. SPACE 4
  12. *** THIS SYSTEM TASK IS SCHEDULED BY THE TRANSACTION
  13. * EXECUTIVE TO SEND A MESSAGE TO A TERMINAL. THE MESSAGE
  14. * MAY HAVE THE FOLLOWING ORIGINS - IT IS A MESSAGE
  15. * ISSUED BY A *K.MESSAGE* COMMAND, OR IT IS A DIAGNOSTIC
  16. * MESSAGE ISSUED IN THE PROCESSING OF A K-DISPLAY COMMAND
  17. * THAT ORIGINATED FROM A TASK (CTI FUNCTION 7).
  18. * THIS TASK IS INTENDED AS AN EXAMPLE AND MAY BE MODIFIED
  19. * BY THE SPECIFIC INSTALLATION.
  20. SPACE 4
  21. *CALL COMCMAC
  22. LIST X
  23. *CALL COMKKIM
  24. LIST -X
  25. *CALL COMKMAC
  26. *CALL COMSPRD
  27.  
  28. TRXCOM B1 DEFINE COMMUNICATIONS BLOCK SYSBOLS
  29.  
  30. *** COMMUNICATION BLOCK WORDS.
  31. *
  32. *T TERC 42/ TN,6/,12/ WC
  33. *T, MSGC 42/0,18/ DMC
  34. *T, MSGC+1 60/ MS
  35. *
  36. * TN TERMINAL NAME.
  37. * WC WORD COUNT OF MESSAGE.
  38. * DMC K-DISPLAY COMMAND DIAGNOSTIC MESSAGE CODE.
  39. * MS IF DMC = *KDM0*, THEN START OF *K.MESSAGE* MESSAGE.
  40. * ELSE, ATTEMPTED K-DISPLAY COMMAND KEYWORD IF
  41. * AVAILABLE.
  42.  
  43. BSS COMCL RESERVE SPACE FOR COMMUNICATIONS BLOCK
  44.  
  45. .1 NOREF
  46.  
  47. SPACE 4
  48. ** TMSG DEFINE A K-DISPLAY DIAGNOSTIC MESSAGE.
  49. *
  50. * TMSG A
  51. *
  52. * ENTRY *A* = MESSAGE TO BE DEFINED.
  53. *
  54. * EXIT A K-DISPLAY DIAGNOSTIC MESSAGE IS DEFINED.
  55. * A K-DISPLAY DIAGNOSTIC MESSAGE INDEX TABLE ENTRY
  56. * IS DEFINED.
  57.  
  58.  
  59. TMSG MACRO A
  60. LOCAL ADR ADDRESS OF K-DISPLAY DIAGNOSTIC MESSAGE
  61. ADR SET *
  62. LOC .1
  63. .1 SET .1+1
  64. DATA C*"SYSPR"_A* DEFINE K-DISPLAY DIAGNOSTIC MESSAGE
  65. LOC *O
  66.  
  67. * DEFINE A K-DISPLAY DIAGNOSTIC MESSAGE INDEX TABLE ENTRY.
  68.  
  69. RMSG RMT
  70. VFD 42/0,18/ADR
  71. RMSG RMT
  72. ENDM
  73. TITLE SEND MESSAGE.
  74. SYSMSG SPACE 4,10
  75. ** SYSMSG - SEND A SYSTEM ORIGIN MESSAGE TO A TERMINAL.
  76. * THE WORD, *MSGC*, IN THE COMMUNICATIONS BLOCK, CONTAINS A
  77. * CODE USED TO DETERMINE WHICH MESSAGE TO SEND. IF
  78. * THE CODE IS *KDM0*, THEN THE MESSAGE TO BE SENT IS FROM A
  79. * *K.MESSAGE* COMMAND AND THE MESSAGE IS CONTAINED IN THE
  80. * COMMUNICATIONS BLOCK. IF THE CODE IS GREATER THAN *KDM0*,
  81. * THEN THE CODE INDICATES WHICH DIAGNOSTIC MESSAGE TO ISSUE.
  82.  
  83.  
  84. MSG SB1 1
  85. SA2 TERC CHECK FOR NON-TERMINAL ASSOCIATED TASK
  86. MX0 42
  87. BX5 X0*X2 TERMINAL NAME
  88. ZR X5,MSG3 IF NO TERMINAL SPECIFIED
  89.  
  90. * DETERMINE WHICH MESSAGE TO SEND.
  91.  
  92. MX6 -12
  93. SA3 MSGC READ DIAGNOSTIC CODE
  94. SB2 X3
  95. BX5 -X6*X2 WORD COUNT FOR NON-DIAGNOSTIC MESSAGE
  96. SB3 KDM0 *K.MESSAGE* CODE
  97. SX5 X5-1
  98. EQ B2,B3,MSG1 IF *K.MESSAGE* ISSUED MESSAGE
  99. NG B2,MSG3 IF INCORRECT DIAGNOSTIC CODE
  100. SB3 B2-KDMTL
  101. GT B3,MSG3 IF INCORRECT DIAGNOSTIC CODE
  102.  
  103. * PLACE THE DIAGNOSTIC MESSAGE INTO THE BUFFER.
  104.  
  105. SA1 A3+B1 ATTEMPTED K-DISPLAY COMMAND
  106. SA5 B2+KDMT-1 DIAGNOSTIC MESSAGE INDEX TABLE ENTRY
  107. SB3 A1 ASSEMBLY AREA
  108. SB5 X5+ FWA OF MESSAGE
  109. SB2 1R/ SEARCH CHARACTER
  110. BX1 X0*X1
  111. SB5 -B5
  112. RJ SNM SET NAME IN MESSAGE
  113. SX5 A7-MSGC MESSAGE WORD COUNT
  114.  
  115. * SEND A MESSAGE TO THE TERMINAL.
  116.  
  117. MSG1 SX7 10
  118. SA3 MSGB SEND PARAMETER WORD 3
  119. MX0 -12
  120. BX5 -X0*X5
  121. IX7 X7*X5 MESSAGE CHARACTER COUNT
  122. BX3 X0*X3
  123. SA2 MSGA SEND PARAMETER WORD 1
  124. BX2 X0*X2
  125. BX7 X3+X7 MERGE CHARACTER COUNT
  126. SA7 MSGB
  127. BX6 X2+X5 MERGE WORD COUNT
  128. SA6 A2
  129. SEND MSGA SEND THE MESSAGE
  130.  
  131. * CHECK FOR BINARY TERMINAL.
  132.  
  133. SA1 SEQC FIRST WORD OF COMMUNICATIONS BLOCK.
  134. RJ CBT CHECK FOR BINARY TERMINAL
  135. ZR X6,MSG2 IF NOT BINARY
  136. SA6 MSGE
  137. SEND MSGD SEND BINARY INPUT REQUEST
  138. MSG2 CEASE EXIT TASK WITH A NORMAL CEASE
  139.  
  140. MSG3 CEASE 1 EXIT TASK WITH AN ABNORMAL CEASE
  141.  
  142. MSGA VFD 5/0,1/1,6/0,18/MSGC+1,12/0,18/0
  143. CON 0
  144. MSGB VFD 6/2,30/0,4/4,8/0,12/0
  145. MSGD VFD 1/0,1/0,10/0,18/MSGE,12/0,18/1
  146. MSGE BSS 1
  147.  
  148. ** K-DISPLAY DIAGNOSTIC MESSAGE TABLE.
  149.  
  150. .1 SET 0
  151.  
  152. TMSG (K-DISPLAY COMMAND UNSUCCESSFUL, "KDM1M" -- ///////.)
  153. TMSG (K-DISPLAY COMMAND UNSUCCESSFUL, "KDM2M" -- ///////.)
  154. TMSG (K-DISPLAY COMMAND UNSUCCESSFUL, "KDM3M" -- ///////.)
  155. TMSG (K-DISPLAY COMMAND UNSUCCESSFUL, "KDM4M" -- ///////.)
  156. TMSG (K-DISPLAY COMMAND UNSUCCESSFUL, "KDM5M" -- ///////.)
  157. TMSG (K-DISPLAY COMMAND UNSUCCESSFUL, "KDM6M" -- ///////.)
  158.  
  159. KDMT BSS 0 K-DISPLAY DIAGNOSTIC MESSAGE INDEX TABLE
  160. RMSG HERE
  161. KDMTL EQU *-KDMT LENGTH OF TABLE
  162. SPACE 4
  163. ** COMMON DECKS.
  164.  
  165. *CALL COMCSNM
  166. *CALL COMKCBT
  167.  
  168. END MSG