ih_twi.lst 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. GAS LISTING /tmp/cc3yRnYy.s page 1
  2. 1 .file "ih_twi.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.AvrTwiIrqCtl,"ax",@progbits
  10. 9 .type AvrTwiIrqCtl, @function
  11. 10 AvrTwiIrqCtl:
  12. 11 /* prologue: function */
  13. 12 /* frame size = 0 */
  14. 13 /* stack size = 0 */
  15. 14 .L__stack_usage = 0
  16. 15 0000 FB01 movw r30,r22
  17. 16 0002 2091 BC00 lds r18,188
  18. 17 0006 2170 andi r18,lo8(1)
  19. 18 0008 3091 BC00 lds r19,188
  20. 19 000c 3E7F andi r19,lo8(-2)
  21. 20 000e 3093 BC00 sts 188,r19
  22. 21 0012 8031 cpi r24,16
  23. 22 0014 9105 cpc r25,__zero_reg__
  24. 23 0016 01F0 breq .L3
  25. 24 0018 04F4 brge .L4
  26. 25 001a 0097 sbiw r24,0
  27. 26 001c 01F0 breq .L5
  28. 27 001e 0197 sbiw r24,1
  29. 28 0020 01F0 breq .L6
  30. 29 0022 00C0 rjmp .L14
  31. 30 .L4:
  32. 31 0024 8231 cpi r24,18
  33. 32 0026 9105 cpc r25,__zero_reg__
  34. 33 0028 01F0 breq .L7
  35. 34 002a 04F0 brlt .L8
  36. 35 002c 8097 sbiw r24,32
  37. 36 002e 01F4 brne .L14
  38. 37 0030 80E1 ldi r24,lo8(16)
  39. 38 0032 90E0 ldi r25,0
  40. 39 0034 9183 std Z+1,r25
  41. 40 0036 8083 st Z,r24
  42. 41 0038 00C0 rjmp .L15
  43. 42 .L5:
  44. 43 003a 20E0 ldi r18,0
  45. 44 .L6:
  46. 45 003c 0DB4 in __tmp_reg__,0x2d
  47. 46 003e 07FE sbrs __tmp_reg__,7
  48. 47 0040 00C0 rjmp .L15
  49. 48 0042 8EB5 in r24,0x2e
  50. 49 0044 00C0 rjmp .L15
  51. 50 .L3:
  52. 51 0046 8091 BC00 lds r24,188
  53. 52 004a 87FF sbrs r24,7
  54. 53 004c 00C0 rjmp .L10
  55. 54 004e 81E0 ldi r24,lo8(1)
  56. 55 0050 90E0 ldi r25,0
  57. 56 0052 9183 std Z+1,r25
  58. 57 0054 8083 st Z,r24
  59. GAS LISTING /tmp/cc3yRnYy.s page 2
  60. 58 0056 00C0 rjmp .L11
  61. 59 .L10:
  62. 60 0058 1182 std Z+1,__zero_reg__
  63. 61 005a 1082 st Z,__zero_reg__
  64. 62 .L11:
  65. 63 005c 2223 tst r18
  66. 64 005e 01F0 breq .L7
  67. 65 0060 8081 ld r24,Z
  68. 66 0062 9181 ldd r25,Z+1
  69. 67 0064 8068 ori r24,128
  70. 68 0066 9183 std Z+1,r25
  71. 69 0068 8083 st Z,r24
  72. 70 006a 00C0 rjmp .L8
  73. 71 .L14:
  74. 72 006c 8FEF ldi r24,lo8(-1)
  75. 73 006e 9FEF ldi r25,lo8(-1)
  76. 74 0070 00C0 rjmp .L2
  77. 75 .L15:
  78. 76 0072 80E0 ldi r24,0
  79. 77 0074 90E0 ldi r25,0
  80. 78 .L2:
  81. 79 0076 2223 tst r18
  82. 80 0078 01F0 breq .L20
  83. 81 .L13:
  84. 82 007a 2091 BC00 lds r18,188
  85. 83 007e 2160 ori r18,lo8(1)
  86. 84 0080 2093 BC00 sts 188,r18
  87. 85 0084 0895 ret
  88. 86 .L8:
  89. 87 0086 80E0 ldi r24,0
  90. 88 0088 90E0 ldi r25,0
  91. 89 008a 00C0 rjmp .L13
  92. 90 .L7:
  93. 91 008c 80E0 ldi r24,0
  94. 92 008e 90E0 ldi r25,0
  95. 93 .L20:
  96. 94 0090 0895 ret
  97. 95 .size AvrTwiIrqCtl, .-AvrTwiIrqCtl
  98. 96 .section .text.__vector_39,"ax",@progbits
  99. 97 .global __vector_39
  100. 98 .type __vector_39, @function
  101. 99 __vector_39:
  102. 100 0000 1F92 push r1
  103. 101 0002 0F92 push r0
  104. 102 0004 0FB6 in r0,__SREG__
  105. 103 0006 0F92 push r0
  106. 104 0008 1124 clr __zero_reg__
  107. 105 000a 0BB6 in r0,__RAMPZ__
  108. 106 000c 0F92 push r0
  109. 107 000e 2F93 push r18
  110. 108 0010 3F93 push r19
  111. 109 0012 4F93 push r20
  112. 110 0014 5F93 push r21
  113. 111 0016 6F93 push r22
  114. 112 0018 7F93 push r23
  115. 113 001a 8F93 push r24
  116. 114 001c 9F93 push r25
  117. GAS LISTING /tmp/cc3yRnYy.s page 3
  118. 115 001e AF93 push r26
  119. 116 0020 BF93 push r27
  120. 117 0022 EF93 push r30
  121. 118 0024 FF93 push r31
  122. 119 /* prologue: Signal */
  123. 120 /* frame size = 0 */
  124. 121 /* stack size = 16 */
  125. 122 .L__stack_usage = 16
  126. 123 0026 80E0 ldi r24,lo8(sig_2WIRE_SERIAL)
  127. 124 0028 90E0 ldi r25,hi8(sig_2WIRE_SERIAL)
  128. 125 002a 0E94 0000 call CallHandler
  129. 126 /* epilogue start */
  130. 127 002e FF91 pop r31
  131. 128 0030 EF91 pop r30
  132. 129 0032 BF91 pop r27
  133. 130 0034 AF91 pop r26
  134. 131 0036 9F91 pop r25
  135. 132 0038 8F91 pop r24
  136. 133 003a 7F91 pop r23
  137. 134 003c 6F91 pop r22
  138. 135 003e 5F91 pop r21
  139. 136 0040 4F91 pop r20
  140. 137 0042 3F91 pop r19
  141. 138 0044 2F91 pop r18
  142. 139 0046 0F90 pop r0
  143. 140 0048 0BBE out __RAMPZ__,r0
  144. 141 004a 0F90 pop r0
  145. 142 004c 0FBE out __SREG__,r0
  146. 143 004e 0F90 pop r0
  147. 144 0050 1F90 pop r1
  148. 145 0052 1895 reti
  149. 146 .size __vector_39, .-__vector_39
  150. 147 .global sig_2WIRE_SERIAL
  151. 148 .data
  152. 149 .type sig_2WIRE_SERIAL, @object
  153. 150 .size sig_2WIRE_SERIAL, 6
  154. 151 sig_2WIRE_SERIAL:
  155. 152 0000 0000 .word 0
  156. 153 0002 0000 .word 0
  157. 154 0004 0000 .word gs(AvrTwiIrqCtl)
  158. 155 .ident "GCC: (GNU) 5.3.0"
  159. 156 .global __do_copy_data
  160. GAS LISTING /tmp/cc3yRnYy.s page 4
  161. DEFINED SYMBOLS
  162. *ABS*:0000000000000000 ih_twi.c
  163. /tmp/cc3yRnYy.s:2 *ABS*:000000000000003e __SP_H__
  164. /tmp/cc3yRnYy.s:3 *ABS*:000000000000003d __SP_L__
  165. /tmp/cc3yRnYy.s:4 *ABS*:000000000000003f __SREG__
  166. /tmp/cc3yRnYy.s:5 *ABS*:000000000000003b __RAMPZ__
  167. /tmp/cc3yRnYy.s:6 *ABS*:0000000000000000 __tmp_reg__
  168. /tmp/cc3yRnYy.s:7 *ABS*:0000000000000001 __zero_reg__
  169. /tmp/cc3yRnYy.s:10 .text.AvrTwiIrqCtl:0000000000000000 AvrTwiIrqCtl
  170. /tmp/cc3yRnYy.s:99 .text.__vector_39:0000000000000000 __vector_39
  171. /tmp/cc3yRnYy.s:151 .data:0000000000000000 sig_2WIRE_SERIAL
  172. UNDEFINED SYMBOLS
  173. CallHandler
  174. __do_copy_data