head_em.s 717 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. .sect .text; .sect .rom; .sect .data; .sect .bss
  2. .define begtext,begdata,begbss
  3. .define hol0,.reghp,.limhp,.trppc,.ignmask
  4. .define ERANGE,ESET,EHEAP,ECASE,EILLINS,EIDIVZ,EODDZ
  5. .define EXIT, BRK
  6. ERANGE = 1
  7. ESET = 2
  8. EIDIVZ = 6
  9. EHEAP = 17
  10. EILLINS = 18
  11. EODDZ = 19
  12. ECASE = 20
  13. .sect .text
  14. begtext:
  15. mov bx,sp
  16. mov cx,(bx)
  17. add bx,2
  18. mov ax,cx
  19. inc ax
  20. shl ax,1
  21. add ax,bx
  22. push ax
  23. push bx
  24. push cx
  25. xor bp,bp
  26. call __m_a_i_n
  27. add sp,6
  28. EXIT:
  29. push ax
  30. call __exit
  31. BRK:
  32. jmp __brk
  33. .sect .data
  34. begdata:
  35. hol0:
  36. .data2 0,0
  37. .data2 0,0
  38. .reghp:
  39. .data2 endbss
  40. .limhp:
  41. .data2 endbss
  42. .ignmask:
  43. .data2 0
  44. .trppc:
  45. .data2 0
  46. .sect .bss
  47. begbss: