e.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #define SZADDR EM_PSIZE
  2. #define SZWORD EM_WSIZE
  3. #define SZLONG 4
  4. #define SZREAL 8
  5. #define SZPROC SZADDR+SZADDR
  6. #if SZWORD==2
  7. #if SZADDR==2
  8. #define FIRSTIBOFFSET 30 /* offset from .HTOP to main's LB */
  9. #else
  10. #define FIRSTIBOFFSET 50
  11. #endif
  12. #else
  13. #define FIRSTIBOFFSET 52
  14. #endif
  15. #define FSTAMPOFFSET FIRSTIBOFFSET+SZWORD
  16. /* the following four definitions are offsets to the file pointers */
  17. #define FILEOFFSET SZWORD+SZWORD+SZADDR+SZWORD+SZWORD+SZADDR+SZADDR+SZWORD+\
  18. SZADDR+SZADDR+SZWORD+SZWORD+SZADDR
  19. #define STINOFFSET FIRSTIBOFFSET+FILEOFFSET
  20. #define STOUTOFFSET STINOFFSET+SZADDR
  21. #define STBACKOFFSET STOUTOFFSET+SZADDR
  22. #define ENTRYOFFSET SZADDR+SZWORD
  23. #if SZWORD==2
  24. #define PUTTVARSPACE 150 /* space, or greater used for locals in PUTT */
  25. #define GETTVARSPACE 350 /* exactly (!) space used for locals in GETT */
  26. #define LLC ldc /* for loading bit patterns */
  27. #else
  28. #define PUTTVARSPACE 212
  29. #define GETTVARSPACE 432
  30. #define LLC loc
  31. #endif
  32. #define HTOP 500 /* this must agree with what the compiler produces */
  33. #define A68STAMP 13476 /* this must agree with version in a68sdec.p */
  34. #define PASCALSTAMP 0 /* must match what the pascal compiler puts down */
  35. #define PUTSTAMP -1
  36. #define GETSTAMP -2
  37. /* this will only work if SZADDR = SWORD*2 or if SZADDR = SZWORD */
  38. #if SZADDR == SZWORD
  39. #define LFL lol
  40. #define SFL stl
  41. #define LFE loe
  42. #define SFE ste
  43. #define LFF lof
  44. #define SFF stf
  45. #else
  46. #define LFL ldl
  47. #define SFL sdl
  48. #define LFE lde
  49. #define SFE sde
  50. #define LFF ldf
  51. #define SFF sdf
  52. #endif
  53. mes 2,SZWORD,SZADDR