getappid.s 952 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. .xdef EV_getAppID
  2. .text
  3. EV_getAppID:
  4. movem.l %d3/%a2-%a3,-(%sp)
  5. lea .L__appid_tb(%pc),%a2
  6. moveq.l #9,%d3
  7. move.l 0xC8,%a3
  8. cmp.l #1000,-4(%a3)
  9. jbls .L__appid_lp
  10. move.l %a0,-(%sp)
  11. move.l 4432(%a3),%a0 /* TIOS_EV_getAppID */
  12. jsr (%a0)
  13. addq.l #4,%sp
  14. tst.w %d0
  15. jbne .L__appid_end
  16. moveq.l #-1,%d0
  17. jbra .L__appid_end
  18. .L__appid_lp:
  19. move.l %a2,-(%sp)
  20. move.l %a0,-(%sp)
  21. move.l 2500(%a3),%a0 /* strcmp */
  22. jsr (%a0)
  23. addq.l #8,%sp
  24. tst.w %d0
  25. jbeq .L__appid_fnd
  26. .L__appid_skp:
  27. tst.b (%a2)+
  28. dbne %d3,.L__appid_lp
  29. jbne .L__appid_skp
  30. .L__appid_fnd:
  31. move.w %d3,%d0
  32. move.l %a3,%d1
  33. and.l #0xE00000,%d1
  34. cmp.l #0x400000,%d1
  35. jbne .L__appid_end
  36. cmp.w #6,%d0
  37. jble .L__appid_end
  38. addq.w #1,%d0
  39. .L__appid_end:
  40. movem.l (%sp)+,%d3/%a2-%a3
  41. rts
  42. .even
  43. .L__appid_tb:
  44. .asciz "TISLFTST"
  45. .asciz "TIINSLVR"
  46. .asciz "TITEXTED"
  47. .asciz "TIPRGMED"
  48. .asciz "TIDMED"
  49. .asciz "TITABLED"
  50. .asciz "TIGRAPH"
  51. .asciz "TIWINDED"
  52. .asciz "TIEQUED"
  53. .asciz "TIHOME"