home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug082.arc / EX14.SUB < prev    next >
Text File  |  1979-12-31  |  4KB  |  158 lines

  1. ;
  2. ;   EX 1.4 INSTALLATION .SUB FILE 11-20-82
  3. ;
  4. ;    1. ERASE ANY FILES FROM PREVIOUS .SUB EXECUTIONS
  5. ;
  6. ERA EX14?.HEX
  7. Y
  8. ERA EX14?.SYM
  9. Y
  10. ERA EX14?.PRN
  11. Y
  12. ;
  13. ;    2. USE CPM 2.2 XSUB (not required if using previous version of EX)
  14. ;
  15. XSUB
  16. ;
  17. ;    3. CREATE EX14.LIB FOR ASSEMBLY OF ORG 0 RELOCATED CODE SEGMENT
  18. ;
  19. ED EX14.LIB
  20. #A
  21. #K
  22. IBASE EQU FALSE ;SUPPRESS EX14 INITIATOR CODE (ENABLE RELOCATED CODE)
  23. IREL EQU 0 ;SET RELOCATED CODE SEGMENT TO ORG 0
  24. E
  25. ;
  26. ;    4. ASSEMBLE ONLY ORG 0 RELOCATED CODE SEGMENT
  27. ;
  28. MAC EX14
  29. ;
  30. ;    5. RENAME STEP 4 FILES
  31. ;
  32. REN EX140.HEX=EX14.HEX
  33. REN EX140.SYM=EX14.SYM
  34. REN EX140.PRN=EX14.PRN
  35. ;
  36. ;    6. CHANGE EX14.LIB FOR ASSEMBLY OF ORG 100H RELOCATED CODE SEGMENT
  37. ;
  38. ED EX14.LIB
  39. #A
  40. #K
  41. IBASE EQU FALSE ;SUPPRESS EX14 INITIATOR CODE (ENABLE RELOCATED CODE)
  42. IREL EQU 0100H ;SET RELOCATED CODE SEGMENT TO ORG 0+100H
  43. E
  44. ;
  45. ;    7. ASSEMBLE ONLY ORG 100H RELOCATED CODE SEGMENT
  46. ;
  47. MAC EX14 $$PZ SZ
  48. ;
  49. ;    8. RENAME STEP 7 FILE
  50. ;
  51. REN EX141.HEX=EX14.HEX
  52. ;
  53. ;    9. CHANGE EX14.LIB FOR ASSEMBLY OF EX INITIATOR CODE ONLY
  54. ;
  55. ED EX14.LIB
  56. #A
  57. #K
  58. IBASE EQU TRUE ;ENABLE EX14 INITIATOR CODE GENERATION (SUPPRESS RELOCATED CODE)
  59. IREL EQU 0 ;RESET RELOCATED CODE SEGMENT TO ORG 0
  60. E
  61. ;
  62. ;    10. ASSEMBLE EX INITIATOR CODE ONLY
  63. ;
  64. MAC EX14
  65. ;
  66. ;    11. USE SID AND RELS.UTL TO CREATE EX14.COM
  67. ;
  68. ;        [note: If only REL.UTL is available, comment out the lines
  69. ;           starting with IEX14.COM below and change the line
  70. ;           SID RELS.UTL to SID REL.UTL and a SAVE 10 EX14.COM
  71. ;           must be added at the end of this file.]
  72. ;
  73. ;        EX14.HEX  contains EX Initiator Code
  74. ;        EX14.SYM  contains symbols for SID for EX Initiator Code
  75. ;
  76. ;        EX140.HEX contains EX ORG 0 Relocated Code Segment
  77. ;        EX140.SYM contains symbols for SID for EX ORG 0 Relocated Code
  78. ;
  79. ;        EX141.HEX contains EX ORG 100H Relocated Code Segment
  80. ;
  81. ;        BEGREL  is the symbol for the start of the Relocated Code
  82. ;            Segment in EX14.COM
  83. ;
  84. ;        DRVERL  is the symbol for the length of the Relocated Code
  85. ;            Segment
  86. ;
  87. ;        DRVL8   is the symbol for the length of the storage required
  88. ;            for the relocation table bit map to be created by
  89. ;            RELS.UTL
  90. ;
  91. ;        RELOCL  is the symbol for the DW in EX14.COM that will contain
  92. ;            the length of the Relocated Code Segment
  93. ;
  94. ;
  95. ;    A.  SID is invoked and the .SYM files for the ORG 0 Relocated Code
  96. ;        Segment and the Initiator Code Segment are loaded.
  97. ;
  98. ;    B.  The DW at symbol RELOCL is updated with the value of DRVERL
  99. ;        from the ORG 0 Relocated Code Segment.
  100. ;
  101. ;    C.  Memory for the two copies of the Relocated Code Segment
  102. ;        (ORG 0 and ORG 100H) and the relocation table bit map is zeroed.
  103. ;
  104. ;    D.  The ORG 0 Relocated Code Segment is loaded starting at
  105. ;        location BEGREL.
  106. ;
  107. ;    E.  The ORG 100H Relocated Code Segment is loaded after the
  108. ;        segment loaded in step C plus the length of the relocation
  109. ;        table bit map.
  110. ;
  111. ;    F.  RELS.UTL routine SETADRS sets the starting addresses of
  112. ;        the two Relocated Code Segments for creation of the relocation
  113. ;        table bit map.
  114. ;
  115. ;    G.  RELS.UTL routine SETLEN sets the length of the Relocated
  116. ;        Code Segment and builds the relocation table bit map.
  117. ;
  118. ;      *H.  RELS.UTL routine SAVE saves the EX Initiator Code Segment,
  119. ;        the ORG 0 Relocated Code Segment, and the relocation table
  120. ;        bit map created by RELS.UTL.
  121. ;
  122. ;       * [note: not used if only REL.UTL is available]
  123. ;
  124. ;    I.  CP/M is returned to by G0.
  125. ;
  126. ;     **J.  SAVE 10 EX14.COM saves the EX Initiator Code Segment,
  127. ;        the ORG 0 Relocated Code Segment, and the relocation table
  128. ;        bit map created by REL.UTL.
  129. ;
  130. ;      ** [note: used ONLY if REL.UTL is used]
  131. ;
  132. SID RELS.UTL
  133. IEX14.HEX EX140.SYM
  134. R
  135. I* EX14.SYM
  136. R
  137. SW.RELOCL
  138. .DRVERL
  139. .
  140. F.BEGREL .BEGREL+.DRVERL+.DRVL8+.DRVERL 0
  141. IEX140.HEX
  142. R.BEGREL
  143. IEX141.HEX
  144. R.BEGREL+.DRVERL+.DRVL8-100
  145. C.SETADRS .BEGREL .BEGREL+.DRVERL+.DRVL8
  146. C.SETLEN .DRVERL .BEGREL+.DRVERL
  147. IEX14.COM
  148. C.SAVE 100 .BEGREL+.DRVERL+.DRVL8
  149. G0
  150. ;SAVE 10 EX14.COM (only if using REL.UTL)
  151. ;
  152. ;    EX14.COM is now ready for execution.
  153. ;
  154. .SAVE 100 .BEGREL+.DRVERL+.DRVL8
  155. G0
  156. ;SAVE 10 EX14.COM (only if using REL.UTL)
  157. ;
  158. ;    EX14.COM is now ready for ex