| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350 |
- GAS LISTING /tmp/cczovDNO.s page 1
- 1 .file "cgi.c"
- 2 __SP_H__ = 0x3e
- 3 __SP_L__ = 0x3d
- 4 __SREG__ = 0x3f
- 5 __RAMPZ__ = 0x3b
- 6 __tmp_reg__ = 0
- 7 __zero_reg__ = 1
- 8 .section .text.NutRegisterCgiBinPath,"ax",@progbits
- 9 .global NutRegisterCgiBinPath
- 10 .type NutRegisterCgiBinPath, @function
- 11 NutRegisterCgiBinPath:
- 12 0000 CF93 push r28
- 13 0002 DF93 push r29
- 14 /* prologue: function */
- 15 /* frame size = 0 */
- 16 /* stack size = 2 */
- 17 .L__stack_usage = 2
- 18 0004 EC01 movw r28,r24
- 19 0006 8091 0000 lds r24,cgiBinPath
- 20 000a 9091 0000 lds r25,cgiBinPath+1
- 21 000e 0097 sbiw r24,0
- 22 0010 01F0 breq .L2
- 23 0012 0E94 0000 call free
- 24 .L2:
- 25 0016 CE01 movw r24,r28
- 26 0018 0E94 0000 call strdup
- 27 001c 9093 0000 sts cgiBinPath+1,r25
- 28 0020 8093 0000 sts cgiBinPath,r24
- 29 /* epilogue start */
- 30 0024 DF91 pop r29
- 31 0026 CF91 pop r28
- 32 0028 0895 ret
- 33 .size NutRegisterCgiBinPath, .-NutRegisterCgiBinPath
- 34 .section .text.NutRegisterCgi,"ax",@progbits
- 35 .global NutRegisterCgi
- 36 .type NutRegisterCgi, @function
- 37 NutRegisterCgi:
- 38 0000 EF92 push r14
- 39 0002 FF92 push r15
- 40 0004 0F93 push r16
- 41 0006 1F93 push r17
- 42 0008 CF93 push r28
- 43 000a DF93 push r29
- 44 /* prologue: function */
- 45 /* frame size = 0 */
- 46 /* stack size = 6 */
- 47 .L__stack_usage = 6
- 48 000c 8C01 movw r16,r24
- 49 000e 7B01 movw r14,r22
- 50 0010 C091 0000 lds r28,cgiFunctionList
- 51 0014 D091 0000 lds r29,cgiFunctionList+1
- 52 .L8:
- 53 0018 2097 sbiw r28,0
- 54 001a 01F0 breq .L21
- 55 001c 6A81 ldd r22,Y+2
- 56 001e 7B81 ldd r23,Y+3
- 57 0020 C801 movw r24,r16
- GAS LISTING /tmp/cczovDNO.s page 2
- 58 0022 0E94 0000 call strcmp
- 59 0026 892B or r24,r25
- 60 0028 01F4 brne .L9
- 61 .L13:
- 62 002a 8FEF ldi r24,lo8(-1)
- 63 002c 9FEF ldi r25,lo8(-1)
- 64 002e 00C0 rjmp .L18
- 65 .L9:
- 66 0030 0990 ld __tmp_reg__,Y+
- 67 0032 D881 ld r29,Y
- 68 0034 C02D mov r28,__tmp_reg__
- 69 0036 00C0 rjmp .L8
- 70 .L21:
- 71 0038 86E0 ldi r24,lo8(6)
- 72 003a 90E0 ldi r25,0
- 73 003c 0E94 0000 call malloc
- 74 0040 EC01 movw r28,r24
- 75 0042 892B or r24,r25
- 76 0044 01F0 breq .L13
- 77 0046 8091 0000 lds r24,cgiFunctionList
- 78 004a 9091 0000 lds r25,cgiFunctionList+1
- 79 004e 9983 std Y+1,r25
- 80 0050 8883 st Y,r24
- 81 0052 C801 movw r24,r16
- 82 0054 0E94 0000 call strdup
- 83 0058 9B83 std Y+3,r25
- 84 005a 8A83 std Y+2,r24
- 85 005c FD82 std Y+5,r15
- 86 005e EC82 std Y+4,r14
- 87 0060 D093 0000 sts cgiFunctionList+1,r29
- 88 0064 C093 0000 sts cgiFunctionList,r28
- 89 0068 80E0 ldi r24,0
- 90 006a 90E0 ldi r25,0
- 91 .L18:
- 92 /* epilogue start */
- 93 006c DF91 pop r29
- 94 006e CF91 pop r28
- 95 0070 1F91 pop r17
- 96 0072 0F91 pop r16
- 97 0074 FF90 pop r15
- 98 0076 EF90 pop r14
- 99 0078 0895 ret
- 100 .size NutRegisterCgi, .-NutRegisterCgi
- 101 .section .text.NutCgiProcessRequest,"ax",@progbits
- 102 .global NutCgiProcessRequest
- 103 .type NutCgiProcessRequest, @function
- 104 NutCgiProcessRequest:
- 105 0000 CF92 push r12
- 106 0002 DF92 push r13
- 107 0004 EF92 push r14
- 108 0006 FF92 push r15
- 109 0008 0F93 push r16
- 110 000a 1F93 push r17
- 111 000c CF93 push r28
- 112 000e DF93 push r29
- 113 /* prologue: function */
- 114 /* frame size = 0 */
- GAS LISTING /tmp/cczovDNO.s page 3
- 115 /* stack size = 8 */
- 116 .L__stack_usage = 8
- 117 0010 7C01 movw r14,r24
- 118 0012 EB01 movw r28,r22
- 119 0014 6A01 movw r12,r20
- 120 0016 8881 ld r24,Y
- 121 0018 9981 ldd r25,Y+1
- 122 001a 0197 sbiw r24,1
- 123 001c 0297 sbiw r24,2
- 124 001e 00F0 brlo .L23
- 125 0020 45EF ldi r20,lo8(-11)
- 126 0022 51E0 ldi r21,lo8(1)
- 127 0024 00C0 rjmp .L31
- 128 .L23:
- 129 0026 0091 0000 lds r16,cgiFunctionList
- 130 002a 1091 0000 lds r17,cgiFunctionList+1
- 131 .L24:
- 132 002e 0115 cp r16,__zero_reg__
- 133 0030 1105 cpc r17,__zero_reg__
- 134 0032 01F0 breq .L32
- 135 0034 6885 ldd r22,Y+8
- 136 0036 7985 ldd r23,Y+9
- 137 0038 6C0D add r22,r12
- 138 003a 7D1D adc r23,r13
- 139 003c D801 movw r26,r16
- 140 003e 1296 adiw r26,2
- 141 0040 8D91 ld r24,X+
- 142 0042 9C91 ld r25,X
- 143 0044 1397 sbiw r26,2+1
- 144 0046 0E94 0000 call strcasecmp
- 145 004a 892B or r24,r25
- 146 004c 01F0 breq .L25
- 147 004e F801 movw r30,r16
- 148 0050 0081 ld r16,Z
- 149 0052 1181 ldd r17,Z+1
- 150 0054 00C0 rjmp .L24
- 151 .L32:
- 152 0056 44E9 ldi r20,lo8(-108)
- 153 0058 51E0 ldi r21,lo8(1)
- 154 .L31:
- 155 005a BE01 movw r22,r28
- 156 005c C701 movw r24,r14
- 157 /* epilogue start */
- 158 005e DF91 pop r29
- 159 0060 CF91 pop r28
- 160 0062 1F91 pop r17
- 161 0064 0F91 pop r16
- 162 0066 FF90 pop r15
- 163 0068 EF90 pop r14
- 164 006a DF90 pop r13
- 165 006c CF90 pop r12
- 166 006e 0C94 0000 jmp NutHttpSendError
- 167 .L25:
- 168 0072 D801 movw r26,r16
- 169 0074 1496 adiw r26,4
- 170 0076 ED91 ld r30,X+
- 171 0078 FC91 ld r31,X
- GAS LISTING /tmp/cczovDNO.s page 4
- 172 007a 1597 sbiw r26,4+1
- 173 007c BE01 movw r22,r28
- 174 007e C701 movw r24,r14
- 175 0080 1995 eicall
- 176 0082 892B or r24,r25
- 177 0084 01F0 breq .L33
- 178 0086 44EF ldi r20,lo8(-12)
- 179 0088 51E0 ldi r21,lo8(1)
- 180 008a 00C0 rjmp .L31
- 181 .L33:
- 182 /* epilogue start */
- 183 008c DF91 pop r29
- 184 008e CF91 pop r28
- 185 0090 1F91 pop r17
- 186 0092 0F91 pop r16
- 187 0094 FF90 pop r15
- 188 0096 EF90 pop r14
- 189 0098 DF90 pop r13
- 190 009a CF90 pop r12
- 191 009c 0895 ret
- 192 .size NutCgiProcessRequest, .-NutCgiProcessRequest
- 193 .section .rodata.str1.1,"aMS",@progbits,1
- 194 .LC0:
- 195 0000 6367 692D .string "cgi-bin/"
- 195 6269 6E2F
- 195 00
- 196 .section .text.NutCgiCheckRequest,"ax",@progbits
- 197 .global NutCgiCheckRequest
- 198 .type NutCgiCheckRequest, @function
- 199 NutCgiCheckRequest:
- 200 0000 CF92 push r12
- 201 0002 DF92 push r13
- 202 0004 EF92 push r14
- 203 0006 FF92 push r15
- 204 0008 0F93 push r16
- 205 000a 1F93 push r17
- 206 000c CF93 push r28
- 207 000e DF93 push r29
- 208 /* prologue: function */
- 209 /* frame size = 0 */
- 210 /* stack size = 8 */
- 211 .L__stack_usage = 8
- 212 0010 6C01 movw r12,r24
- 213 0012 7B01 movw r14,r22
- 214 0014 E091 0000 lds r30,cgiBinPath
- 215 0018 F091 0000 lds r31,cgiBinPath+1
- 216 001c 3097 sbiw r30,0
- 217 001e 01F4 brne .L40
- 218 0020 E0E0 ldi r30,lo8(.LC0)
- 219 0022 F0E0 ldi r31,hi8(.LC0)
- 220 0024 00C0 rjmp .L40
- 221 .L50:
- 222 0026 DE01 movw r26,r28
- 223 .L41:
- 224 0028 8D01 movw r16,r26
- 225 002a 0C1B sub r16,r28
- 226 002c 1D0B sbc r17,r29
- GAS LISTING /tmp/cczovDNO.s page 5
- 227 002e 8D91 ld r24,X+
- 228 0030 8111 cpse r24,__zero_reg__
- 229 0032 00C0 rjmp .L38
- 230 .L42:
- 231 0034 0115 cp r16,__zero_reg__
- 232 0036 1105 cpc r17,__zero_reg__
- 233 0038 01F4 brne .L49
- 234 .L40:
- 235 003a 8081 ld r24,Z
- 236 003c 8823 tst r24
- 237 003e 01F0 breq .L47
- 238 0040 EF01 movw r28,r30
- 239 .L37:
- 240 0042 FE01 movw r30,r28
- 241 0044 9E01 movw r18,r28
- 242 0046 2F5F subi r18,-1
- 243 0048 3F4F sbci r19,-1
- 244 004a 8881 ld r24,Y
- 245 004c 8B33 cpi r24,lo8(59)
- 246 004e 01F4 brne .L50
- 247 0050 E901 movw r28,r18
- 248 0052 00C0 rjmp .L37
- 249 .L38:
- 250 0054 8B33 cpi r24,lo8(59)
- 251 0056 01F4 brne .L41
- 252 0058 00C0 rjmp .L42
- 253 .L49:
- 254 005a A801 movw r20,r16
- 255 005c BE01 movw r22,r28
- 256 005e F701 movw r30,r14
- 257 0060 8085 ldd r24,Z+8
- 258 0062 9185 ldd r25,Z+9
- 259 0064 0E94 0000 call strncasecmp
- 260 0068 892B or r24,r25
- 261 006a 01F4 brne .L43
- 262 006c A801 movw r20,r16
- 263 006e B701 movw r22,r14
- 264 0070 C601 movw r24,r12
- 265 0072 0E94 0000 call NutCgiProcessRequest
- 266 0076 81E0 ldi r24,lo8(1)
- 267 0078 90E0 ldi r25,0
- 268 007a 00C0 rjmp .L44
- 269 .L43:
- 270 007c FE01 movw r30,r28
- 271 007e E00F add r30,r16
- 272 0080 F11F adc r31,r17
- 273 0082 00C0 rjmp .L40
- 274 .L47:
- 275 0084 80E0 ldi r24,0
- 276 0086 90E0 ldi r25,0
- 277 .L44:
- 278 /* epilogue start */
- 279 0088 DF91 pop r29
- 280 008a CF91 pop r28
- 281 008c 1F91 pop r17
- 282 008e 0F91 pop r16
- 283 0090 FF90 pop r15
- GAS LISTING /tmp/cczovDNO.s page 6
- 284 0092 EF90 pop r14
- 285 0094 DF90 pop r13
- 286 0096 CF90 pop r12
- 287 0098 0895 ret
- 288 .size NutCgiCheckRequest, .-NutCgiCheckRequest
- 289 .global cgiBinPath
- 290 .section .bss
- 291 .type cgiBinPath, @object
- 292 .size cgiBinPath, 2
- 293 cgiBinPath:
- 294 0000 0000 .zero 2
- 295 .global cgiFunctionList
- 296 .type cgiFunctionList, @object
- 297 .size cgiFunctionList, 2
- 298 cgiFunctionList:
- 299 0002 0000 .zero 2
- 300 .ident "GCC: (GNU) 5.3.0"
- 301 .global __do_copy_data
- 302 .global __do_clear_bss
- GAS LISTING /tmp/cczovDNO.s page 7
- DEFINED SYMBOLS
- *ABS*:0000000000000000 cgi.c
- /tmp/cczovDNO.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/cczovDNO.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/cczovDNO.s:4 *ABS*:000000000000003f __SREG__
- /tmp/cczovDNO.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/cczovDNO.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/cczovDNO.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/cczovDNO.s:11 .text.NutRegisterCgiBinPath:0000000000000000 NutRegisterCgiBinPath
- /tmp/cczovDNO.s:293 .bss:0000000000000000 cgiBinPath
- /tmp/cczovDNO.s:37 .text.NutRegisterCgi:0000000000000000 NutRegisterCgi
- /tmp/cczovDNO.s:298 .bss:0000000000000002 cgiFunctionList
- /tmp/cczovDNO.s:104 .text.NutCgiProcessRequest:0000000000000000 NutCgiProcessRequest
- /tmp/cczovDNO.s:199 .text.NutCgiCheckRequest:0000000000000000 NutCgiCheckRequest
- UNDEFINED SYMBOLS
- free
- strdup
- strcmp
- malloc
- strcasecmp
- NutHttpSendError
- strncasecmp
- __do_copy_data
- __do_clear_bss
|