close.lst 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. GAS LISTING /tmp/ccdsdUhO.s page 1
  2. 1 .file "close.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._close,"ax",@progbits
  10. 9 .global _close
  11. 10 .type _close, @function
  12. 11 _close:
  13. 12 0000 CF93 push r28
  14. 13 0002 DF93 push r29
  15. 14 /* prologue: function */
  16. 15 /* frame size = 0 */
  17. 16 /* stack size = 2 */
  18. 17 .L__stack_usage = 2
  19. 18 0004 8830 cpi r24,8
  20. 19 0006 9105 cpc r25,__zero_reg__
  21. 20 0008 00F0 brlo .L2
  22. 21 .L4:
  23. 22 000a 89E0 ldi r24,lo8(9)
  24. 23 000c 90E0 ldi r25,0
  25. 24 000e 9093 0000 sts errno+1,r25
  26. 25 0012 8093 0000 sts errno,r24
  27. 26 0016 8FEF ldi r24,lo8(-1)
  28. 27 0018 9FEF ldi r25,lo8(-1)
  29. 28 001a 00C0 rjmp .L3
  30. 29 .L2:
  31. 30 001c 880F lsl r24
  32. 31 001e 991F rol r25
  33. 32 0020 EC01 movw r28,r24
  34. 33 0022 C050 subi r28,lo8(-(__fds))
  35. 34 0024 D040 sbci r29,hi8(-(__fds))
  36. 35 0026 8881 ld r24,Y
  37. 36 0028 9981 ldd r25,Y+1
  38. 37 002a 0097 sbiw r24,0
  39. 38 002c 01F0 breq .L4
  40. 39 002e DC01 movw r26,r24
  41. 40 0030 ED91 ld r30,X+
  42. 41 0032 FC91 ld r31,X
  43. 42 0034 1197 sbiw r26,1
  44. 43 0036 3097 sbiw r30,0
  45. 44 0038 01F4 brne .L5
  46. 45 003a 1982 std Y+1,__zero_reg__
  47. 46 003c 1882 st Y,__zero_reg__
  48. 47 003e 1796 adiw r26,7
  49. 48 0040 ED91 ld r30,X+
  50. 49 0042 FC91 ld r31,X
  51. 50 0044 1897 sbiw r26,7+1
  52. 51 0046 40E0 ldi r20,0
  53. 52 0048 50E0 ldi r21,0
  54. 53 004a 60E0 ldi r22,0
  55. 54 004c 70E0 ldi r23,0
  56. 55 /* epilogue start */
  57. 56 004e DF91 pop r29
  58. 57 0050 CF91 pop r28
  59. GAS LISTING /tmp/ccdsdUhO.s page 2
  60. 58 0052 1994 eijmp
  61. 59 .L5:
  62. 60 0054 078C ldd __tmp_reg__,Z+31
  63. 61 0056 F0A1 ldd r31,Z+32
  64. 62 0058 E02D mov r30,__tmp_reg__
  65. 63 005a 1995 eicall
  66. 64 005c 1982 std Y+1,__zero_reg__
  67. 65 005e 1882 st Y,__zero_reg__
  68. 66 .L3:
  69. 67 /* epilogue start */
  70. 68 0060 DF91 pop r29
  71. 69 0062 CF91 pop r28
  72. 70 0064 0895 ret
  73. 71 .size _close, .-_close
  74. 72 .ident "GCC: (GNU) 5.3.0"
  75. GAS LISTING /tmp/ccdsdUhO.s page 3
  76. DEFINED SYMBOLS
  77. *ABS*:0000000000000000 close.c
  78. /tmp/ccdsdUhO.s:2 *ABS*:000000000000003e __SP_H__
  79. /tmp/ccdsdUhO.s:3 *ABS*:000000000000003d __SP_L__
  80. /tmp/ccdsdUhO.s:4 *ABS*:000000000000003f __SREG__
  81. /tmp/ccdsdUhO.s:5 *ABS*:000000000000003b __RAMPZ__
  82. /tmp/ccdsdUhO.s:6 *ABS*:0000000000000000 __tmp_reg__
  83. /tmp/ccdsdUhO.s:7 *ABS*:0000000000000001 __zero_reg__
  84. /tmp/ccdsdUhO.s:11 .text._close:0000000000000000 _close
  85. UNDEFINED SYMBOLS
  86. errno
  87. __fds