head_em.s 818 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #include "em_abs.h"
  2. .sect .text; .sect .rom; .sect .data; .sect .bss
  3. .sect .text
  4. ! $Id$
  5. .define hol0
  6. .define .reghp
  7. .define .limhp
  8. .define .trppc
  9. .define .trpim
  10. .define EXIT,WRITE,BRK
  11. ! run time startoff
  12. .data2 0
  13. bispsw $0100 ! set FU(0100)
  14. movl 4(sp),r0
  15. clrl -4(r0)
  16. movl sp,r0
  17. movl (r0)+,r1
  18. movl r0,r2
  19. 1:
  20. tstl (r0)+
  21. bneq 1b
  22. cmpl r0,(r2)
  23. blssu 2f
  24. tstl -(r0)
  25. 2:
  26. pushl r0
  27. pushl r2
  28. pushl r1
  29. calls $3,__m_a_i_n
  30. EXIT:
  31. movl $Im2,ap
  32. movl r0,6(ap)
  33. chmk (ap)+
  34. halt
  35. write = 4
  36. WRITE:
  37. .data2 0x0000
  38. chmk $write
  39. bcc 1f
  40. jmp cerror
  41. 1:
  42. ret
  43. break = 17
  44. BRK:
  45. .data2 0x0000
  46. chmk $break
  47. bcc 1f
  48. jmp cerror
  49. 1:
  50. movl 4(ap),.limhp
  51. clrl r0
  52. ret
  53. .sect .data
  54. Im2:
  55. .data2 1
  56. .data4 1
  57. .data4 0
  58. .data2 0
  59. .reghp:
  60. .data4 __end
  61. .limhp:
  62. .data4 __end
  63. hol0:
  64. .space 8
  65. .trppc:
  66. .space 4
  67. .trpim:
  68. .data4 0