head_em.s 836 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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, BRK, WRITE
  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. break = 17
  36. .align 1
  37. BRK:
  38. .data2 0x0000
  39. chmk $break
  40. bcc 1f
  41. jmp errmon
  42. 1:
  43. movl 4(ap),.limhp
  44. clrl r0
  45. ret
  46. write = 4
  47. .align 1
  48. WRITE:
  49. .data2 0x0000
  50. chmk $write
  51. bcc 1f
  52. jmp errmon
  53. 1:
  54. ret
  55. .sect .data
  56. Im2:
  57. .data2 1
  58. .data4 1
  59. .data4 0
  60. .data2 0
  61. .reghp:
  62. .data4 __end
  63. .limhp:
  64. .data4 __end
  65. hol0:
  66. .space 8
  67. .trppc:
  68. .space 4
  69. .trpim:
  70. .data4 0