User Tools

Site Tools


plato:source:plaopl:cmpient

CMPIENT

Table Of Contents

  • [00007] CENTRAL MICRO PLATO ENTRY.

Source Code

CMPIENT.txt
  1. CMPIENT
  2. * /--- FILE TYPE = E
  3. * /--- BLOCK CMPIENT 00 000 82/01/10 14.08
  4. IDENT CMPIENT
  5. CMPIENT TITLE CMPIENT - CENTRAL MICRO PLATO ENTRY.
  6. *COMMENT CMP ENTRY.
  7. *** CMPIENT - CENTRAL MICRO PLATO ENTRY.
  8. *
  9. * THE MICRO PLATO PORTION OF THE FILE THAT WAS JUST
  10. * CONDENSED IS TRANSLATED INTO AN EQUIVALENT TUTOR
  11. * LESSON IN FILE *S0CMPN* WHERE N = THE CONDENSOR ORDINAL.
  12. *
  13. * THE CENTRAL MICRO PLATO OVERLAY IS WRITTEN IN
  14. * CYBIL. IT IS ENTERED AT THE STANDARD CYBIL MAIN
  15. * PROGRAM ENTRY POINT *SW=MAIN*. WHEN FINISHED,
  16. * THE OVERLAY RETURNS CONTROL TO *MPP$END* HERE
  17. * WITH THE (X1) = TERMINATION CONDITION.
  18. *
  19. * CYBIL USES THE COMMON MEMORY MANAGER (CMM). FOR
  20. * COMPATIBILITY WITH CMM, THE DYNAMIC AREA BASE
  21. * ADDRESS (DABA) AND HIGHEST HIGH ADDRESS (HHA) ARE
  22. * SET TO THE CONDENSORS RUNNING FL BEFORE THE CMP
  23. * OVERLAY IS ENTERED, AND CMM IS DEACTIVATED WHEN
  24. * THE OVERLAY IS EXITED. SEE THE CMM REFERENCE
  25. * MANUAL, 60499200, FOR DETAILS.
  26. *
  27. * THE CM FOR THE CYBIL CODE*S STACK AND HEAP AREAS
  28. * ARE ALLOCATED DYNAMICALLY. UPON RETURN FROM THE
  29. * CYBIL PROGRAM, THE FL IS RESET TO ITS NORMAL VALUE.
  30.  
  31. LCC OVERLAY(1,0,O=OVERLAY)
  32. CST
  33. SYSCOM B1
  34.  
  35. * /--- BLOCK CMPIENT 00 000 82/10/27 14.55
  36. ** CONSTANTS.
  37.  
  38. DABA EQU LWPR CMM DABA LOCATION
  39. ENTRY CMPIF
  40. CMPIF BSS 2 INPUT FILE NAME
  41.  
  42. ENTRY CMPBS
  43. CMPBS BSS 1 SPACE RAMAINING IN CURRENT BLK
  44. ENTRY CMPBN
  45. CMPBN BSS 1 CURRENT BLOCK NUMBER
  46. ENTRY CMPSB
  47. CMPSB BSS 1 EM FWA OF SOURCE BLOCK
  48. ENTRY CMPFD
  49. CMPFD BSS 1 EM FWA OF FILE DIRECTORY
  50. ENTRY CMPNB
  51. CMPNB BSS 1 NUMBER OF BLOCKS IN FILE
  52.  
  53. * ENTER THE CMP OVERLAY.
  54.  
  55. CMPIENT LEVEL CMPOV10
  56. SB1 1 (B1) = CONSTANT 1
  57.  
  58. * INCREMENT THE USAGE COUNT.
  59.  
  60. SA1 ACLSTAT
  61. SX0 SCCMP
  62. IX0 X0+X1 (X0) = STATS WORD EM FWA
  63. RX1 X0
  64. SX6 X1+B1
  65. WX6 X0
  66.  
  67. * SET THE (DABA) TO THE RUNNING FL.
  68.  
  69. SA1 CMFL (X1) = CONDENSOR RUNNING FL
  70. LX1 30
  71. SA2 DABA
  72. MX0 -18
  73. BX6 X0*X2
  74. BX1 -X0*X1
  75. BX6 X6+X1
  76. SA6 A2
  77.  
  78. * SET THE (HHA) TO THE RUNNING FL.
  79.  
  80. SA2 HHA
  81. BX6 X0*X2
  82. BX6 X1+X6
  83. SA6 A2
  84.  
  85. EQ =XSW=MAIN ENTER MAIN CYBIL PROGRAM
  86.  
  87. ENTRY MPP$END
  88.  
  89. MPP$END BX5 X1 SAVE TERMINATION CODE
  90. RJ =XCMM.KIL DEACTIVATE THE COMMON MEMORY MANAGER
  91. CALL S=CM,CMFL RESET TO NORMAL FL
  92. EQ =XCMPGOX RETURN
  93.  
  94. SUBOV CMP11 DUMMY (1,1) SUBOVERLAY INOFRMATION WORD
  95.  
  96. END
plato/source/plaopl/cmpient.txt ยท Last modified: 2023/08/05 18:54 by Site Administrator