tell.lst 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. GAS LISTING /tmp/ccR2oSJ5.s page 1
  2. 1 .file "tell.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._tell,"ax",@progbits
  10. 9 .global _tell
  11. 10 .type _tell, @function
  12. 11 _tell:
  13. 12 0000 CF93 push r28
  14. 13 0002 DF93 push r29
  15. 14 0004 CDB7 in r28,__SP_L__
  16. 15 0006 DEB7 in r29,__SP_H__
  17. 16 0008 2A97 sbiw r28,10
  18. 17 000a 0FB6 in __tmp_reg__,__SREG__
  19. 18 000c F894 cli
  20. 19 000e DEBF out __SP_H__,r29
  21. 20 0010 0FBE out __SREG__,__tmp_reg__
  22. 21 0012 CDBF out __SP_L__,r28
  23. 22 /* prologue: function */
  24. 23 /* frame size = 10 */
  25. 24 /* stack size = 12 */
  26. 25 .L__stack_usage = 12
  27. 26 0014 1F82 std Y+7,__zero_reg__
  28. 27 0016 1886 std Y+8,__zero_reg__
  29. 28 0018 1986 std Y+9,__zero_reg__
  30. 29 001a 1A86 std Y+10,__zero_reg__
  31. 30 001c 8830 cpi r24,8
  32. 31 001e 9105 cpc r25,__zero_reg__
  33. 32 0020 00F0 brlo .L2
  34. 33 .L4:
  35. 34 0022 89E0 ldi r24,lo8(9)
  36. 35 0024 90E0 ldi r25,0
  37. 36 0026 00C0 rjmp .L15
  38. 37 .L2:
  39. 38 0028 880F lsl r24
  40. 39 002a 991F rol r25
  41. 40 002c FC01 movw r30,r24
  42. 41 002e E050 subi r30,lo8(-(__fds))
  43. 42 0030 F040 sbci r31,hi8(-(__fds))
  44. 43 0032 0190 ld __tmp_reg__,Z+
  45. 44 0034 F081 ld r31,Z
  46. 45 0036 E02D mov r30,__tmp_reg__
  47. 46 0038 3097 sbiw r30,0
  48. 47 003a 01F0 breq .L4
  49. 48 003c FA83 std Y+2,r31
  50. 49 003e E983 std Y+1,r30
  51. 50 0040 CE01 movw r24,r28
  52. 51 0042 0796 adiw r24,7
  53. 52 0044 9C83 std Y+4,r25
  54. 53 0046 8B83 std Y+3,r24
  55. 54 0048 81E0 ldi r24,lo8(1)
  56. 55 004a 90E0 ldi r25,0
  57. 56 004c 9E83 std Y+6,r25
  58. 57 004e 8D83 std Y+5,r24
  59. GAS LISTING /tmp/ccR2oSJ5.s page 2
  60. 58 0050 8081 ld r24,Z
  61. 59 0052 9181 ldd r25,Z+1
  62. 60 0054 0097 sbiw r24,0
  63. 61 0056 01F0 breq .L5
  64. 62 0058 DC01 movw r26,r24
  65. 63 005a 5596 adiw r26,21
  66. 64 005c ED91 ld r30,X+
  67. 65 005e FC91 ld r31,X
  68. 66 0060 5697 sbiw r26,21+1
  69. 67 0062 AE01 movw r20,r28
  70. 68 0064 4F5F subi r20,-1
  71. 69 0066 5F4F sbci r21,-1
  72. 70 0068 63E2 ldi r22,lo8(35)
  73. 71 006a 71E1 ldi r23,lo8(17)
  74. 72 006c 1995 eicall
  75. 73 006e 892B or r24,r25
  76. 74 0070 01F0 breq .L5
  77. 75 0072 6F81 ldd r22,Y+7
  78. 76 0074 7885 ldd r23,Y+8
  79. 77 0076 8985 ldd r24,Y+9
  80. 78 0078 9A85 ldd r25,Y+10
  81. 79 007a 00C0 rjmp .L3
  82. 80 .L5:
  83. 81 007c 86E1 ldi r24,lo8(22)
  84. 82 007e 90E0 ldi r25,0
  85. 83 .L15:
  86. 84 0080 9093 0000 sts errno+1,r25
  87. 85 0084 8093 0000 sts errno,r24
  88. 86 0088 6FEF ldi r22,lo8(-1)
  89. 87 008a 7FEF ldi r23,lo8(-1)
  90. 88 008c CB01 movw r24,r22
  91. 89 .L3:
  92. 90 /* epilogue start */
  93. 91 008e 2A96 adiw r28,10
  94. 92 0090 0FB6 in __tmp_reg__,__SREG__
  95. 93 0092 F894 cli
  96. 94 0094 DEBF out __SP_H__,r29
  97. 95 0096 0FBE out __SREG__,__tmp_reg__
  98. 96 0098 CDBF out __SP_L__,r28
  99. 97 009a DF91 pop r29
  100. 98 009c CF91 pop r28
  101. 99 009e 0895 ret
  102. 100 .size _tell, .-_tell
  103. 101 .ident "GCC: (GNU) 5.3.0"
  104. GAS LISTING /tmp/ccR2oSJ5.s page 3
  105. DEFINED SYMBOLS
  106. *ABS*:0000000000000000 tell.c
  107. /tmp/ccR2oSJ5.s:2 *ABS*:000000000000003e __SP_H__
  108. /tmp/ccR2oSJ5.s:3 *ABS*:000000000000003d __SP_L__
  109. /tmp/ccR2oSJ5.s:4 *ABS*:000000000000003f __SREG__
  110. /tmp/ccR2oSJ5.s:5 *ABS*:000000000000003b __RAMPZ__
  111. /tmp/ccR2oSJ5.s:6 *ABS*:0000000000000000 __tmp_reg__
  112. /tmp/ccR2oSJ5.s:7 *ABS*:0000000000000001 __zero_reg__
  113. /tmp/ccR2oSJ5.s:11 .text._tell:0000000000000000 _tell
  114. UNDEFINED SYMBOLS
  115. __fds
  116. errno