tmpnam.s 808 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. .file "tmpnam.c"
  2. #NO_APP
  3. .text
  4. tigcc_compiled.:
  5. #APP
  6. .set _A_LINE,0xA000
  7. #NO_APP
  8. .text
  9. buff.0:
  10. .byte 0
  11. .skip 9
  12. .text
  13. .even
  14. .globl tmpnam
  15. tmpnam:
  16. movm.l #0x1c20,-(%sp)
  17. move.l %a0,%d4
  18. move.l #buff.0,%d5
  19. .L2:
  20. move.l %d5,%a2
  21. addq.l #1,%a2
  22. moveq.l #7,%d3
  23. jbra .L5
  24. .even
  25. .L9:
  26. jbsr rand
  27. moveq.l #25,%d2
  28. ext.l %d0
  29. divs.w %d2,%d0
  30. move.l %d0,%d1
  31. swap %d1
  32. add.b #97,%d1
  33. move.b %d1,(%a2)+
  34. subq.w #1,%d3
  35. .L5:
  36. tst.w %d3
  37. jbge .L9
  38. #APP
  39. .xdef __ref_all___set_file_in_use_bit
  40. #NO_APP
  41. move.l 200.w,%a0
  42. move.l 384(%a0),%a0
  43. pea buff.0+9
  44. jbsr (%a0)
  45. addq.l #4,%sp
  46. tst.w %d0
  47. jbne .L2
  48. move.l #buff.0+1,%d0
  49. tst.l %d4
  50. jbeq .L1
  51. move.l 200.w,%a0
  52. move.l %d0,-(%sp)
  53. move.l %d4,-(%sp)
  54. move.l 2480(%a0),%a0
  55. jbsr (%a0)
  56. move.l %a0,%d0
  57. addq.l #8,%sp
  58. .L1:
  59. move.l %d0,%a0
  60. movm.l (%sp)+,#0x438
  61. rts