Subversion Repositories NedoOS

Rev

Rev 630 | Rev 922 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download

  1.         DEVICE ZXSPECTRUM128
  2.         include "../_sdk/sys_h.asm"
  3.         include "8080.asm"
  4.  
  5. ;
  6. ;
  7. ; Main CC.ASM Source Driver
  8. ; (for use with LASM.COM)
  9. ;
  10.         ;page 76
  11.         ;title 'cc.asm v1.6  CP/M 3/10/86'
  12.  
  13. true:   equ 0ffffh
  14. false:  equ not true
  15.  
  16. SLRMAC: equ true;false
  17. LASM:   equ not SLRMAC
  18. CPM:    equ true        ;if true, for cp/m
  19.  
  20. ZSYSTEM equ true
  21.  
  22.         if not ZSYSTEM
  23. version: equ '6'        ;the 'x' in 'v1.x'
  24. updatn: equ 0           ;the `y' in `v1.xy'      (number)
  25. UPDATY: equ 0           ;the `z' in `v1.xyz', or zero if none (character)
  26.         endif
  27.  
  28.         if ZSYSTEM
  29. version: equ '2'        ;the 'x' in 'vZx.yz'
  30. updatn: equ 0           ;the `y' in `vZx.yz'     (number)
  31. UPDATY: equ 0           ;the `z' in `vZx.yz', or zero if none (character)
  32.         endif
  33.  
  34.  
  35. DEMO:   equ 0           ;true for special demo message (must be customized)
  36. IMPURE: equ 1           ;true to generate impure code for parity stripping
  37.                         ;                                               option
  38. ALPHA:  equ 0           ;true if "alpha-C" version
  39. motu:   equ 0           ;true if for Mark of the Unicorn
  40. trs80:  equ 0           ;true if  special TRASH-80 version
  41. PREREL: equ 0           ;true if `pre-release' is to be printed on startup
  42. debug:  equ PREREL
  43. marc:   equ  false      ;true if MARC-resident version
  44.  
  45. bigstring: equ false    ;true to allow LOTS of preprocessor string space
  46.  
  47.         if bigstring
  48. strsiz: equ 3500        ;3500 for BIG programs
  49.         endif
  50.  
  51.         if not bigstring
  52. strsiz: equ 2800        ;2800 for normal programs
  53.         endif
  54.  
  55.         IF NOT CPM
  56. ;       Assembling NON-CPM  version             !=
  57.         ENDIF
  58.  
  59.         IF LASM
  60.         ;sym
  61.         ENDIF
  62.  
  63. ram:    equ 0000h       ;start of ram in system
  64.  
  65.           if motu
  66. dfstsz: equ 11*1024     ;default symbol table size
  67.           endif
  68.  
  69.           if not motu
  70. dfstsz: equ 10*1024
  71.           endif
  72.  
  73. tbuff:  equ ram+80h     ;used under both CP/M and MARC
  74. tpa:    equ PROGSTART;ram+100h  ;TPA under both CP/M and MARC
  75.  
  76. ztack=0
  77. stkchk=ztack-322
  78.  
  79.         IF CPM
  80. bdos:   equ ram+5
  81. NEDOOSMEMTOP=stkchk;bdosp:      equ ram+6
  82. fcb:    equ ram+5ch
  83. fcbnr:  equ fcb+32
  84. fcbex:  equ fcb+12
  85. secsiz: equ 128
  86.         ENDIF
  87.  
  88.  
  89. negone  equ 0ffh        ;negative one, 8 bit 2's complement
  90.  
  91.         IF CPM
  92. ;coninp:                equ 1
  93. ;conout:                equ 2
  94. readbuf:        equ 10
  95. ;intcon:                equ 11
  96. ;select:                equ 14
  97. openfil:        equ 15
  98. closefil:       equ 16
  99. delete:         equ 19
  100. rsequen:        equ 20
  101. wsequen:        equ 21
  102. makfil:         equ 22
  103. ;gdisk:         equ 25
  104. sdma:           equ 26
  105. ;sguser:                equ 32
  106.         ENDIF
  107.  
  108. ;
  109. ; Include file nesting control:
  110. ;
  111.  
  112. fnlen:  equ 12  ;length of filename in fcb format ( filename plus disk)
  113. nestmax: equ 5  ;max of 5 levels of include file nesting allowed
  114.  
  115. ;
  116. ; Equates:
  117. ;
  118.  
  119. nlcd:   equ 0f7h
  120. concd:  equ 0f8h
  121. varcd:  equ 0f9h
  122. lblcd:  equ 0fah
  123. labrc:  equ 0fch
  124. strcd:  equ 0fdh
  125. sttcd:  equ 8bh
  126. period: equ 0c5h
  127. arrow:  equ 0b4h
  128. swtbc:  equ 0feh
  129. divcd:  equ 0b7h
  130. mulcd:  equ 0b6h
  131. modcd:  equ 0b8h
  132. plus:   equ 0c4h
  133. ancd:   equ 0bbh
  134. letcd:  equ 0beh
  135. newlin: equ 10
  136. ht:     equ 9
  137. bs:     equ 8
  138. ff:     equ 0ch
  139. chrcd:  equ 80h
  140. regcd:  equ 9eh
  141. shrtcd: equ 9fh
  142. gotcd:  equ 8dh
  143. rencd:  equ 8eh
  144. brkcd:  equ 90h
  145. cntcd:  equ 91h
  146. ifcd:   equ 92h
  147. elscd:  equ 93h
  148. forcd:  equ 94h
  149. docd:   equ 95h
  150. whlcd:  equ 96h
  151. swtcd:  equ 97h
  152. cascd:  equ 98h
  153. defcd:  equ 99h
  154. uncd:   equ 8ch
  155. lbrcd:  equ 9bh
  156. rbrcd:  equ 9ch
  157. sizcd:  equ 8fh
  158. mincd:  equ 0b5h
  159. dcoln:  equ 0c1h
  160. open:   equ 0c2h
  161. close:  equ 0c3h
  162. semi:   equ 0c6h
  163. comma:  equ 0c7h
  164. openb:  equ 0c8h
  165. closb:  equ 0c9h
  166. colon:  equ 0cah
  167. circum: equ 0cbh
  168.  
  169. modbeg: equ 0f5h
  170. modend: equ 0f6h
  171.  
  172.  
  173. cr:     equ 0dh
  174. lf:     equ 0ah
  175.  
  176.  
  177.         ;IF LASM
  178.         ;link   CCA
  179.         ;ENDIF
  180.  
  181.         org PROGSTART;tpa               ;start of CP/M TPA
  182. begin
  183.         ;IF SLRMAC
  184.         include cca.asm
  185.         include ccb.asm
  186.         include cccomp.asm
  187.         include ccd.asm
  188.         ;ENDIF
  189.  
  190. end
  191.         savebin "cc.com",begin,end-begin
  192.        
  193.         LABELSLIST "../../us/user.l"
  194.