head_em.s 711 B

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