dencode.lst 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. GAS LISTING /tmp/ccAHWohQ.s page 1
  2. 1 .file "dencode.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.NutDecodeHex,"ax",@progbits
  10. 9 .global NutDecodeHex
  11. 10 .type NutDecodeHex, @function
  12. 11 NutDecodeHex:
  13. 12 /* prologue: function */
  14. 13 /* frame size = 0 */
  15. 14 /* stack size = 0 */
  16. 15 .L__stack_usage = 0
  17. 16 0000 90ED ldi r25,lo8(-48)
  18. 17 0002 980F add r25,r24
  19. 18 0004 9A30 cpi r25,lo8(10)
  20. 19 0006 00F4 brsh .L2
  21. 20 0008 082E mov __tmp_reg__,r24
  22. 21 000a 000C lsl r0
  23. 22 000c 990B sbc r25,r25
  24. 23 000e C097 sbiw r24,48
  25. 24 0010 0895 ret
  26. 25 .L2:
  27. 26 0012 9FE9 ldi r25,lo8(-97)
  28. 27 0014 980F add r25,r24
  29. 28 0016 9630 cpi r25,lo8(6)
  30. 29 0018 00F4 brsh .L4
  31. 30 001a 082E mov __tmp_reg__,r24
  32. 31 001c 000C lsl r0
  33. 32 001e 990B sbc r25,r25
  34. 33 0020 8755 subi r24,87
  35. 34 0022 9109 sbc r25,__zero_reg__
  36. 35 0024 0895 ret
  37. 36 .L4:
  38. 37 0026 9FEB ldi r25,lo8(-65)
  39. 38 0028 980F add r25,r24
  40. 39 002a 9630 cpi r25,lo8(6)
  41. 40 002c 00F4 brsh .L5
  42. 41 002e 082E mov __tmp_reg__,r24
  43. 42 0030 000C lsl r0
  44. 43 0032 990B sbc r25,r25
  45. 44 0034 C797 sbiw r24,55
  46. 45 0036 0895 ret
  47. 46 .L5:
  48. 47 0038 8FEF ldi r24,lo8(-1)
  49. 48 003a 9FEF ldi r25,lo8(-1)
  50. 49 003c 0895 ret
  51. 50 .size NutDecodeHex, .-NutDecodeHex
  52. 51 .section .text.NutDecodePath,"ax",@progbits
  53. 52 .global NutDecodePath
  54. 53 .type NutDecodePath, @function
  55. 54 NutDecodePath:
  56. 55 0000 8F92 push r8
  57. 56 0002 9F92 push r9
  58. 57 0004 AF92 push r10
  59. GAS LISTING /tmp/ccAHWohQ.s page 2
  60. 58 0006 BF92 push r11
  61. 59 0008 CF92 push r12
  62. 60 000a DF92 push r13
  63. 61 000c EF92 push r14
  64. 62 000e FF92 push r15
  65. 63 0010 0F93 push r16
  66. 64 0012 1F93 push r17
  67. 65 0014 CF93 push r28
  68. 66 0016 DF93 push r29
  69. 67 /* prologue: function */
  70. 68 /* frame size = 0 */
  71. 69 /* stack size = 12 */
  72. 70 .L__stack_usage = 12
  73. 71 0018 8C01 movw r16,r24
  74. 72 001a FC01 movw r30,r24
  75. 73 001c B080 ld r11,Z
  76. 74 001e FFE2 ldi r31,lo8(47)
  77. 75 0020 BF12 cpse r11,r31
  78. 76 0022 00C0 rjmp .L16
  79. 77 0024 6C01 movw r12,r24
  80. 78 0026 EC01 movw r28,r24
  81. 79 0028 8FE2 ldi r24,lo8(47)
  82. 80 002a A82E mov r10,r24
  83. 81 .L9:
  84. 82 002c 7E01 movw r14,r28
  85. 83 002e 9FEF ldi r25,-1
  86. 84 0030 E91A sub r14,r25
  87. 85 0032 F90A sbc r15,r25
  88. 86 0034 8981 ldd r24,Y+1
  89. 87 0036 8823 tst r24
  90. 88 0038 01F0 breq .L15
  91. 89 003a 8532 cpi r24,lo8(37)
  92. 90 003c 01F4 brne .L10
  93. 91 003e 8A81 ldd r24,Y+2
  94. 92 0040 0E94 0000 call NutDecodeHex
  95. 93 0044 4C01 movw r8,r24
  96. 94 0046 97FD sbrc r25,7
  97. 95 0048 00C0 rjmp .L10
  98. 96 004a 8B81 ldd r24,Y+3
  99. 97 004c 0E94 0000 call NutDecodeHex
  100. 98 0050 97FD sbrc r25,7
  101. 99 0052 00C0 rjmp .L10
  102. 100 0054 7E01 movw r14,r28
  103. 101 0056 23E0 ldi r18,3
  104. 102 0058 E20E add r14,r18
  105. 103 005a F11C adc r15,__zero_reg__
  106. 104 005c E0E1 ldi r30,lo8(16)
  107. 105 005e 8E9E mul r8,r30
  108. 106 0060 800D add r24,r0
  109. 107 0062 1124 clr __zero_reg__
  110. 108 0064 8B83 std Y+3,r24
  111. 109 0066 8111 cpse r24,__zero_reg__
  112. 110 0068 00C0 rjmp .L10
  113. 111 .L15:
  114. 112 006a F601 movw r30,r12
  115. 113 006c 1082 st Z,__zero_reg__
  116. 114 006e C801 movw r24,r16
  117. GAS LISTING /tmp/ccAHWohQ.s page 3
  118. 115 0070 00C0 rjmp .L8
  119. 116 .L10:
  120. 117 0072 F701 movw r30,r14
  121. 118 0074 8081 ld r24,Z
  122. 119 0076 8C35 cpi r24,lo8(92)
  123. 120 0078 01F4 brne .L11
  124. 121 007a A082 st Z,r10
  125. 122 .L11:
  126. 123 007c F701 movw r30,r14
  127. 124 007e 9081 ld r25,Z
  128. 125 0080 82ED ldi r24,lo8(-46)
  129. 126 0082 8B0D add r24,r11
  130. 127 0084 8230 cpi r24,lo8(2)
  131. 128 0086 00F4 brsh .L12
  132. 129 0088 82ED ldi r24,lo8(-46)
  133. 130 008a 890F add r24,r25
  134. 131 008c 8230 cpi r24,lo8(2)
  135. 132 008e 00F0 brlo .L13
  136. 133 .L12:
  137. 134 0090 B92E mov r11,r25
  138. 135 0092 F601 movw r30,r12
  139. 136 0094 9083 st Z,r25
  140. 137 0096 C601 movw r24,r12
  141. 138 0098 0196 adiw r24,1
  142. 139 009a 6C01 movw r12,r24
  143. 140 .L13:
  144. 141 009c E701 movw r28,r14
  145. 142 009e 00C0 rjmp .L9
  146. 143 .L16:
  147. 144 00a0 80E0 ldi r24,0
  148. 145 00a2 90E0 ldi r25,0
  149. 146 .L8:
  150. 147 /* epilogue start */
  151. 148 00a4 DF91 pop r29
  152. 149 00a6 CF91 pop r28
  153. 150 00a8 1F91 pop r17
  154. 151 00aa 0F91 pop r16
  155. 152 00ac FF90 pop r15
  156. 153 00ae EF90 pop r14
  157. 154 00b0 DF90 pop r13
  158. 155 00b2 CF90 pop r12
  159. 156 00b4 BF90 pop r11
  160. 157 00b6 AF90 pop r10
  161. 158 00b8 9F90 pop r9
  162. 159 00ba 8F90 pop r8
  163. 160 00bc 0895 ret
  164. 161 .size NutDecodePath, .-NutDecodePath
  165. 162 .ident "GCC: (GNU) 5.3.0"
  166. GAS LISTING /tmp/ccAHWohQ.s page 4
  167. DEFINED SYMBOLS
  168. *ABS*:0000000000000000 dencode.c
  169. /tmp/ccAHWohQ.s:2 *ABS*:000000000000003e __SP_H__
  170. /tmp/ccAHWohQ.s:3 *ABS*:000000000000003d __SP_L__
  171. /tmp/ccAHWohQ.s:4 *ABS*:000000000000003f __SREG__
  172. /tmp/ccAHWohQ.s:5 *ABS*:000000000000003b __RAMPZ__
  173. /tmp/ccAHWohQ.s:6 *ABS*:0000000000000000 __tmp_reg__
  174. /tmp/ccAHWohQ.s:7 *ABS*:0000000000000001 __zero_reg__
  175. /tmp/ccAHWohQ.s:11 .text.NutDecodeHex:0000000000000000 NutDecodeHex
  176. /tmp/ccAHWohQ.s:54 .text.NutDecodePath:0000000000000000 NutDecodePath
  177. NO UNDEFINED SYMBOLS