head_em.s 812 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. .define CERASE,CKILL,CSTOP,CSTART
  2. .define .lino,.filn
  3. .define F_DUM,EXIT,WRITE,BRK
  4. .define begtext,begdata,begbss
  5. .define EARRAY,ERANGE,ESET,EIDIVZ,EHEAP,EILLINS,ECASE
  6. .define hol0,.reghp,.limhp,.trpim,.trppc
  7. .define LINO_AD,FILN_AD
  8. .sect .text
  9. .sect .rom
  10. .sect .data
  11. .sect .bss
  12. .sect .text
  13. CERASE = 010
  14. CKILL = 030
  15. CSTART = 021
  16. CSTOP = 023
  17. F_DUM = 0
  18. LINO_AD = 0
  19. FILN_AD = 4
  20. EARRAY = 0
  21. ERANGE = 1
  22. ESET = 2
  23. EIDIVZ = 6
  24. EHEAP = 17
  25. EILLINS = 18
  26. ECASE = 20
  27. .sect .text
  28. begtext:
  29. jsr __m_a_i_n
  30. add #012,sp
  31. EXIT:
  32. move.l d0,-(sp)
  33. jsr __exit
  34. ! As a temporary measure
  35. jsr .trp
  36. WRITE: jmp __write
  37. BRK: jmp __brk
  38. .sect .data
  39. begdata:
  40. hol0:
  41. .lino:
  42. .data4 0 ! lino
  43. .filn:
  44. .data4 0 ! filn
  45. .reghp:
  46. .data4 endbss
  47. .limhp:
  48. .data4 endbss
  49. .trppc:
  50. .data4 0
  51. .trpim:
  52. .data4 0 ! was short
  53. .sect .bss
  54. begbss: