vfscanf_p.lst 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. GAS LISTING /tmp/ccrV7TkB.s page 1
  2. 1 .file "vfscanf_p.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.vfscanf_P,"ax",@progbits
  10. 9 .global vfscanf_P
  11. 10 .type vfscanf_P, @function
  12. 11 vfscanf_P:
  13. 12 0000 AF92 push r10
  14. 13 0002 BF92 push r11
  15. 14 0004 CF92 push r12
  16. 15 0006 DF92 push r13
  17. 16 0008 EF92 push r14
  18. 17 000a FF92 push r15
  19. 18 000c 0F93 push r16
  20. 19 000e 1F93 push r17
  21. 20 0010 CF93 push r28
  22. 21 0012 DF93 push r29
  23. 22 /* prologue: function */
  24. 23 /* frame size = 0 */
  25. 24 /* stack size = 10 */
  26. 25 .L__stack_usage = 10
  27. 26 0014 5C01 movw r10,r24
  28. 27 0016 EB01 movw r28,r22
  29. 28 0018 6A01 movw r12,r20
  30. 29 001a CB01 movw r24,r22
  31. 30 001c 0E94 0000 call __strlen_P
  32. 31 0020 0196 adiw r24,1
  33. 32 0022 7C01 movw r14,r24
  34. 33 0024 BC01 movw r22,r24
  35. 34 0026 80E0 ldi r24,lo8(heapFreeList)
  36. 35 0028 90E0 ldi r25,hi8(heapFreeList)
  37. 36 002a 0E94 0000 call NutHeapRootAlloc
  38. 37 002e 8C01 movw r16,r24
  39. 38 0030 0097 sbiw r24,0
  40. 39 0032 01F0 breq .L3
  41. 40 0034 A701 movw r20,r14
  42. 41 0036 BE01 movw r22,r28
  43. 42 0038 0E94 0000 call memcpy_P
  44. 43 003c C501 movw r24,r10
  45. 44 003e 0E94 0000 call _fileno
  46. 45 0042 9601 movw r18,r12
  47. 46 0044 A801 movw r20,r16
  48. 47 0046 BC01 movw r22,r24
  49. 48 0048 80E0 ldi r24,lo8(gs(_read))
  50. 49 004a 90E0 ldi r25,hi8(gs(_read))
  51. 50 004c 0E94 0000 call _getf
  52. 51 0050 D82F mov r29,r24
  53. 52 0052 C92F mov r28,r25
  54. 53 0054 B801 movw r22,r16
  55. 54 0056 80E0 ldi r24,lo8(heapFreeList)
  56. 55 0058 90E0 ldi r25,hi8(heapFreeList)
  57. 56 005a 0E94 0000 call NutHeapRootFree
  58. 57 005e 8D2F mov r24,r29
  59. GAS LISTING /tmp/ccrV7TkB.s page 2
  60. 58 0060 9C2F mov r25,r28
  61. 59 0062 00C0 rjmp .L2
  62. 60 .L3:
  63. 61 0064 8FEF ldi r24,lo8(-1)
  64. 62 0066 9FEF ldi r25,lo8(-1)
  65. 63 .L2:
  66. 64 /* epilogue start */
  67. 65 0068 DF91 pop r29
  68. 66 006a CF91 pop r28
  69. 67 006c 1F91 pop r17
  70. 68 006e 0F91 pop r16
  71. 69 0070 FF90 pop r15
  72. 70 0072 EF90 pop r14
  73. 71 0074 DF90 pop r13
  74. 72 0076 CF90 pop r12
  75. 73 0078 BF90 pop r11
  76. 74 007a AF90 pop r10
  77. 75 007c 0895 ret
  78. 76 .size vfscanf_P, .-vfscanf_P
  79. 77 .ident "GCC: (GNU) 5.3.0"
  80. GAS LISTING /tmp/ccrV7TkB.s page 3
  81. DEFINED SYMBOLS
  82. *ABS*:0000000000000000 vfscanf_p.c
  83. /tmp/ccrV7TkB.s:2 *ABS*:000000000000003e __SP_H__
  84. /tmp/ccrV7TkB.s:3 *ABS*:000000000000003d __SP_L__
  85. /tmp/ccrV7TkB.s:4 *ABS*:000000000000003f __SREG__
  86. /tmp/ccrV7TkB.s:5 *ABS*:000000000000003b __RAMPZ__
  87. /tmp/ccrV7TkB.s:6 *ABS*:0000000000000000 __tmp_reg__
  88. /tmp/ccrV7TkB.s:7 *ABS*:0000000000000001 __zero_reg__
  89. /tmp/ccrV7TkB.s:11 .text.vfscanf_P:0000000000000000 vfscanf_P
  90. UNDEFINED SYMBOLS
  91. __strlen_P
  92. heapFreeList
  93. NutHeapRootAlloc
  94. memcpy_P
  95. _fileno
  96. _read
  97. _getf
  98. NutHeapRootFree