gets.lst 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. GAS LISTING /tmp/cc9jmPKs.s page 1
  2. 1 .file "gets.c"
  3. 2 __SP_H__ = 0x3e
  4. 3 __SP_L__ = 0x3d
  5. 4 __SREG__ = 0x3f
  6. 5 __RAMPZ__ = 0x3b
  7. 6 __tmp_reg__ = 0
  8. 7 __zero_reg__ = 1
  9. 8 .section .text.gets,"ax",@progbits
  10. 9 .global gets
  11. 10 .type gets, @function
  12. 11 gets:
  13. 12 0000 0F93 push r16
  14. 13 0002 1F93 push r17
  15. 14 0004 CF93 push r28
  16. 15 0006 DF93 push r29
  17. 16 /* prologue: function */
  18. 17 /* frame size = 0 */
  19. 18 /* stack size = 4 */
  20. 19 .L__stack_usage = 4
  21. 20 0008 8C01 movw r16,r24
  22. 21 000a C02F mov r28,r16
  23. 22 000c D12F mov r29,r17
  24. 23 .L5:
  25. 24 000e 8091 0000 lds r24,__iob
  26. 25 0012 9091 0000 lds r25,__iob+1
  27. 26 0016 0E94 0000 call fgetc
  28. 27 001a 8F3F cpi r24,-1
  29. 28 001c 2FEF ldi r18,-1
  30. 29 001e 9207 cpc r25,r18
  31. 30 0020 01F4 brne .L2
  32. 31 0022 1882 st Y,__zero_reg__
  33. 32 0024 80E0 ldi r24,0
  34. 33 0026 90E0 ldi r25,0
  35. 34 0028 00C0 rjmp .L3
  36. 35 .L2:
  37. 36 002a 8A30 cpi r24,10
  38. 37 002c 9105 cpc r25,__zero_reg__
  39. 38 002e 01F0 breq .L4
  40. 39 0030 8993 st Y+,r24
  41. 40 0032 00C0 rjmp .L5
  42. 41 .L4:
  43. 42 0034 1882 st Y,__zero_reg__
  44. 43 0036 C801 movw r24,r16
  45. 44 .L3:
  46. 45 /* epilogue start */
  47. 46 0038 DF91 pop r29
  48. 47 003a CF91 pop r28
  49. 48 003c 1F91 pop r17
  50. 49 003e 0F91 pop r16
  51. 50 0040 0895 ret
  52. 51 .size gets, .-gets
  53. 52 .ident "GCC: (GNU) 5.3.0"
  54. GAS LISTING /tmp/cc9jmPKs.s page 2
  55. DEFINED SYMBOLS
  56. *ABS*:0000000000000000 gets.c
  57. /tmp/cc9jmPKs.s:2 *ABS*:000000000000003e __SP_H__
  58. /tmp/cc9jmPKs.s:3 *ABS*:000000000000003d __SP_L__
  59. /tmp/cc9jmPKs.s:4 *ABS*:000000000000003f __SREG__
  60. /tmp/cc9jmPKs.s:5 *ABS*:000000000000003b __RAMPZ__
  61. /tmp/cc9jmPKs.s:6 *ABS*:0000000000000000 __tmp_reg__
  62. /tmp/cc9jmPKs.s:7 *ABS*:0000000000000001 __zero_reg__
  63. /tmp/cc9jmPKs.s:11 .text.gets:0000000000000000 gets
  64. UNDEFINED SYMBOLS
  65. __iob
  66. fgetc