msg.s 676 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. .sect .text; .sect .rom; .sect .data; .sect .bss
  2. .sect .text
  3. msg = 49
  4. .define _msgrcv
  5. .define _msgctl
  6. .define _msgsnd
  7. .define _msgget
  8. _msgsnd:
  9. .data2 0x0000
  10. pushl 16(ap)
  11. pushl 12(ap)
  12. pushl 8(ap)
  13. pushl 4(ap)
  14. pushl $3
  15. calls $5,Isys
  16. ret
  17. _msgrcv:
  18. .data2 0x0000
  19. pushl 20(sp)
  20. pushl 16(ap)
  21. pushl 12(ap)
  22. pushl 8(ap)
  23. pushl 4(ap)
  24. pushl $2
  25. calls $6,Isys1
  26. ret
  27. _msgctl:
  28. .data2 0x0000
  29. pushl 12(ap)
  30. pushl 8(ap)
  31. pushl 4(ap)
  32. pushl $1
  33. calls $4,Isys
  34. ret
  35. _msgget:
  36. .data2 0x0000
  37. pushl 8(ap)
  38. pushl 4(ap)
  39. pushl $0
  40. calls $3,Isys1
  41. ret
  42. Isys:
  43. .data2 0x0000
  44. chmk $msg
  45. bcc 1f
  46. jmp cerror
  47. 1:
  48. clrl r0
  49. ret
  50. Isys1:
  51. .data2 0x0000
  52. chmk $msg
  53. bcc 1f
  54. jmp cerror
  55. 1:
  56. ret