| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462 |
- GAS LISTING /tmp/ccHlcPJ9.s page 1
- 1 .file "ssi.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.NutSsiSkipWhitespace,"ax",@progbits
- 9 .type NutSsiSkipWhitespace, @function
- 10 NutSsiSkipWhitespace:
- 11 /* prologue: function */
- 12 /* frame size = 0 */
- 13 /* stack size = 0 */
- 14 .L__stack_usage = 0
- 15 0000 FC01 movw r30,r24
- 16 .L2:
- 17 0002 DB01 movw r26,r22
- 18 0004 2D91 ld r18,X+
- 19 0006 3C91 ld r19,X
- 20 0008 2417 cp r18,r20
- 21 000a 3507 cpc r19,r21
- 22 000c 00F4 brsh .L1
- 23 000e DF01 movw r26,r30
- 24 0010 A20F add r26,r18
- 25 0012 B31F adc r27,r19
- 26 0014 9C91 ld r25,X
- 27 0016 9D30 cpi r25,lo8(13)
- 28 0018 01F4 brne .L12
- 29 .L4:
- 30 001a 2F5F subi r18,-1
- 31 001c 3F4F sbci r19,-1
- 32 001e DB01 movw r26,r22
- 33 0020 2D93 st X+,r18
- 34 0022 3C93 st X,r19
- 35 0024 00C0 rjmp .L2
- 36 .L12:
- 37 0026 87EF ldi r24,lo8(-9)
- 38 0028 890F add r24,r25
- 39 002a 8230 cpi r24,lo8(2)
- 40 002c 00F0 brlo .L4
- 41 002e 9032 cpi r25,lo8(32)
- 42 0030 01F0 breq .L4
- 43 .L1:
- 44 0032 0895 ret
- 45 .size NutSsiSkipWhitespace, .-NutSsiSkipWhitespace
- 46 .section .rodata.str1.1,"aMS",@progbits,1
- 47 .LC0:
- 48 0000 6367 692D .string "cgi-bin/"
- 48 6269 6E2F
- 48 00
- 49 .LC1:
- 50 0009 2451 5545 .string "$QUERY_STRING"
- 50 5259 5F53
- 50 5452 494E
- 50 4700
- 51 .LC2:
- 52 0017 2600 .string "&"
- GAS LISTING /tmp/ccHlcPJ9.s page 2
- 53 .LC3:
- 54 0019 3D00 .string "="
- 55 .section .text.unlikely.NutSsiProcessVirtual,"ax",@progbits
- 56 .type NutSsiProcessVirtual, @function
- 57 NutSsiProcessVirtual:
- 58 0000 4F92 push r4
- 59 0002 5F92 push r5
- 60 0004 6F92 push r6
- 61 0006 7F92 push r7
- 62 0008 8F92 push r8
- 63 000a 9F92 push r9
- 64 000c AF92 push r10
- 65 000e BF92 push r11
- 66 0010 CF92 push r12
- 67 0012 DF92 push r13
- 68 0014 EF92 push r14
- 69 0016 FF92 push r15
- 70 0018 0F93 push r16
- 71 001a 1F93 push r17
- 72 001c CF93 push r28
- 73 001e DF93 push r29
- 74 /* prologue: function */
- 75 /* frame size = 0 */
- 76 /* stack size = 16 */
- 77 .L__stack_usage = 16
- 78 0020 D82F mov r29,r24
- 79 0022 C92F mov r28,r25
- 80 0024 B62E mov r11,r22
- 81 0026 A72E mov r10,r23
- 82 0028 4A01 movw r8,r20
- 83 002a 8901 movw r16,r18
- 84 002c C090 0000 lds r12,cgiBinPath
- 85 0030 D090 0000 lds r13,cgiBinPath+1
- 86 0034 C114 cp r12,__zero_reg__
- 87 0036 D104 cpc r13,__zero_reg__
- 88 0038 01F4 brne .L14
- 89 003a E0E0 ldi r30,lo8(.LC0)
- 90 003c CE2E mov r12,r30
- 91 003e E0E0 ldi r30,hi8(.LC0)
- 92 0040 DE2E mov r13,r30
- 93 .L14:
- 94 0042 8B2D mov r24,r11
- 95 0044 9A2D mov r25,r10
- 96 0046 0E94 0000 call NutDecodePath
- 97 004a 892B or r24,r25
- 98 004c 01F4 brne .L68
- 99 004e 80E0 ldi r24,lo8(rsp_bad_req_P)
- 100 0050 90E0 ldi r25,hi8(rsp_bad_req_P)
- 101 0052 00C0 rjmp .L80
- 102 .L86:
- 103 0054 F701 movw r30,r14
- 104 .L19:
- 105 0056 6F01 movw r12,r30
- 106 0058 CE18 sub r12,r14
- 107 005a DF08 sbc r13,r15
- 108 005c 8191 ld r24,Z+
- 109 005e 8111 cpse r24,__zero_reg__
- GAS LISTING /tmp/ccHlcPJ9.s page 3
- 110 0060 00C0 rjmp .L85
- 111 .L18:
- 112 0062 C114 cp r12,__zero_reg__
- 113 0064 D104 cpc r13,__zero_reg__
- 114 0066 01F0 breq .L20
- 115 0068 A601 movw r20,r12
- 116 006a B701 movw r22,r14
- 117 006c 8B2D mov r24,r11
- 118 006e 9A2D mov r25,r10
- 119 0070 0E94 0000 call strncasecmp
- 120 0074 892B or r24,r25
- 121 0076 01F4 brne .L20
- 122 0078 64E2 ldi r22,lo8(36)
- 123 007a 70E0 ldi r23,0
- 124 007c 81E0 ldi r24,lo8(1)
- 125 007e 90E0 ldi r25,0
- 126 0080 0E94 0000 call calloc
- 127 0084 7C01 movw r14,r24
- 128 0086 892B or r24,r25
- 129 0088 01F4 brne .L21
- 130 .L38:
- 131 008a 80E0 ldi r24,lo8(rsp_intern_err_P)
- 132 008c 90E0 ldi r25,hi8(rsp_intern_err_P)
- 133 .L80:
- 134 008e 9F93 push r25
- 135 0090 8F93 push r24
- 136 0092 CF93 push r28
- 137 0094 DF93 push r29
- 138 0096 0E94 0000 call fprintf_P
- 139 009a 0F90 pop __tmp_reg__
- 140 009c 0F90 pop __tmp_reg__
- 141 009e 0F90 pop __tmp_reg__
- 142 00a0 0F90 pop __tmp_reg__
- 143 00a2 00C0 rjmp .L13
- 144 .L20:
- 145 00a4 CE0C add r12,r14
- 146 00a6 DF1C adc r13,r15
- 147 00a8 F601 movw r30,r12
- 148 00aa 8081 ld r24,Z
- 149 00ac 8823 tst r24
- 150 00ae 01F4 brne .+2
- 151 00b0 00C0 rjmp .L37
- 152 00b2 EF28 or r14,r15
- 153 00b4 01F4 brne .+2
- 154 00b6 00C0 rjmp .L37
- 155 .L68:
- 156 00b8 7601 movw r14,r12
- 157 .L17:
- 158 00ba 9701 movw r18,r14
- 159 00bc 2F5F subi r18,-1
- 160 00be 3F4F sbci r19,-1
- 161 00c0 D701 movw r26,r14
- 162 00c2 8C91 ld r24,X
- 163 00c4 8B33 cpi r24,lo8(59)
- 164 00c6 01F4 brne .L86
- 165 00c8 7901 movw r14,r18
- 166 00ca 00C0 rjmp .L17
- GAS LISTING /tmp/ccHlcPJ9.s page 4
- 167 .L85:
- 168 00cc 8B33 cpi r24,lo8(59)
- 169 00ce 01F4 brne .L19
- 170 00d0 00C0 rjmp .L18
- 171 .L21:
- 172 00d2 81E0 ldi r24,lo8(1)
- 173 00d4 90E0 ldi r25,0
- 174 00d6 F701 movw r30,r14
- 175 00d8 9183 std Z+1,r25
- 176 00da 8083 st Z,r24
- 177 00dc D801 movw r26,r16
- 178 00de 1296 adiw r26,2
- 179 00e0 8D91 ld r24,X+
- 180 00e2 9C91 ld r25,X
- 181 00e4 1397 sbiw r26,2+1
- 182 00e6 9383 std Z+3,r25
- 183 00e8 8283 std Z+2,r24
- 184 00ea 1482 std Z+4,__zero_reg__
- 185 00ec 1582 std Z+5,__zero_reg__
- 186 00ee 1682 std Z+6,__zero_reg__
- 187 00f0 1782 std Z+7,__zero_reg__
- 188 00f2 5296 adiw r26,18
- 189 00f4 8D91 ld r24,X+
- 190 00f6 9C91 ld r25,X
- 191 00f8 5397 sbiw r26,18+1
- 192 00fa 0097 sbiw r24,0
- 193 00fc 01F0 breq .L22
- 194 00fe 0E94 0000 call strdup
- 195 0102 D701 movw r26,r14
- 196 0104 5396 adiw r26,18+1
- 197 0106 9C93 st X,r25
- 198 0108 8E93 st -X,r24
- 199 010a 5297 sbiw r26,18
- 200 010c 892B or r24,r25
- 201 010e 01F4 brne .+2
- 202 0110 00C0 rjmp .L84
- 203 .L22:
- 204 0112 F801 movw r30,r16
- 205 0114 8685 ldd r24,Z+14
- 206 0116 9785 ldd r25,Z+15
- 207 0118 0097 sbiw r24,0
- 208 011a 01F0 breq .L23
- 209 011c 0E94 0000 call strdup
- 210 0120 D701 movw r26,r14
- 211 0122 1F96 adiw r26,14+1
- 212 0124 9C93 st X,r25
- 213 0126 8E93 st -X,r24
- 214 0128 1E97 sbiw r26,14
- 215 012a 892B or r24,r25
- 216 012c 01F4 brne .+2
- 217 012e 00C0 rjmp .L84
- 218 .L23:
- 219 0130 6FE3 ldi r22,lo8(63)
- 220 0132 70E0 ldi r23,0
- 221 0134 8B2D mov r24,r11
- 222 0136 9A2D mov r25,r10
- 223 0138 0E94 0000 call strchr
- GAS LISTING /tmp/ccHlcPJ9.s page 5
- 224 013c 0097 sbiw r24,0
- 225 013e 01F4 brne .+2
- 226 0140 00C0 rjmp .L24
- 227 0142 4C01 movw r8,r24
- 228 0144 BFEF ldi r27,-1
- 229 0146 8B1A sub r8,r27
- 230 0148 9B0A sbc r9,r27
- 231 014a FC01 movw r30,r24
- 232 014c 1082 st Z,__zero_reg__
- 233 014e 60E0 ldi r22,lo8(.LC1)
- 234 0150 70E0 ldi r23,hi8(.LC1)
- 235 0152 C401 movw r24,r8
- 236 0154 0E94 0000 call strcmp
- 237 0158 892B or r24,r25
- 238 015a 01F0 breq .+2
- 239 015c 00C0 rjmp .L25
- 240 015e D801 movw r26,r16
- 241 0160 5696 adiw r26,22
- 242 0162 8D90 ld r8,X+
- 243 0164 9C90 ld r9,X
- 244 0166 5797 sbiw r26,22+1
- 245 0168 880C lsl r8
- 246 016a 991C rol r9
- 247 016c 81E0 ldi r24,lo8(1)
- 248 016e 90E0 ldi r25,0
- 249 0170 20E0 ldi r18,0
- 250 0172 30E0 ldi r19,0
- 251 .L26:
- 252 0174 2815 cp r18,r8
- 253 0176 3905 cpc r19,r9
- 254 0178 04F4 brge .L87
- 255 017a A901 movw r20,r18
- 256 017c 440F lsl r20
- 257 017e 551F rol r21
- 258 0180 F801 movw r30,r16
- 259 0182 6489 ldd r22,Z+20
- 260 0184 7589 ldd r23,Z+21
- 261 0186 FB01 movw r30,r22
- 262 0188 E40F add r30,r20
- 263 018a F51F adc r31,r21
- 264 018c A081 ld r26,Z
- 265 018e B181 ldd r27,Z+1
- 266 0190 FD01 movw r30,r26
- 267 0:
- 268 0192 0190 ld __tmp_reg__,Z+
- 269 0194 0020 tst __tmp_reg__
- 270 0196 01F4 brne 0b
- 271 0198 EA1B sub r30,r26
- 272 019a FB0B sbc r31,r27
- 273 019c 8E0F add r24,r30
- 274 019e 9F1F adc r25,r31
- 275 01a0 2F5F subi r18,-1
- 276 01a2 3F4F sbci r19,-1
- 277 01a4 00C0 rjmp .L26
- 278 .L87:
- 279 01a6 0E94 0000 call malloc
- 280 01aa D701 movw r26,r14
- GAS LISTING /tmp/ccHlcPJ9.s page 6
- 281 01ac 1B96 adiw r26,10+1
- 282 01ae 9C93 st X,r25
- 283 01b0 8E93 st -X,r24
- 284 01b2 1A97 sbiw r26,10
- 285 01b4 0097 sbiw r24,0
- 286 01b6 01F4 brne .+2
- 287 01b8 00C0 rjmp .L84
- 288 01ba FC01 movw r30,r24
- 289 01bc 1082 st Z,__zero_reg__
- 290 01be 52E0 ldi r21,lo8(2)
- 291 01c0 652E mov r6,r21
- 292 01c2 712C mov r7,__zero_reg__
- 293 01c4 812C mov r8,__zero_reg__
- 294 01c6 912C mov r9,__zero_reg__
- 295 .L29:
- 296 01c8 D801 movw r26,r16
- 297 01ca 5696 adiw r26,22
- 298 01cc 8D91 ld r24,X+
- 299 01ce 9C91 ld r25,X
- 300 01d0 5797 sbiw r26,22+1
- 301 01d2 880F lsl r24
- 302 01d4 991F rol r25
- 303 01d6 8816 cp r8,r24
- 304 01d8 9906 cpc r9,r25
- 305 01da 04F0 brlt .+2
- 306 01dc 00C0 rjmp .L32
- 307 01de 8114 cp r8,__zero_reg__
- 308 01e0 9104 cpc r9,__zero_reg__
- 309 01e2 01F0 breq .L30
- 310 01e4 60E0 ldi r22,lo8(.LC2)
- 311 01e6 70E0 ldi r23,hi8(.LC2)
- 312 01e8 D701 movw r26,r14
- 313 01ea 1A96 adiw r26,10
- 314 01ec 8D91 ld r24,X+
- 315 01ee 9C91 ld r25,X
- 316 01f0 1B97 sbiw r26,10+1
- 317 01f2 0E94 0000 call strcat
- 318 .L30:
- 319 01f6 C401 movw r24,r8
- 320 01f8 880F lsl r24
- 321 01fa 991F rol r25
- 322 01fc D801 movw r26,r16
- 323 01fe 5496 adiw r26,20
- 324 0200 ED91 ld r30,X+
- 325 0202 FC91 ld r31,X
- 326 0204 5597 sbiw r26,20+1
- 327 0206 E80F add r30,r24
- 328 0208 F91F adc r31,r25
- 329 020a 6081 ld r22,Z
- 330 020c 7181 ldd r23,Z+1
- 331 020e F701 movw r30,r14
- 332 0210 8285 ldd r24,Z+10
- 333 0212 9385 ldd r25,Z+11
- 334 0214 0E94 0000 call strcat
- 335 0218 60E0 ldi r22,lo8(.LC3)
- 336 021a 70E0 ldi r23,hi8(.LC3)
- 337 021c D701 movw r26,r14
- GAS LISTING /tmp/ccHlcPJ9.s page 7
- 338 021e 1A96 adiw r26,10
- 339 0220 8D91 ld r24,X+
- 340 0222 9C91 ld r25,X
- 341 0224 1B97 sbiw r26,10+1
- 342 0226 0E94 0000 call strcat
- 343 022a D801 movw r26,r16
- 344 022c 5496 adiw r26,20
- 345 022e ED91 ld r30,X+
- 346 0230 FC91 ld r31,X
- 347 0232 5597 sbiw r26,20+1
- 348 0234 E60D add r30,r6
- 349 0236 F71D adc r31,r7
- 350 0238 6081 ld r22,Z
- 351 023a 7181 ldd r23,Z+1
- 352 023c F701 movw r30,r14
- 353 023e 8285 ldd r24,Z+10
- 354 0240 9385 ldd r25,Z+11
- 355 0242 0E94 0000 call strcat
- 356 0246 F2E0 ldi r31,2
- 357 0248 8F0E add r8,r31
- 358 024a 911C adc r9,__zero_reg__
- 359 024c 24E0 ldi r18,4
- 360 024e 620E add r6,r18
- 361 0250 711C adc r7,__zero_reg__
- 362 0252 00C0 rjmp .L29
- 363 .L25:
- 364 0254 C401 movw r24,r8
- 365 0256 0E94 0000 call strdup
- 366 025a F701 movw r30,r14
- 367 025c 9387 std Z+11,r25
- 368 025e 8287 std Z+10,r24
- 369 0260 892B or r24,r25
- 370 0262 01F0 breq .L84
- 371 .L32:
- 372 0264 C701 movw r24,r14
- 373 0266 0E94 0000 call NutHttpProcessQueryString
- 374 .L24:
- 375 026a 8B2D mov r24,r11
- 376 026c 9A2D mov r25,r10
- 377 026e 0E94 0000 call strdup
- 378 0272 D701 movw r26,r14
- 379 0274 1996 adiw r26,8+1
- 380 0276 9C93 st X,r25
- 381 0278 8E93 st -X,r24
- 382 027a 1897 sbiw r26,8
- 383 027c 892B or r24,r25
- 384 027e 01F4 brne .L33
- 385 .L84:
- 386 0280 80E0 ldi r24,lo8(rsp_intern_err_P)
- 387 0282 90E0 ldi r25,hi8(rsp_intern_err_P)
- 388 0284 9F93 push r25
- 389 0286 8F93 push r24
- 390 0288 CF93 push r28
- 391 028a DF93 push r29
- 392 028c 0E94 0000 call fprintf_P
- 393 0290 0F90 pop __tmp_reg__
- 394 0292 0F90 pop __tmp_reg__
- GAS LISTING /tmp/ccHlcPJ9.s page 8
- 395 0294 0F90 pop __tmp_reg__
- 396 0296 0F90 pop __tmp_reg__
- 397 0298 00C0 rjmp .L83
- 398 .L33:
- 399 029a A601 movw r20,r12
- 400 029c B701 movw r22,r14
- 401 029e 8D2F mov r24,r29
- 402 02a0 9C2F mov r25,r28
- 403 02a2 0E94 0000 call NutCgiProcessRequest
- 404 .L83:
- 405 02a6 C701 movw r24,r14
- 406 /* epilogue start */
- 407 02a8 DF91 pop r29
- 408 02aa CF91 pop r28
- 409 02ac 1F91 pop r17
- 410 02ae 0F91 pop r16
- 411 02b0 FF90 pop r15
- 412 02b2 EF90 pop r14
- 413 02b4 DF90 pop r13
- 414 02b6 CF90 pop r12
- 415 02b8 BF90 pop r11
- 416 02ba AF90 pop r10
- 417 02bc 9F90 pop r9
- 418 02be 8F90 pop r8
- 419 02c0 7F90 pop r7
- 420 02c2 6F90 pop r6
- 421 02c4 5F90 pop r5
- 422 02c6 4F90 pop r4
- 423 02c8 0C94 0000 jmp DestroyRequestInfo
- 424 .L37:
- 425 02cc 90E0 ldi r25,lo8(default_files)
- 426 02ce 692E mov r6,r25
- 427 02d0 90E0 ldi r25,hi8(default_files)
- 428 02d2 792E mov r7,r25
- 429 02d4 C12C mov r12,__zero_reg__
- 430 02d6 D12C mov r13,__zero_reg__
- 431 02d8 EE24 clr r14
- 432 02da EA94 dec r14
- 433 02dc FE2C mov r15,r14
- 434 02de 00C0 rjmp .L35
- 435 .L41:
- 436 02e0 8B2D mov r24,r11
- 437 02e2 9A2D mov r25,r10
- 438 02e4 0E94 0000 call CreateFilePath
- 439 02e8 6C01 movw r12,r24
- 440 02ea 0097 sbiw r24,0
- 441 02ec 01F4 brne .+2
- 442 02ee 00C0 rjmp .L38
- 443 02f0 60E0 ldi r22,0
- 444 02f2 70E8 ldi r23,lo8(-128)
- 445 02f4 0E94 0000 call _open
- 446 02f8 7C01 movw r14,r24
- 447 02fa 8F3F cpi r24,-1
- 448 02fc FFEF ldi r31,-1
- 449 02fe 9F07 cpc r25,r31
- 450 0300 01F4 brne .L88
- 451 .L39:
- GAS LISTING /tmp/ccHlcPJ9.s page 9
- 452 0302 C601 movw r24,r12
- 453 0304 0E94 0000 call free
- 454 .L35:
- 455 0308 D301 movw r26,r6
- 456 030a 6D91 ld r22,X+
- 457 030c 7D91 ld r23,X+
- 458 030e 3D01 movw r6,r26
- 459 0310 6115 cp r22,__zero_reg__
- 460 0312 7105 cpc r23,__zero_reg__
- 461 0314 01F4 brne .L41
- 462 0316 00C0 rjmp .L89
- 463 .L88:
- 464 0318 0E94 0000 call _filelength
- 465 031c 672B or r22,r23
- 466 031e 682B or r22,r24
- 467 0320 692B or r22,r25
- 468 0322 01F4 brne .L40
- 469 0324 C701 movw r24,r14
- 470 0326 0E94 0000 call _close
- 471 032a 00C0 rjmp .L39
- 472 .L89:
- 473 032c BFEF ldi r27,-1
- 474 032e EB16 cp r14,r27
- 475 0330 FB06 cpc r15,r27
- 476 0332 01F4 brne .L40
- 477 0334 AF92 push r10
- 478 0336 BF92 push r11
- 479 0338 80E0 ldi r24,lo8(rsp_not_found_P)
- 480 033a 90E0 ldi r25,hi8(rsp_not_found_P)
- 481 033c 9F93 push r25
- 482 033e 8F93 push r24
- 483 0340 CF93 push r28
- 484 0342 DF93 push r29
- 485 0344 0E94 0000 call fprintf_P
- 486 0348 0F90 pop __tmp_reg__
- 487 034a 0F90 pop __tmp_reg__
- 488 034c 0F90 pop __tmp_reg__
- 489 034e 0F90 pop __tmp_reg__
- 490 0350 0F90 pop __tmp_reg__
- 491 0352 0F90 pop __tmp_reg__
- 492 0354 00C0 rjmp .L13
- 493 .L40:
- 494 0356 C701 movw r24,r14
- 495 0358 0E94 0000 call _filelength
- 496 035c 2B01 movw r4,r22
- 497 035e 3C01 movw r6,r24
- 498 0360 C601 movw r24,r12
- 499 0362 0E94 0000 call NutGetMimeHandler
- 500 0366 5C01 movw r10,r24
- 501 0368 C601 movw r24,r12
- 502 036a 0E94 0000 call free
- 503 036e A114 cp r10,__zero_reg__
- 504 0370 B104 cpc r11,__zero_reg__
- 505 0372 01F4 brne .L42
- 506 0374 80E0 ldi r24,0
- 507 0376 92E0 ldi r25,lo8(2)
- 508 0378 0E94 0000 call malloc
- GAS LISTING /tmp/ccHlcPJ9.s page 10
- 509 037c 6C01 movw r12,r24
- 510 037e 892B or r24,r25
- 511 0380 01F0 breq .L43
- 512 0382 A12C mov r10,__zero_reg__
- 513 0384 82E0 ldi r24,lo8(2)
- 514 0386 B82E mov r11,r24
- 515 .L44:
- 516 0388 4114 cp r4,__zero_reg__
- 517 038a 5104 cpc r5,__zero_reg__
- 518 038c 6104 cpc r6,__zero_reg__
- 519 038e 7104 cpc r7,__zero_reg__
- 520 0390 01F0 breq .L48
- 521 0392 4114 cp r4,__zero_reg__
- 522 0394 E2E0 ldi r30,2
- 523 0396 5E06 cpc r5,r30
- 524 0398 6104 cpc r6,__zero_reg__
- 525 039a 7104 cpc r7,__zero_reg__
- 526 039c 04F4 brge .L45
- 527 039e 5201 movw r10,r4
- 528 .L45:
- 529 03a0 A501 movw r20,r10
- 530 03a2 B601 movw r22,r12
- 531 03a4 C701 movw r24,r14
- 532 03a6 0E94 0000 call _read
- 533 03aa 8C01 movw r16,r24
- 534 03ac 2D2F mov r18,r29
- 535 03ae 3C2F mov r19,r28
- 536 03b0 AC01 movw r20,r24
- 537 03b2 61E0 ldi r22,lo8(1)
- 538 03b4 70E0 ldi r23,0
- 539 03b6 C601 movw r24,r12
- 540 03b8 0E94 0000 call fwrite
- 541 03bc 892B or r24,r25
- 542 03be 01F4 brne .L46
- 543 .L48:
- 544 03c0 C601 movw r24,r12
- 545 03c2 0E94 0000 call free
- 546 03c6 00C0 rjmp .L43
- 547 .L46:
- 548 03c8 012E mov __tmp_reg__,r17
- 549 03ca 000C lsl r0
- 550 03cc 220B sbc r18,r18
- 551 03ce 330B sbc r19,r19
- 552 03d0 401A sub r4,r16
- 553 03d2 510A sbc r5,r17
- 554 03d4 620A sbc r6,r18
- 555 03d6 730A sbc r7,r19
- 556 03d8 00C0 rjmp .L44
- 557 .L42:
- 558 03da 9401 movw r18,r8
- 559 03dc A201 movw r20,r4
- 560 03de B701 movw r22,r14
- 561 03e0 8D2F mov r24,r29
- 562 03e2 9C2F mov r25,r28
- 563 03e4 F501 movw r30,r10
- 564 03e6 1995 eicall
- 565 .L43:
- GAS LISTING /tmp/ccHlcPJ9.s page 11
- 566 03e8 C701 movw r24,r14
- 567 /* epilogue start */
- 568 03ea DF91 pop r29
- 569 03ec CF91 pop r28
- 570 03ee 1F91 pop r17
- 571 03f0 0F91 pop r16
- 572 03f2 FF90 pop r15
- 573 03f4 EF90 pop r14
- 574 03f6 DF90 pop r13
- 575 03f8 CF90 pop r12
- 576 03fa BF90 pop r11
- 577 03fc AF90 pop r10
- 578 03fe 9F90 pop r9
- 579 0400 8F90 pop r8
- 580 0402 7F90 pop r7
- 581 0404 6F90 pop r6
- 582 0406 5F90 pop r5
- 583 0408 4F90 pop r4
- 584 040a 0C94 0000 jmp _close
- 585 .L13:
- 586 /* epilogue start */
- 587 040e DF91 pop r29
- 588 0410 CF91 pop r28
- 589 0412 1F91 pop r17
- 590 0414 0F91 pop r16
- 591 0416 FF90 pop r15
- 592 0418 EF90 pop r14
- 593 041a DF90 pop r13
- 594 041c CF90 pop r12
- 595 041e BF90 pop r11
- 596 0420 AF90 pop r10
- 597 0422 9F90 pop r9
- 598 0424 8F90 pop r8
- 599 0426 7F90 pop r7
- 600 0428 6F90 pop r6
- 601 042a 5F90 pop r5
- 602 042c 4F90 pop r4
- 603 042e 0895 ret
- 604 .size NutSsiProcessVirtual, .-NutSsiProcessVirtual
- 605 .section .rodata.str1.1
- 606 .LC4:
- 607 001b 3C21 2D2D .string "<!--"
- 607 00
- 608 .LC5:
- 609 0020 2D2D 3E00 .string "-->"
- 610 .LC6:
- 611 0024 2369 6E63 .string "#include"
- 611 6C75 6465
- 611 00
- 612 .LC7:
- 613 002d 2365 7865 .string "#exec"
- 613 6300
- 614 .LC8:
- 615 0033 2365 6368 .string "#echo"
- 615 6F00
- 616 .LC9:
- 617 0039 7669 7274 .string "virtual"
- GAS LISTING /tmp/ccHlcPJ9.s page 12
- 617 7561 6C00
- 618 .LC10:
- 619 0041 6669 6C65 .string "file"
- 619 00
- 620 .LC11:
- 621 0046 7661 7200 .string "var"
- 622 .LC12:
- 623 004a 6367 6900 .string "cgi"
- 624 .section .text.NutHttpProcessSHTML,"ax",@progbits
- 625 .type NutHttpProcessSHTML, @function
- 626 NutHttpProcessSHTML:
- 627 0000 2F92 push r2
- 628 0002 3F92 push r3
- 629 0004 4F92 push r4
- 630 0006 5F92 push r5
- 631 0008 6F92 push r6
- 632 000a 7F92 push r7
- 633 000c 8F92 push r8
- 634 000e 9F92 push r9
- 635 0010 AF92 push r10
- 636 0012 BF92 push r11
- 637 0014 CF92 push r12
- 638 0016 DF92 push r13
- 639 0018 EF92 push r14
- 640 001a FF92 push r15
- 641 001c 0F93 push r16
- 642 001e 1F93 push r17
- 643 0020 CF93 push r28
- 644 0022 DF93 push r29
- 645 0024 CDB7 in r28,__SP_L__
- 646 0026 DEB7 in r29,__SP_H__
- 647 0028 6797 sbiw r28,23
- 648 002a 0FB6 in __tmp_reg__,__SREG__
- 649 002c F894 cli
- 650 002e DEBF out __SP_H__,r29
- 651 0030 0FBE out __SREG__,__tmp_reg__
- 652 0032 CDBF out __SP_L__,r28
- 653 /* prologue: function */
- 654 /* frame size = 23 */
- 655 /* stack size = 41 */
- 656 .L__stack_usage = 41
- 657 0034 F82E mov r15,r24
- 658 0036 E92E mov r14,r25
- 659 0038 7887 std Y+8,r23
- 660 003a 6F83 std Y+7,r22
- 661 003c 5E83 std Y+6,r21
- 662 003e 4D83 std Y+5,r20
- 663 0040 3C8B std Y+20,r19
- 664 0042 2B8B std Y+19,r18
- 665 0044 1C87 std Y+12,r17
- 666 0046 0B87 std Y+11,r16
- 667 0048 5C83 std Y+4,r21
- 668 004a 4B83 std Y+3,r20
- 669 004c 4130 cpi r20,1
- 670 004e 5240 sbci r21,2
- 671 0050 04F0 brlt .L91
- 672 0052 80E0 ldi r24,0
- GAS LISTING /tmp/ccHlcPJ9.s page 13
- 673 0054 92E0 ldi r25,lo8(2)
- 674 0056 9C83 std Y+4,r25
- 675 0058 8B83 std Y+3,r24
- 676 .L91:
- 677 005a AB81 ldd r26,Y+3
- 678 005c BC81 ldd r27,Y+4
- 679 005e 1196 adiw r26,1
- 680 0060 B88B std Y+16,r27
- 681 0062 AF87 std Y+15,r26
- 682 0064 CD01 movw r24,r26
- 683 0066 0E94 0000 call malloc
- 684 006a 8C01 movw r16,r24
- 685 006c 812C mov r8,__zero_reg__
- 686 006e 912C mov r9,__zero_reg__
- 687 0070 B12C mov r11,__zero_reg__
- 688 0072 2B81 ldd r18,Y+3
- 689 0074 3C81 ldd r19,Y+4
- 690 0076 2356 subi r18,99
- 691 0078 3109 sbc r19,__zero_reg__
- 692 007a 3E8B std Y+22,r19
- 693 007c 2D8B std Y+21,r18
- 694 007e 8B81 ldd r24,Y+3
- 695 0080 9C81 ldd r25,Y+4
- 696 0082 8456 subi r24,100
- 697 0084 9109 sbc r25,__zero_reg__
- 698 0086 9E87 std Y+14,r25
- 699 0088 8D87 std Y+13,r24
- 700 .L92:
- 701 008a 8D81 ldd r24,Y+5
- 702 008c 9E81 ldd r25,Y+6
- 703 008e 8816 cp r8,r24
- 704 0090 9906 cpc r9,r25
- 705 0092 01F4 brne .+2
- 706 0094 00C0 rjmp .L143
- 707 0096 4F85 ldd r20,Y+15
- 708 0098 5889 ldd r21,Y+16
- 709 009a 60E0 ldi r22,0
- 710 009c 70E0 ldi r23,0
- 711 009e C801 movw r24,r16
- 712 00a0 0E94 0000 call memset
- 713 00a4 4D81 ldd r20,Y+5
- 714 00a6 5E81 ldd r21,Y+6
- 715 00a8 4819 sub r20,r8
- 716 00aa 5909 sbc r21,r9
- 717 00ac AB81 ldd r26,Y+3
- 718 00ae BC81 ldd r27,Y+4
- 719 00b0 A417 cp r26,r20
- 720 00b2 B507 cpc r27,r21
- 721 00b4 04F4 brge .L93
- 722 00b6 AD01 movw r20,r26
- 723 .L93:
- 724 00b8 B801 movw r22,r16
- 725 00ba 8F81 ldd r24,Y+7
- 726 00bc 9885 ldd r25,Y+8
- 727 00be 0E94 0000 call _read
- 728 00c2 6C01 movw r12,r24
- 729 00c4 B110 cpse r11,__zero_reg__
- GAS LISTING /tmp/ccHlcPJ9.s page 14
- 730 00c6 00C0 rjmp .L94
- 731 00c8 60E0 ldi r22,lo8(.LC4)
- 732 00ca 70E0 ldi r23,hi8(.LC4)
- 733 00cc C801 movw r24,r16
- 734 00ce 0E94 0000 call strstr
- 735 00d2 0097 sbiw r24,0
- 736 00d4 01F4 brne .L95
- 737 00d6 2D81 ldd r18,Y+5
- 738 00d8 3E81 ldd r19,Y+6
- 739 00da 8B81 ldd r24,Y+3
- 740 00dc 9C81 ldd r25,Y+4
- 741 00de 8217 cp r24,r18
- 742 00e0 9307 cpc r25,r19
- 743 00e2 04F4 brge .L96
- 744 00e4 AD89 ldd r26,Y+21
- 745 00e6 BE89 ldd r27,Y+22
- 746 00e8 CA16 cp r12,r26
- 747 00ea DB06 cpc r13,r27
- 748 00ec 04F0 brlt .L129
- 749 00ee 4D85 ldd r20,Y+13
- 750 00f0 5E85 ldd r21,Y+14
- 751 00f2 00C0 rjmp .L97
- 752 .L129:
- 753 00f4 A601 movw r20,r12
- 754 .L97:
- 755 00f6 2F2D mov r18,r15
- 756 00f8 3E2D mov r19,r14
- 757 00fa 61E0 ldi r22,lo8(1)
- 758 00fc 70E0 ldi r23,0
- 759 00fe C801 movw r24,r16
- 760 0100 0E94 0000 call fwrite
- 761 0104 2D89 ldd r18,Y+21
- 762 0106 3E89 ldd r19,Y+22
- 763 0108 C216 cp r12,r18
- 764 010a D306 cpc r13,r19
- 765 010c 04F0 brlt .L98
- 766 010e CD84 ldd r12,Y+13
- 767 0110 DE84 ldd r13,Y+14
- 768 .L98:
- 769 0112 8C0C add r8,r12
- 770 0114 9D1C adc r9,r13
- 771 0116 A401 movw r20,r8
- 772 0118 092C mov __tmp_reg__,r9
- 773 011a 000C lsl r0
- 774 011c 660B sbc r22,r22
- 775 011e 770B sbc r23,r23
- 776 0120 20E0 ldi r18,0
- 777 0122 30E0 ldi r19,0
- 778 0124 8F81 ldd r24,Y+7
- 779 0126 9885 ldd r25,Y+8
- 780 0128 0E94 0000 call _seek
- 781 012c 00C0 rjmp .L92
- 782 .L96:
- 783 012e 2F2D mov r18,r15
- 784 0130 3E2D mov r19,r14
- 785 0132 A601 movw r20,r12
- 786 0134 61E0 ldi r22,lo8(1)
- GAS LISTING /tmp/ccHlcPJ9.s page 15
- 787 0136 70E0 ldi r23,0
- 788 0138 C801 movw r24,r16
- 789 013a 0E94 0000 call fwrite
- 790 013e 8C0C add r8,r12
- 791 0140 9D1C adc r9,r13
- 792 0142 00C0 rjmp .L92
- 793 .L95:
- 794 0144 801B sub r24,r16
- 795 0146 910B sbc r25,r17
- 796 0148 6C01 movw r12,r24
- 797 014a DD24 clr r13
- 798 014c 2F2D mov r18,r15
- 799 014e 3E2D mov r19,r14
- 800 0150 A601 movw r20,r12
- 801 0152 61E0 ldi r22,lo8(1)
- 802 0154 70E0 ldi r23,0
- 803 0156 C801 movw r24,r16
- 804 0158 0E94 0000 call fwrite
- 805 015c 8C0C add r8,r12
- 806 015e 9D1C adc r9,r13
- 807 0160 A401 movw r20,r8
- 808 0162 092C mov __tmp_reg__,r9
- 809 0164 000C lsl r0
- 810 0166 660B sbc r22,r22
- 811 0168 770B sbc r23,r23
- 812 016a 20E0 ldi r18,0
- 813 016c 30E0 ldi r19,0
- 814 016e 8F81 ldd r24,Y+7
- 815 0170 9885 ldd r25,Y+8
- 816 0172 0E94 0000 call _seek
- 817 0176 BB24 clr r11
- 818 0178 B394 inc r11
- 819 017a 00C0 rjmp .L92
- 820 .L94:
- 821 017c 60E0 ldi r22,lo8(.LC5)
- 822 017e 70E0 ldi r23,hi8(.LC5)
- 823 0180 C801 movw r24,r16
- 824 0182 0E94 0000 call strstr
- 825 0186 0097 sbiw r24,0
- 826 0188 01F4 brne .L100
- 827 018a AB80 ldd r10,Y+3
- 828 018c BC80 ldd r11,Y+4
- 829 018e CA14 cp r12,r10
- 830 0190 DB04 cpc r13,r11
- 831 0192 04F4 brge .L101
- 832 0194 5601 movw r10,r12
- 833 .L101:
- 834 0196 2F2D mov r18,r15
- 835 0198 3E2D mov r19,r14
- 836 019a A501 movw r20,r10
- 837 019c 61E0 ldi r22,lo8(1)
- 838 019e 70E0 ldi r23,0
- 839 01a0 C801 movw r24,r16
- 840 01a2 0E94 0000 call fwrite
- 841 01a6 8A0C add r8,r10
- 842 01a8 9B1C adc r9,r11
- 843 01aa 00C0 rjmp .L142
- GAS LISTING /tmp/ccHlcPJ9.s page 16
- 844 .L100:
- 845 01ac 801B sub r24,r16
- 846 01ae 910B sbc r25,r17
- 847 01b0 1C01 movw r2,r24
- 848 01b2 3324 clr r3
- 849 01b4 84E0 ldi r24,lo8(4)
- 850 01b6 90E0 ldi r25,0
- 851 01b8 9A83 std Y+2,r25
- 852 01ba 8983 std Y+1,r24
- 853 01bc A101 movw r20,r2
- 854 01be BE01 movw r22,r28
- 855 01c0 6F5F subi r22,-1
- 856 01c2 7F4F sbci r23,-1
- 857 01c4 C801 movw r24,r16
- 858 01c6 0E94 0000 call NutSsiSkipWhitespace
- 859 01ca C980 ldd r12,Y+1
- 860 01cc DA80 ldd r13,Y+2
- 861 01ce 2C14 cp r2,r12
- 862 01d0 3D04 cpc r3,r13
- 863 01d2 01F4 brne .+2
- 864 01d4 00C0 rjmp .L134
- 865 01d6 5801 movw r10,r16
- 866 01d8 AC0C add r10,r12
- 867 01da BD1C adc r11,r13
- 868 01dc 48E0 ldi r20,lo8(8)
- 869 01de 50E0 ldi r21,0
- 870 01e0 60E0 ldi r22,lo8(.LC6)
- 871 01e2 70E0 ldi r23,hi8(.LC6)
- 872 01e4 C501 movw r24,r10
- 873 01e6 0E94 0000 call strncasecmp
- 874 01ea 892B or r24,r25
- 875 01ec 01F4 brne .L104
- 876 01ee 98E0 ldi r25,8
- 877 01f0 C90E add r12,r25
- 878 01f2 D11C adc r13,__zero_reg__
- 879 01f4 DA82 std Y+2,r13
- 880 01f6 C982 std Y+1,r12
- 881 01f8 22E0 ldi r18,lo8(2)
- 882 01fa 00C0 rjmp .L105
- 883 .L104:
- 884 01fc 45E0 ldi r20,lo8(5)
- 885 01fe 50E0 ldi r21,0
- 886 0200 60E0 ldi r22,lo8(.LC7)
- 887 0202 70E0 ldi r23,hi8(.LC7)
- 888 0204 C501 movw r24,r10
- 889 0206 0E94 0000 call strncasecmp
- 890 020a 892B or r24,r25
- 891 020c 01F4 brne .L106
- 892 020e A5E0 ldi r26,5
- 893 0210 CA0E add r12,r26
- 894 0212 D11C adc r13,__zero_reg__
- 895 0214 DA82 std Y+2,r13
- 896 0216 C982 std Y+1,r12
- 897 0218 23E0 ldi r18,lo8(3)
- 898 021a 00C0 rjmp .L105
- 899 .L106:
- 900 021c 45E0 ldi r20,lo8(5)
- GAS LISTING /tmp/ccHlcPJ9.s page 17
- 901 021e 50E0 ldi r21,0
- 902 0220 60E0 ldi r22,lo8(.LC8)
- 903 0222 70E0 ldi r23,hi8(.LC8)
- 904 0224 C501 movw r24,r10
- 905 0226 0E94 0000 call strncasecmp
- 906 022a 892B or r24,r25
- 907 022c 01F0 breq .+2
- 908 022e 00C0 rjmp .L134
- 909 0230 B5E0 ldi r27,5
- 910 0232 CB0E add r12,r27
- 911 0234 D11C adc r13,__zero_reg__
- 912 0236 DA82 std Y+2,r13
- 913 0238 C982 std Y+1,r12
- 914 023a 24E0 ldi r18,lo8(4)
- 915 .L105:
- 916 023c 8981 ldd r24,Y+1
- 917 023e 9A81 ldd r25,Y+2
- 918 0240 8215 cp r24,r2
- 919 0242 9305 cpc r25,r3
- 920 0244 00F0 brlo .+2
- 921 0246 00C0 rjmp .L134
- 922 0248 A101 movw r20,r2
- 923 024a BE01 movw r22,r28
- 924 024c 6F5F subi r22,-1
- 925 024e 7F4F sbci r23,-1
- 926 0250 C801 movw r24,r16
- 927 0252 2F8B std Y+23,r18
- 928 0254 0E94 0000 call NutSsiSkipWhitespace
- 929 0258 C980 ldd r12,Y+1
- 930 025a DA80 ldd r13,Y+2
- 931 025c 2F89 ldd r18,Y+23
- 932 025e 2C14 cp r2,r12
- 933 0260 3D04 cpc r3,r13
- 934 0262 01F4 brne .+2
- 935 0264 00C0 rjmp .L134
- 936 0266 5801 movw r10,r16
- 937 0268 AC0C add r10,r12
- 938 026a BD1C adc r11,r13
- 939 026c 2230 cpi r18,lo8(2)
- 940 026e 01F4 brne .L108
- 941 0270 47E0 ldi r20,lo8(7)
- 942 0272 50E0 ldi r21,0
- 943 0274 60E0 ldi r22,lo8(.LC9)
- 944 0276 70E0 ldi r23,hi8(.LC9)
- 945 0278 C501 movw r24,r10
- 946 027a 0E94 0000 call strncasecmp
- 947 027e 2F89 ldd r18,Y+23
- 948 0280 892B or r24,r25
- 949 0282 01F4 brne .L109
- 950 0284 37E0 ldi r19,7
- 951 0286 C30E add r12,r19
- 952 0288 D11C adc r13,__zero_reg__
- 953 028a 00C0 rjmp .L141
- 954 .L109:
- 955 028c 44E0 ldi r20,lo8(4)
- 956 028e 50E0 ldi r21,0
- 957 0290 60E0 ldi r22,lo8(.LC10)
- GAS LISTING /tmp/ccHlcPJ9.s page 18
- 958 0292 70E0 ldi r23,hi8(.LC10)
- 959 0294 C501 movw r24,r10
- 960 0296 0E94 0000 call strncasecmp
- 961 029a 892B or r24,r25
- 962 029c 01F0 breq .+2
- 963 029e 00C0 rjmp .L134
- 964 02a0 84E0 ldi r24,4
- 965 02a2 C80E add r12,r24
- 966 02a4 D11C adc r13,__zero_reg__
- 967 02a6 DA82 std Y+2,r13
- 968 02a8 C982 std Y+1,r12
- 969 02aa 21E0 ldi r18,lo8(1)
- 970 02ac 00C0 rjmp .L110
- 971 .L108:
- 972 02ae 43E0 ldi r20,lo8(3)
- 973 02b0 50E0 ldi r21,0
- 974 02b2 2430 cpi r18,lo8(4)
- 975 02b4 01F4 brne .L111
- 976 02b6 60E0 ldi r22,lo8(.LC11)
- 977 02b8 70E0 ldi r23,hi8(.LC11)
- 978 02ba C501 movw r24,r10
- 979 02bc 2F8B std Y+23,r18
- 980 02be 0E94 0000 call strncasecmp
- 981 02c2 2F89 ldd r18,Y+23
- 982 02c4 892B or r24,r25
- 983 02c6 01F0 breq .+2
- 984 02c8 00C0 rjmp .L134
- 985 02ca 93E0 ldi r25,3
- 986 02cc C90E add r12,r25
- 987 02ce D11C adc r13,__zero_reg__
- 988 .L141:
- 989 02d0 DA82 std Y+2,r13
- 990 02d2 C982 std Y+1,r12
- 991 02d4 00C0 rjmp .L110
- 992 .L111:
- 993 02d6 60E0 ldi r22,lo8(.LC12)
- 994 02d8 70E0 ldi r23,hi8(.LC12)
- 995 02da C501 movw r24,r10
- 996 02dc 0E94 0000 call strncasecmp
- 997 02e0 892B or r24,r25
- 998 02e2 01F0 breq .+2
- 999 02e4 00C0 rjmp .L134
- 1000 02e6 A3E0 ldi r26,3
- 1001 02e8 CA0E add r12,r26
- 1002 02ea D11C adc r13,__zero_reg__
- 1003 02ec DA82 std Y+2,r13
- 1004 02ee C982 std Y+1,r12
- 1005 02f0 23E0 ldi r18,lo8(3)
- 1006 .L110:
- 1007 02f2 8981 ldd r24,Y+1
- 1008 02f4 9A81 ldd r25,Y+2
- 1009 02f6 8215 cp r24,r2
- 1010 02f8 9305 cpc r25,r3
- 1011 02fa 00F0 brlo .+2
- 1012 02fc 00C0 rjmp .L134
- 1013 02fe A101 movw r20,r2
- 1014 0300 BE01 movw r22,r28
- GAS LISTING /tmp/ccHlcPJ9.s page 19
- 1015 0302 6F5F subi r22,-1
- 1016 0304 7F4F sbci r23,-1
- 1017 0306 C801 movw r24,r16
- 1018 0308 2F8B std Y+23,r18
- 1019 030a 0E94 0000 call NutSsiSkipWhitespace
- 1020 030e 8981 ldd r24,Y+1
- 1021 0310 9A81 ldd r25,Y+2
- 1022 0312 2816 cp r2,r24
- 1023 0314 3906 cpc r3,r25
- 1024 0316 01F4 brne .+2
- 1025 0318 00C0 rjmp .L134
- 1026 031a F801 movw r30,r16
- 1027 031c E80F add r30,r24
- 1028 031e F91F adc r31,r25
- 1029 0320 3081 ld r19,Z
- 1030 0322 3D33 cpi r19,lo8(61)
- 1031 0324 01F0 breq .+2
- 1032 0326 00C0 rjmp .L134
- 1033 0328 0196 adiw r24,1
- 1034 032a 9A83 std Y+2,r25
- 1035 032c 8983 std Y+1,r24
- 1036 032e A101 movw r20,r2
- 1037 0330 BE01 movw r22,r28
- 1038 0332 6F5F subi r22,-1
- 1039 0334 7F4F sbci r23,-1
- 1040 0336 C801 movw r24,r16
- 1041 0338 0E94 0000 call NutSsiSkipWhitespace
- 1042 033c A980 ldd r10,Y+1
- 1043 033e BA80 ldd r11,Y+2
- 1044 0340 2F89 ldd r18,Y+23
- 1045 0342 2A14 cp r2,r10
- 1046 0344 3B04 cpc r3,r11
- 1047 0346 01F4 brne .+2
- 1048 0348 00C0 rjmp .L134
- 1049 034a F801 movw r30,r16
- 1050 034c EA0D add r30,r10
- 1051 034e FB1D adc r31,r11
- 1052 0350 8081 ld r24,Z
- 1053 0352 8232 cpi r24,lo8(34)
- 1054 0354 01F0 breq .+2
- 1055 0356 00C0 rjmp .L127
- 1056 0358 BFEF ldi r27,-1
- 1057 035a AB1A sub r10,r27
- 1058 035c BB0A sbc r11,r27
- 1059 035e BA82 std Y+2,r11
- 1060 0360 A982 std Y+1,r10
- 1061 0362 2A14 cp r2,r10
- 1062 0364 3B04 cpc r3,r11
- 1063 0366 01F4 brne .+2
- 1064 0368 00C0 rjmp .L134
- 1065 .L113:
- 1066 036a 8981 ldd r24,Y+1
- 1067 036c 9A81 ldd r25,Y+2
- 1068 036e F801 movw r30,r16
- 1069 0370 E80F add r30,r24
- 1070 0372 F91F adc r31,r25
- 1071 0374 3081 ld r19,Z
- GAS LISTING /tmp/ccHlcPJ9.s page 20
- 1072 0376 3232 cpi r19,lo8(34)
- 1073 0378 01F0 breq .L144
- 1074 037a 0196 adiw r24,1
- 1075 037c 9A83 std Y+2,r25
- 1076 037e 8983 std Y+1,r24
- 1077 0380 2816 cp r2,r24
- 1078 0382 3906 cpc r3,r25
- 1079 0384 01F4 brne .L113
- 1080 0386 00C0 rjmp .L134
- 1081 .L144:
- 1082 0388 A00E add r10,r16
- 1083 038a B11E adc r11,r17
- 1084 038c 1082 st Z,__zero_reg__
- 1085 038e 2330 cpi r18,lo8(3)
- 1086 0390 01F4 brne .+2
- 1087 0392 00C0 rjmp .L116
- 1088 0394 2430 cpi r18,lo8(4)
- 1089 0396 01F4 brne .+2
- 1090 0398 00C0 rjmp .L117
- 1091 039a 2230 cpi r18,lo8(2)
- 1092 039c 01F4 brne .+2
- 1093 039e 00C0 rjmp .L116
- 1094 03a0 60E0 ldi r22,0
- 1095 03a2 70E8 ldi r23,lo8(-128)
- 1096 03a4 C501 movw r24,r10
- 1097 03a6 0E94 0000 call _open
- 1098 03aa 6C01 movw r12,r24
- 1099 03ac 8F3F cpi r24,-1
- 1100 03ae 2FEF ldi r18,-1
- 1101 03b0 9207 cpc r25,r18
- 1102 03b2 01F4 brne .L119
- 1103 03b4 BF92 push r11
- 1104 03b6 AF92 push r10
- 1105 03b8 A0E0 ldi r26,lo8(rsp_not_found_P)
- 1106 03ba B0E0 ldi r27,hi8(rsp_not_found_P)
- 1107 03bc BF93 push r27
- 1108 03be AF93 push r26
- 1109 03c0 EF92 push r14
- 1110 03c2 FF92 push r15
- 1111 03c4 0E94 0000 call fprintf_P
- 1112 03c8 0F90 pop __tmp_reg__
- 1113 03ca 0F90 pop __tmp_reg__
- 1114 03cc 0F90 pop __tmp_reg__
- 1115 03ce 0F90 pop __tmp_reg__
- 1116 03d0 0F90 pop __tmp_reg__
- 1117 03d2 0F90 pop __tmp_reg__
- 1118 03d4 00C0 rjmp .L127
- 1119 .L119:
- 1120 03d6 0E94 0000 call _filelength
- 1121 03da 2B01 movw r4,r22
- 1122 03dc 3C01 movw r6,r24
- 1123 03de 80E0 ldi r24,0
- 1124 03e0 92E0 ldi r25,lo8(2)
- 1125 03e2 0E94 0000 call malloc
- 1126 03e6 5C01 movw r10,r24
- 1127 03e8 892B or r24,r25
- 1128 03ea 01F0 breq .L120
- GAS LISTING /tmp/ccHlcPJ9.s page 21
- 1129 03ec 80E0 ldi r24,0
- 1130 03ee 92E0 ldi r25,lo8(2)
- 1131 03f0 9A87 std Y+10,r25
- 1132 03f2 8987 std Y+9,r24
- 1133 .L121:
- 1134 03f4 4114 cp r4,__zero_reg__
- 1135 03f6 5104 cpc r5,__zero_reg__
- 1136 03f8 6104 cpc r6,__zero_reg__
- 1137 03fa 7104 cpc r7,__zero_reg__
- 1138 03fc 01F0 breq .L125
- 1139 03fe 4114 cp r4,__zero_reg__
- 1140 0400 92E0 ldi r25,2
- 1141 0402 5906 cpc r5,r25
- 1142 0404 6104 cpc r6,__zero_reg__
- 1143 0406 7104 cpc r7,__zero_reg__
- 1144 0408 04F4 brge .L122
- 1145 040a 5A86 std Y+10,r5
- 1146 040c 4986 std Y+9,r4
- 1147 .L122:
- 1148 040e 4985 ldd r20,Y+9
- 1149 0410 5A85 ldd r21,Y+10
- 1150 0412 B501 movw r22,r10
- 1151 0414 C601 movw r24,r12
- 1152 0416 0E94 0000 call _read
- 1153 041a 9A8B std Y+18,r25
- 1154 041c 898B std Y+17,r24
- 1155 041e 2F2D mov r18,r15
- 1156 0420 3E2D mov r19,r14
- 1157 0422 AC01 movw r20,r24
- 1158 0424 61E0 ldi r22,lo8(1)
- 1159 0426 70E0 ldi r23,0
- 1160 0428 C501 movw r24,r10
- 1161 042a 0E94 0000 call fwrite
- 1162 042e 892B or r24,r25
- 1163 0430 01F4 brne .L123
- 1164 .L125:
- 1165 0432 C501 movw r24,r10
- 1166 0434 0E94 0000 call free
- 1167 0438 00C0 rjmp .L120
- 1168 .L123:
- 1169 043a 2989 ldd r18,Y+17
- 1170 043c 3A89 ldd r19,Y+18
- 1171 043e C901 movw r24,r18
- 1172 0440 330F lsl r19
- 1173 0442 AA0B sbc r26,r26
- 1174 0444 BB0B sbc r27,r27
- 1175 0446 481A sub r4,r24
- 1176 0448 590A sbc r5,r25
- 1177 044a 6A0A sbc r6,r26
- 1178 044c 7B0A sbc r7,r27
- 1179 044e 00C0 rjmp .L121
- 1180 .L120:
- 1181 0450 C601 movw r24,r12
- 1182 0452 0E94 0000 call _close
- 1183 0456 00C0 rjmp .L127
- 1184 .L116:
- 1185 0458 2B85 ldd r18,Y+11
- GAS LISTING /tmp/ccHlcPJ9.s page 22
- 1186 045a 3C85 ldd r19,Y+12
- 1187 045c 4B89 ldd r20,Y+19
- 1188 045e 5C89 ldd r21,Y+20
- 1189 0460 B501 movw r22,r10
- 1190 0462 8F2D mov r24,r15
- 1191 0464 9E2D mov r25,r14
- 1192 0466 0E94 0000 call NutSsiProcessVirtual
- 1193 046a 00C0 rjmp .L127
- 1194 .L117:
- 1195 046c E091 0000 lds r30,ssivar_handler
- 1196 0470 F091 0000 lds r31,ssivar_handler+1
- 1197 0474 3097 sbiw r30,0
- 1198 0476 01F0 breq .L127
- 1199 0478 6B85 ldd r22,Y+11
- 1200 047a 7C85 ldd r23,Y+12
- 1201 047c C501 movw r24,r10
- 1202 047e 1995 eicall
- 1203 0480 0097 sbiw r24,0
- 1204 0482 01F0 breq .L127
- 1205 0484 6F2D mov r22,r15
- 1206 0486 7E2D mov r23,r14
- 1207 0488 0E94 0000 call fputs
- 1208 048c 00C0 rjmp .L127
- 1209 .L134:
- 1210 048e 2F2D mov r18,r15
- 1211 0490 3E2D mov r19,r14
- 1212 0492 A101 movw r20,r2
- 1213 0494 4D5F subi r20,-3
- 1214 0496 5F4F sbci r21,-1
- 1215 0498 61E0 ldi r22,lo8(1)
- 1216 049a 70E0 ldi r23,0
- 1217 049c C801 movw r24,r16
- 1218 049e 0E94 0000 call fwrite
- 1219 .L127:
- 1220 04a2 C101 movw r24,r2
- 1221 04a4 0396 adiw r24,3
- 1222 04a6 880E add r8,r24
- 1223 04a8 991E adc r9,r25
- 1224 04aa A401 movw r20,r8
- 1225 04ac 092C mov __tmp_reg__,r9
- 1226 04ae 000C lsl r0
- 1227 04b0 660B sbc r22,r22
- 1228 04b2 770B sbc r23,r23
- 1229 04b4 20E0 ldi r18,0
- 1230 04b6 30E0 ldi r19,0
- 1231 04b8 8F81 ldd r24,Y+7
- 1232 04ba 9885 ldd r25,Y+8
- 1233 04bc 0E94 0000 call _seek
- 1234 .L142:
- 1235 04c0 B12C mov r11,__zero_reg__
- 1236 04c2 00C0 rjmp .L92
- 1237 .L143:
- 1238 04c4 C801 movw r24,r16
- 1239 /* epilogue start */
- 1240 04c6 6796 adiw r28,23
- 1241 04c8 0FB6 in __tmp_reg__,__SREG__
- 1242 04ca F894 cli
- GAS LISTING /tmp/ccHlcPJ9.s page 23
- 1243 04cc DEBF out __SP_H__,r29
- 1244 04ce 0FBE out __SREG__,__tmp_reg__
- 1245 04d0 CDBF out __SP_L__,r28
- 1246 04d2 DF91 pop r29
- 1247 04d4 CF91 pop r28
- 1248 04d6 1F91 pop r17
- 1249 04d8 0F91 pop r16
- 1250 04da FF90 pop r15
- 1251 04dc EF90 pop r14
- 1252 04de DF90 pop r13
- 1253 04e0 CF90 pop r12
- 1254 04e2 BF90 pop r11
- 1255 04e4 AF90 pop r10
- 1256 04e6 9F90 pop r9
- 1257 04e8 8F90 pop r8
- 1258 04ea 7F90 pop r7
- 1259 04ec 6F90 pop r6
- 1260 04ee 5F90 pop r5
- 1261 04f0 4F90 pop r4
- 1262 04f2 3F90 pop r3
- 1263 04f4 2F90 pop r2
- 1264 04f6 0C94 0000 jmp free
- 1265 .size NutHttpProcessSHTML, .-NutHttpProcessSHTML
- 1266 .section .rodata.str1.1
- 1267 .LC13:
- 1268 004e 2E73 6874 .string ".shtml"
- 1268 6D6C 00
- 1269 .section .text.NutRegisterSsi,"ax",@progbits
- 1270 .global NutRegisterSsi
- 1271 .type NutRegisterSsi, @function
- 1272 NutRegisterSsi:
- 1273 /* prologue: function */
- 1274 /* frame size = 0 */
- 1275 /* stack size = 0 */
- 1276 .L__stack_usage = 0
- 1277 0000 60E0 ldi r22,lo8(gs(NutHttpProcessSHTML))
- 1278 0002 70E0 ldi r23,hi8(gs(NutHttpProcessSHTML))
- 1279 0004 80E0 ldi r24,lo8(.LC13)
- 1280 0006 90E0 ldi r25,hi8(.LC13)
- 1281 0008 0C94 0000 jmp NutSetMimeHandler
- 1282 .size NutRegisterSsi, .-NutRegisterSsi
- 1283 .section .text.NutRegisterSsiVarHandler,"ax",@progbits
- 1284 .global NutRegisterSsiVarHandler
- 1285 .type NutRegisterSsiVarHandler, @function
- 1286 NutRegisterSsiVarHandler:
- 1287 /* prologue: function */
- 1288 /* frame size = 0 */
- 1289 /* stack size = 0 */
- 1290 .L__stack_usage = 0
- 1291 0000 9093 0000 sts ssivar_handler+1,r25
- 1292 0004 8093 0000 sts ssivar_handler,r24
- 1293 0008 80E0 ldi r24,0
- 1294 000a 90E0 ldi r25,0
- 1295 000c 0895 ret
- 1296 .size NutRegisterSsiVarHandler, .-NutRegisterSsiVarHandler
- 1297 .section .progmem.data,"a",@progbits
- 1298 .type rsp_bad_req_P, @object
- GAS LISTING /tmp/ccHlcPJ9.s page 24
- 1299 .size rsp_bad_req_P, 18
- 1300 rsp_bad_req_P:
- 1301 0000 3430 3020 .string "400 Bad request\r\n"
- 1301 4261 6420
- 1301 7265 7175
- 1301 6573 740D
- 1301 0A00
- 1302 .type rsp_intern_err_P, @object
- 1303 .size rsp_intern_err_P, 21
- 1304 rsp_intern_err_P:
- 1305 0012 3530 3020 .string "500 Internal error\r\n"
- 1305 496E 7465
- 1305 726E 616C
- 1305 2065 7272
- 1305 6F72 0D0A
- 1306 .type rsp_not_found_P, @object
- 1307 .size rsp_not_found_P, 20
- 1308 rsp_not_found_P:
- 1309 0027 3430 3420 .string "404 Not found: %s\r\n"
- 1309 4E6F 7420
- 1309 666F 756E
- 1309 643A 2025
- 1309 730D 0A00
- 1310 .local ssivar_handler
- 1311 .comm ssivar_handler,2,1
- 1312 .ident "GCC: (GNU) 5.3.0"
- 1313 .global __do_copy_data
- 1314 .global __do_clear_bss
- GAS LISTING /tmp/ccHlcPJ9.s page 25
- DEFINED SYMBOLS
- *ABS*:0000000000000000 ssi.c
- /tmp/ccHlcPJ9.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccHlcPJ9.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccHlcPJ9.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccHlcPJ9.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccHlcPJ9.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccHlcPJ9.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccHlcPJ9.s:10 .text.NutSsiSkipWhitespace:0000000000000000 NutSsiSkipWhitespace
- /tmp/ccHlcPJ9.s:57 .text.unlikely.NutSsiProcessVirtual:0000000000000000 NutSsiProcessVirtual
- /tmp/ccHlcPJ9.s:1300 .progmem.data:0000000000000000 rsp_bad_req_P
- /tmp/ccHlcPJ9.s:1304 .progmem.data:0000000000000012 rsp_intern_err_P
- /tmp/ccHlcPJ9.s:1308 .progmem.data:0000000000000027 rsp_not_found_P
- /tmp/ccHlcPJ9.s:626 .text.NutHttpProcessSHTML:0000000000000000 NutHttpProcessSHTML
- .bss:0000000000000000 ssivar_handler
- /tmp/ccHlcPJ9.s:1272 .text.NutRegisterSsi:0000000000000000 NutRegisterSsi
- /tmp/ccHlcPJ9.s:1286 .text.NutRegisterSsiVarHandler:0000000000000000 NutRegisterSsiVarHandler
- UNDEFINED SYMBOLS
- cgiBinPath
- NutDecodePath
- strncasecmp
- calloc
- fprintf_P
- strdup
- strchr
- strcmp
- malloc
- strcat
- NutHttpProcessQueryString
- NutCgiProcessRequest
- DestroyRequestInfo
- default_files
- CreateFilePath
- _open
- free
- _filelength
- _close
- NutGetMimeHandler
- _read
- fwrite
- memset
- strstr
- _seek
- fputs
- NutSetMimeHandler
- __do_copy_data
- __do_clear_bss
|