home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ZSYS / SIMTEL20 / ZCPR3 / ZEX.ZEX < prev    next >
Text File  |  2000-06-30  |  4KB  |  181 lines

  1. ;
  2. ; Command File to Assemble ZEX by Richard Conn
  3. ;
  4. ; The following files are assumed:
  5. ;    ED.COM, MAC.COM, ZSID.COM
  6. ; The following resident commands are assumed:
  7. ;    ERA, REN, IF, FI
  8. ;
  9.  
  10. ;
  11. ; 1. Test for Needed Files
  12. ;
  13. if exist zex.asm
  14. if exist a:rels.utl
  15.  
  16. ;
  17. ; 2. Erase Any Files from Previous Executions
  18. ;
  19. ERA ZEX*.BAK
  20. ERA ZEX*.HEX
  21. ERA ZEX*.SYM
  22.  
  23. ;
  24. ; 3. Create ZEX30.LIB for Assembly of
  25. ;    ORG 0 Relocated Code Segment
  26. ;
  27. ED ZEX30.LIB
  28. #A
  29. #K
  30. I
  31. ZEXBASE EQU FALSE ;SUPPRESS ZEX INITIATOR CODE
  32. ZEXREL  EQU 0     ;SET RELOCATED CODE SEGMENT TO ORG 0
  33. ^Z
  34. E
  35.  
  36. ;
  37. ; 4. Assemble only ORG 0 Relocated Code Segment
  38. ;
  39. MAC ZEX $$PZ
  40.  
  41. ;
  42. ; 5. Rename Files from Step 4
  43. ;
  44. REN ZEX300.HEX=ZEX.HEX
  45. REN ZEX300.SYM=ZEX.SYM
  46.  
  47. ;
  48. ; 6. New ZEX30.LIB for Assembly of
  49. ;    ORG 100H Relocated Code Segment
  50. ;
  51. ED ZEX30.LIB
  52. #A
  53. #K
  54. I
  55. ZEXBASE EQU FALSE ;SUPPRESS ZEX INITIATOR CODE
  56. ZEXREL  EQU 0100H ;SET RELOCATED CODE SEGMENT TO ORG 100H
  57. ^Z
  58. E
  59.  
  60. ;
  61. ; 7. Assemble only ORG 100H Relocated Code Segment
  62. ;
  63. MAC ZEX $$PZ SZ
  64.  
  65. ;
  66. ; 8. Rename File from Step 7
  67. ;
  68. REN ZEX301.HEX=ZEX.HEX
  69.  
  70. ;
  71. ; 9. New ZEX30.LIB for Assembly of
  72. ;    ZEX Initiator Code Only
  73. ;
  74. ED ZEX30.LIB
  75. #A
  76. #K
  77. I
  78. ZEXBASE EQU TRUE ;ENABLE ZEX INITIATOR CODE
  79. ZEXREL  EQU 0    ;RESET RELOCATED CODE SEGMENT TO ORG 0
  80. ^Z
  81. E
  82.  
  83. ;
  84. ; 10. Assemble ZEX Initiator Code Only
  85. ;
  86. MAC ZEX $$PZ
  87.  
  88. ;
  89. ; 11. Use ZSID and RELS.UTL to Create ZEX.COM
  90. ;
  91. ;    [note: If only REL.UTL is available, comment out the lines
  92. ;     starting with IZEX.COM below and change the line
  93. ;     SID RELS.UTL to SID REL.UTL and a SAVE 10 ZEX.COM
  94. ;     must be added at the end of this file.]
  95. ;
  96. ;    ZEX.HEX  contains ZEX Initiator Code
  97. ;    ZEX.SYM  contains symbols for SID for ZEX Initiator Code
  98. ;
  99. ;    ZEX300.HEX contains ZEX ORG 0 Relocated Code Segment
  100. ;    ZEX300.SYM contains symbols for SID for ZEX ORG 0 Rel Code
  101. ;
  102. ;    ZEX301.HEX contains ZEX ORG 100H Rel Code Segment
  103. ;
  104. ;    BEGREL is the symbol for the start of the Rel Code
  105. ;     Segment in ZEX.COM
  106. ;
  107. ;    DRVERL is the symbol for the length of the Rel Code
  108. ;     Segment
  109. ;
  110. ;    DRVL8  is the symbol for the length of the storage
  111. ;     needed for the relo table bit map to be created
  112. ;     by RELS.UTL
  113. ;
  114. ;    RELOCL is the symbol for the DW in ZEX.COM that will
  115. ;     contain the length of the Relocated Code Segment
  116. ;
  117. ;
  118. ; 11A.  SID is invoked and the .SYM files for the ORG 0 Rel Code
  119. ;    Segment and the Initiator Code Segment are loaded.
  120. ;
  121. ; 11B.  The DW at symbol RELOCL is updated with the value of
  122. ;    DRVERL from the ORG 0 Rel Code Segment.
  123. ;
  124. ; 11C.  Memory for the two copies of the Relocated Code Segment
  125. ;    (ORG 0 and ORG 100H) and the rel table bit map is zeroed.
  126. ;
  127. ; 11D.  The ORG 0 Relocated Code Segment is loaded starting at
  128. ;    location BEGREL.
  129. ;
  130. ; 11E.  The ORG 100H Relocated Code Segment is loaded after the
  131. ;    segment loaded in step C plus the length of the rel
  132. ;    table bit map.
  133. ;
  134. ; 11F.  RELS.UTL routine SETADRS sets the starting addresses of
  135. ;    the two Relocated Code Segments for creation of the rel
  136. ;    table bit map.
  137. ;
  138. ; 11G.  RELS.UTL routine SETLEN sets the length of the Relocated
  139. ;    Code Segment and builds the relocation table bit map.
  140. ;
  141. ; 11H*  RELS.UTL routine SAVE saves the EX Initiator Code Segment,
  142. ;    the ORG 0 Relocated Code Segment, and the rel table
  143. ;    bit map created by RELS.UTL.
  144. ;
  145. ;       * [note: not used if only REL.UTL is available]
  146. ;
  147. ; 11I.  CP/M is returned to by G0.
  148. ;
  149. ; 11J** SAVE 10 ZEX.COM saves the ZEX Initiator Code Segment,
  150. ;    the ORG 0 Relocated Code Segment, and the rel table
  151. ;    bit map created by REL.UTL.
  152. ;
  153. ;      ** [note: used ONLY if REL.UTL is used]
  154. ;
  155. ZSID A:RELS.UTL
  156. IZEX.HEX ZEX300.SYM
  157. R
  158. I* ZEX.SYM
  159. R
  160. SW.RELOCL
  161. .DRVERL
  162. .
  163. F.BEGREL .BEGREL+.DRVERL+.DRVL8+.DRVERL 0
  164. IZEX300.HEX
  165. R.BEGREL
  166. IZEX301.HEX
  167. R.BEGREL+.DRVERL+.DRVL8-100
  168. C.SETADRS .BEGREL .BEGREL+.DRVERL+.DRVL8
  169. C.SETLEN .DRVERL .BEGREL+.DRVERL
  170. IZEX.COM
  171. C.SAVE 100 .BEGREL+.DRVERL+.DRVL8
  172. G0
  173. ;
  174. ; 12. Clean Up Files on Disk and Terminate IFs
  175. ;
  176. ERA ZEX*.BAK
  177. ERA ZEX*.HEX
  178. ERA ZEX*.SYM
  179. ERA ZEX30.LIB
  180. fi;fi
  181.