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 / SIMTEL / CPMUG / CPMUG031.ARK / TBASIC.C < prev    next >
Text File  |  1984-04-29  |  3KB  |  71 lines

  1.             MEMORY USAGE
  2.  
  3. Address Range    Description
  4. (hexadecimal)
  5.  
  6. 0000 - 00FF    Unused, available space for your stuff.
  7. 0100 - 04FF    Standard Input/Output Routines (Listing Included).
  8. 0500 - 0502    A jump instruction into TARBELL BASIC.
  9. 0503 - 0504    CHANL - Contains the address of the Channel Table.
  10. 0505 - 0506    TRMNL - Contains the address of the Terminal Table.
  11. 0507 - 0508    SSSS - Defines the end of useable memory.  If zero,
  12.         causes BASIC to use all available memory.
  13. 0509 - 050A    CNVRA - Defines the number of digits that will be printed
  14.         in normal (as opposed to scientific) notation.
  15. 050B - 050C    FPRAA+6 - Contains the address of a location which contains
  16.         the address of a user routine accessed by the USR function.
  17. 050D - 050E    MODES - Contains the address of the MODES Table.
  18. 050F - 0510    FSRC - Address of pointer to start of source.
  19. 0511 - 0512    ESRC - Address of pointer to end of source.
  20. 0513 - 0514    ERROR - Pointer to error routine.
  21. 0515 - 0516    TSCN - Points to token just scanned.
  22. 0517 - 0518    NSCN - Points to token to be scanned next.
  23. 0519 - 051A    CHCK - Points to checksum routine.
  24. 051B - 051C    INFL - Integer to Floating, (HL) to (DE).
  25. 051D - 051E    FLIN - Floating to Integer, (HL) to (DE).
  26. 051F - 0520    STNM - String at (HL) to number at (DE).
  27. 0521 - 0522    NMST - Number at (HL) to string at (DE).
  28. 0523 - 0524    CMPR - Zero and carry set as for (HL)-(DE).
  29. 0525 - 0526    SINE - Sine(HL) to (DE).
  30. 0527 - 0528    SICO - Cosine(HL) to (DE).
  31. 0529 - 052A    TANG - tangent(HL) to (DE).
  32. 052B - 052C    ATAN - Arctangent(HL) to (DE).
  33. 052D - 052E    BCDB - Number at (HL) to binary in HL.
  34. 052F - 0530    BBCD - Binary number in HL to number at (DE).
  35. 0531 - 0532    ETOX - E to the (HL) power to (DE).
  36. 0533 - 0534    LOGX - Log base E (HL) to (DE).
  37. 0535 - 0536    SQUR - (HL) to 1/2 to (DE).
  38. 0537 - 0538    PWRS - (HL) to the (DE) power to (BC).
  39. 0539 - 053A    ADDER - (HL)+(DE) to (BC)
  40. 053B - 053C    SUBER - (HL)-(DE) to (BC)
  41. 053D - 053E    MULER - (HL)*(DE) to (BC)
  42. 053F - 0540    DIVER - (HL)/(DE) to (BC)
  43. 0541 - 53C5    The TARBELL BASIC interpreter, which may be in ROM.
  44.         Note that these addresses may change with versions.
  45. 53C6 - XXXX    Interpreter Workspace, must be in RAM. (fixed length)
  46. XXXX - XXXX    Program Source, in internal form. Fixed at RUN time.
  47. XXXX - XXXX    Variables and Array Pointers.  Fixed at RUN time.
  48. XXXX - XXXX    FOR/NEXT and local variable stack.  Dynamic.
  49. XXXX - XXXX    Input Line Space.  Dynamic.
  50. XXXX - XXXX    Array and String Space.  Dynamic.
  51. XXXX - XXXX    Symbol Directory.  Fixed at RUN time.
  52. XXXX - XXXX    Symbol Table.  Fixed at RUN time.
  53.         End of Specified Memory.
  54.  
  55. Allocation Notes:
  56. Before runtime, will consist only of moving the symbol directory
  57. as the symbol table grows.  At runtime, variable and array pointers
  58. fished out of symbol directory and space assigned.  As local variables
  59. are encountered, they are assigned on the stack.  Arrays and strings
  60. are assigned by sequential assignment-random release- clean up garbage
  61. when full.
  62.  
  63.                 C
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.