atof.s 810 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. .xdef atof
  2. .text
  3. atof:
  4. link.w %a6,#-80
  5. movem.l %d3-%d7/%a2-%a5,-(%sp)
  6. move.l 0xC8,%a4
  7. move.l 1060(%a4),%a3 /* top_estack */
  8. move.l (%a3),%d4
  9. pea -80(%a6)
  10. move.l 1360(%a4),%a0 /* ER_catch */
  11. jsr (%a0)
  12. tst.w %d0
  13. jbeq .L__atof_1
  14. move.l #0x7FFFAA00,%d0
  15. clr.l %d1
  16. clr.w %d2
  17. jbra .L__atof_3
  18. .L__atof_1:
  19. move.l 8(%a6),(%sp)
  20. move.l 3880(%a4),%a0 /* push_parse_text */
  21. jsr (%a0)
  22. move.l (%a3),%a0
  23. move.b (%a0),%d5
  24. cmpi.b #0x7A,%d5
  25. bne.s .L__atof_2
  26. subq #1,%a0
  27. .L__atof_2:
  28. move.l %a0,(%sp)
  29. move.l 3044(%a4),%a0 /* estack_number_to_Float */
  30. jsr (%a0)
  31. move.l %d4,(%a3)
  32. move.l 1364(%a4),%a0 /* ER_success */
  33. jsr (%a0)
  34. move.l (%a6,-10),%d0
  35. move.l (%a6,-6),%d1
  36. move.w (%a6,-2),%d2
  37. cmpi.b #0x7A,%d5
  38. bne.s .L__atof_3
  39. bset #31,%d0
  40. .L__atof_3:
  41. movem.l -116(%a6),%d3-%d7/%a2-%a5
  42. unlk %a6
  43. rts