| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459 |
- GAS LISTING /tmp/ccUl05vQ.s page 1
- 1 .file "chat.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 .rodata.str1.1,"aMS",@progbits,1
- 9 .LC0:
- 10 0000 0D00 .string "\r"
- 11 .section .text.NutChatSendString,"ax",@progbits
- 12 .type NutChatSendString, @function
- 13 NutChatSendString:
- 14 0000 6F92 push r6
- 15 0002 7F92 push r7
- 16 0004 8F92 push r8
- 17 0006 9F92 push r9
- 18 0008 AF92 push r10
- 19 000a BF92 push r11
- 20 000c CF92 push r12
- 21 000e DF92 push r13
- 22 0010 EF92 push r14
- 23 0012 FF92 push r15
- 24 0014 0F93 push r16
- 25 0016 1F93 push r17
- 26 0018 CF93 push r28
- 27 001a DF93 push r29
- 28 001c 1F92 push __zero_reg__
- 29 001e CDB7 in r28,__SP_L__
- 30 0020 DEB7 in r29,__SP_H__
- 31 /* prologue: function */
- 32 /* frame size = 1 */
- 33 /* stack size = 15 */
- 34 .L__stack_usage = 15
- 35 0022 6C01 movw r12,r24
- 36 0024 8B01 movw r16,r22
- 37 0026 40E0 ldi r20,0
- 38 0028 50E0 ldi r21,0
- 39 002a 60E0 ldi r22,0
- 40 002c 70E0 ldi r23,0
- 41 002e 0E94 0000 call _read
- 42 0032 81E0 ldi r24,lo8(1)
- 43 0034 E12C mov r14,__zero_reg__
- 44 0036 F12C mov r15,__zero_reg__
- 45 0038 2DE0 ldi r18,lo8(13)
- 46 003a 922E mov r9,r18
- 47 003c 30E2 ldi r19,lo8(32)
- 48 003e 832E mov r8,r19
- 49 0040 49E0 ldi r20,lo8(9)
- 50 0042 742E mov r7,r20
- 51 0044 58E0 ldi r21,lo8(8)
- 52 0046 652E mov r6,r21
- 53 .L2:
- 54 0048 F801 movw r30,r16
- 55 004a 9081 ld r25,Z
- 56 004c 9923 tst r25
- 57 004e 01F4 brne .+2
- GAS LISTING /tmp/ccUl05vQ.s page 2
- 58 0050 00C0 rjmp .L20
- 59 0052 8111 cpse r24,__zero_reg__
- 60 0054 00C0 rjmp .L21
- 61 .L24:
- 62 0056 40E0 ldi r20,0
- 63 0058 50E0 ldi r21,0
- 64 005a 60E0 ldi r22,0
- 65 005c 70E0 ldi r23,0
- 66 005e C601 movw r24,r12
- 67 0060 0E94 0000 call _write
- 68 0064 00C0 rjmp .L35
- 69 .L21:
- 70 0066 E114 cp r14,__zero_reg__
- 71 0068 F104 cpc r15,__zero_reg__
- 72 006a 01F4 brne .L24
- 73 006c 9983 std Y+1,r25
- 74 006e 5801 movw r10,r16
- 75 0070 9E35 cpi r25,lo8(94)
- 76 0072 01F4 brne .L3
- 77 0074 42E0 ldi r20,2
- 78 0076 A40E add r10,r20
- 79 0078 B11C adc r11,__zero_reg__
- 80 007a F801 movw r30,r16
- 81 007c 8181 ldd r24,Z+1
- 82 007e 8F71 andi r24,lo8(31)
- 83 0080 00C0 rjmp .L38
- 84 .L3:
- 85 0082 9C35 cpi r25,lo8(92)
- 86 0084 01F0 breq .+2
- 87 0086 00C0 rjmp .L5
- 88 0088 F2E0 ldi r31,2
- 89 008a AF0E add r10,r31
- 90 008c B11C adc r11,__zero_reg__
- 91 008e F801 movw r30,r16
- 92 0090 2181 ldd r18,Z+1
- 93 0092 2983 std Y+1,r18
- 94 0094 2E36 cpi r18,lo8(110)
- 95 0096 01F0 breq .L7
- 96 0098 04F4 brge .L8
- 97 009a 2236 cpi r18,lo8(98)
- 98 009c 01F0 breq .L9
- 99 009e 04F4 brge .L10
- 100 00a0 2E34 cpi r18,lo8(78)
- 101 00a2 01F4 brne .L6
- 102 00a4 1982 std Y+1,__zero_reg__
- 103 00a6 00C0 rjmp .L4
- 104 .L10:
- 105 00a8 2336 cpi r18,lo8(99)
- 106 00aa 01F4 brne .+2
- 107 00ac 00C0 rjmp .L27
- 108 00ae 2436 cpi r18,lo8(100)
- 109 00b0 01F4 brne .L6
- 110 00b2 68EE ldi r22,lo8(-24)
- 111 00b4 73E0 ldi r23,lo8(3)
- 112 00b6 80E0 ldi r24,0
- 113 00b8 90E0 ldi r25,0
- 114 00ba 0E94 0000 call NutSleep
- GAS LISTING /tmp/ccUl05vQ.s page 3
- 115 00be 00C0 rjmp .L37
- 116 .L8:
- 117 00c0 2237 cpi r18,lo8(114)
- 118 00c2 01F0 breq .L14
- 119 00c4 04F4 brge .L15
- 120 00c6 2037 cpi r18,lo8(112)
- 121 00c8 01F4 brne .L6
- 122 00ca 84E6 ldi r24,lo8(100)
- 123 00cc 0E94 0000 call NutDelay
- 124 00d0 00C0 rjmp .L37
- 125 .L15:
- 126 00d2 2337 cpi r18,lo8(115)
- 127 00d4 01F0 breq .L17
- 128 00d6 2437 cpi r18,lo8(116)
- 129 00d8 01F4 brne .L6
- 130 00da 7982 std Y+1,r7
- 131 00dc 00C0 rjmp .L4
- 132 .L9:
- 133 00de 6982 std Y+1,r6
- 134 00e0 00C0 rjmp .L4
- 135 .L7:
- 136 00e2 8AE0 ldi r24,lo8(10)
- 137 00e4 00C0 rjmp .L38
- 138 .L14:
- 139 00e6 9982 std Y+1,r9
- 140 00e8 00C0 rjmp .L4
- 141 .L17:
- 142 00ea 8982 std Y+1,r8
- 143 00ec 00C0 rjmp .L4
- 144 .L6:
- 145 00ee 80ED ldi r24,lo8(-48)
- 146 00f0 820F add r24,r18
- 147 00f2 8830 cpi r24,lo8(8)
- 148 00f4 00F4 brsh .L4
- 149 00f6 922F mov r25,r18
- 150 00f8 9770 andi r25,lo8(7)
- 151 00fa 9983 std Y+1,r25
- 152 00fc F801 movw r30,r16
- 153 00fe 2281 ldd r18,Z+2
- 154 0100 80ED ldi r24,lo8(-48)
- 155 0102 820F add r24,r18
- 156 0104 8830 cpi r24,lo8(8)
- 157 0106 00F4 brsh .L4
- 158 0108 822F mov r24,r18
- 159 010a 8770 andi r24,lo8(7)
- 160 010c F8E0 ldi r31,lo8(8)
- 161 010e 9F9F mul r25,r31
- 162 0110 9001 movw r18,r0
- 163 0112 1124 clr __zero_reg__
- 164 0114 282B or r18,r24
- 165 0116 2983 std Y+1,r18
- 166 0118 F801 movw r30,r16
- 167 011a 8381 ldd r24,Z+3
- 168 011c 90ED ldi r25,lo8(-48)
- 169 011e 980F add r25,r24
- 170 0120 5801 movw r10,r16
- 171 0122 9830 cpi r25,lo8(8)
- GAS LISTING /tmp/ccUl05vQ.s page 4
- 172 0124 00F0 brlo .L19
- 173 0126 F3E0 ldi r31,3
- 174 0128 AF0E add r10,r31
- 175 012a B11C adc r11,__zero_reg__
- 176 012c 00C0 rjmp .L4
- 177 .L19:
- 178 012e 44E0 ldi r20,4
- 179 0130 A40E add r10,r20
- 180 0132 B11C adc r11,__zero_reg__
- 181 0134 382F mov r19,r24
- 182 0136 3770 andi r19,lo8(7)
- 183 0138 E8E0 ldi r30,lo8(8)
- 184 013a 2E02 muls r18,r30
- 185 013c C001 movw r24,r0
- 186 013e 1124 clr __zero_reg__
- 187 0140 832B or r24,r19
- 188 .L38:
- 189 0142 8983 std Y+1,r24
- 190 0144 00C0 rjmp .L4
- 191 .L5:
- 192 0146 FFEF ldi r31,-1
- 193 0148 AF1A sub r10,r31
- 194 014a BF0A sbc r11,r31
- 195 .L4:
- 196 014c 8AE0 ldi r24,lo8(10)
- 197 014e 0E94 0000 call NutDelay
- 198 0152 41E0 ldi r20,lo8(1)
- 199 0154 50E0 ldi r21,0
- 200 0156 BE01 movw r22,r28
- 201 0158 6F5F subi r22,-1
- 202 015a 7F4F sbci r23,-1
- 203 015c C601 movw r24,r12
- 204 015e 0E94 0000 call _write
- 205 0162 0197 sbiw r24,1
- 206 0164 01F4 brne .L28
- 207 0166 40E0 ldi r20,0
- 208 0168 50E0 ldi r21,0
- 209 016a 60E0 ldi r22,0
- 210 016c 70E0 ldi r23,0
- 211 016e C601 movw r24,r12
- 212 0170 0E94 0000 call _write
- 213 .L37:
- 214 0174 81E0 ldi r24,lo8(1)
- 215 0176 00C0 rjmp .L25
- 216 .L28:
- 217 0178 81E0 ldi r24,lo8(1)
- 218 017a 92E0 ldi r25,lo8(2)
- 219 017c E92E mov r14,r25
- 220 017e F12C mov r15,__zero_reg__
- 221 .L25:
- 222 0180 8501 movw r16,r10
- 223 0182 00C0 rjmp .L2
- 224 .L20:
- 225 0184 8823 tst r24
- 226 0186 01F4 brne .+2
- 227 0188 00C0 rjmp .L24
- 228 018a E114 cp r14,__zero_reg__
- GAS LISTING /tmp/ccUl05vQ.s page 5
- 229 018c F104 cpc r15,__zero_reg__
- 230 018e 01F0 breq .+2
- 231 0190 00C0 rjmp .L24
- 232 0192 41E0 ldi r20,lo8(1)
- 233 0194 50E0 ldi r21,0
- 234 0196 60E0 ldi r22,lo8(.LC0)
- 235 0198 70E0 ldi r23,hi8(.LC0)
- 236 019a C601 movw r24,r12
- 237 019c 0E94 0000 call _write
- 238 01a0 0197 sbiw r24,1
- 239 01a2 01F4 brne .+2
- 240 01a4 00C0 rjmp .L24
- 241 01a6 82E0 ldi r24,lo8(2)
- 242 01a8 E82E mov r14,r24
- 243 01aa F12C mov r15,__zero_reg__
- 244 01ac 00C0 rjmp .L35
- 245 .L27:
- 246 01ae 80E0 ldi r24,0
- 247 01b0 00C0 rjmp .L25
- 248 .L35:
- 249 01b2 C701 movw r24,r14
- 250 /* epilogue start */
- 251 01b4 0F90 pop __tmp_reg__
- 252 01b6 DF91 pop r29
- 253 01b8 CF91 pop r28
- 254 01ba 1F91 pop r17
- 255 01bc 0F91 pop r16
- 256 01be FF90 pop r15
- 257 01c0 EF90 pop r14
- 258 01c2 DF90 pop r13
- 259 01c4 CF90 pop r12
- 260 01c6 BF90 pop r11
- 261 01c8 AF90 pop r10
- 262 01ca 9F90 pop r9
- 263 01cc 8F90 pop r8
- 264 01ce 7F90 pop r7
- 265 01d0 6F90 pop r6
- 266 01d2 0895 ret
- 267 .size NutChatSendString, .-NutChatSendString
- 268 .section .text.strechr.constprop.1,"ax",@progbits
- 269 .type strechr.constprop.1, @function
- 270 strechr.constprop.1:
- 271 /* prologue: function */
- 272 /* frame size = 0 */
- 273 /* stack size = 0 */
- 274 .L__stack_usage = 0
- 275 0000 FC01 movw r30,r24
- 276 .L41:
- 277 0002 8081 ld r24,Z
- 278 0004 8823 tst r24
- 279 0006 01F0 breq .L49
- 280 0008 8C35 cpi r24,lo8(92)
- 281 000a 01F4 brne .L42
- 282 000c 8181 ldd r24,Z+1
- 283 000e 8823 tst r24
- 284 0010 01F0 breq .L48
- 285 0012 3296 adiw r30,2
- GAS LISTING /tmp/ccUl05vQ.s page 6
- 286 0014 00C0 rjmp .L41
- 287 .L42:
- 288 0016 8D32 cpi r24,lo8(45)
- 289 0018 01F0 breq .L47
- 290 .L48:
- 291 001a 3196 adiw r30,1
- 292 001c 00C0 rjmp .L41
- 293 .L49:
- 294 001e 90E0 ldi r25,0
- 295 0020 0895 ret
- 296 .L47:
- 297 0022 CF01 movw r24,r30
- 298 0024 0895 ret
- 299 .size strechr.constprop.1, .-strechr.constprop.1
- 300 .section .text.NutChatExpectString,"ax",@progbits
- 301 .global NutChatExpectString
- 302 .type NutChatExpectString, @function
- 303 NutChatExpectString:
- 304 0000 8F92 push r8
- 305 0002 9F92 push r9
- 306 0004 AF92 push r10
- 307 0006 BF92 push r11
- 308 0008 CF92 push r12
- 309 000a DF92 push r13
- 310 000c EF92 push r14
- 311 000e FF92 push r15
- 312 0010 0F93 push r16
- 313 0012 1F93 push r17
- 314 0014 CF93 push r28
- 315 0016 DF93 push r29
- 316 0018 1F92 push __zero_reg__
- 317 001a CDB7 in r28,__SP_L__
- 318 001c DEB7 in r29,__SP_H__
- 319 /* prologue: function */
- 320 /* frame size = 1 */
- 321 /* stack size = 13 */
- 322 .L__stack_usage = 13
- 323 001e 8C01 movw r16,r24
- 324 0020 D62E mov r13,r22
- 325 0022 C72E mov r12,r23
- 326 0024 E62E mov r14,r22
- 327 0026 F72E mov r15,r23
- 328 0028 82E0 ldi r24,lo8(2)
- 329 002a B82E mov r11,r24
- 330 .L51:
- 331 002c D701 movw r26,r14
- 332 002e 8C91 ld r24,X
- 333 0030 8823 tst r24
- 334 0032 01F4 brne .+2
- 335 0034 00C0 rjmp .L72
- 336 0036 41E0 ldi r20,lo8(1)
- 337 0038 50E0 ldi r21,0
- 338 003a BE01 movw r22,r28
- 339 003c 6F5F subi r22,-1
- 340 003e 7F4F sbci r23,-1
- 341 0040 D801 movw r26,r16
- 342 0042 8D91 ld r24,X+
- GAS LISTING /tmp/ccUl05vQ.s page 7
- 343 0044 9C91 ld r25,X
- 344 0046 0E94 0000 call _read
- 345 004a 0197 sbiw r24,1
- 346 004c 01F0 breq .+2
- 347 004e 00C0 rjmp .L70
- 348 0050 2981 ldd r18,Y+1
- 349 0052 F701 movw r30,r14
- 350 0054 8081 ld r24,Z
- 351 0056 8217 cp r24,r18
- 352 0058 01F0 breq .L53
- 353 005a ED2C mov r14,r13
- 354 005c FC2C mov r15,r12
- 355 .L53:
- 356 005e D701 movw r26,r14
- 357 0060 8C91 ld r24,X
- 358 0062 2813 cpse r18,r24
- 359 0064 00C0 rjmp .L54
- 360 0066 BFEF ldi r27,-1
- 361 0068 EB1A sub r14,r27
- 362 006a FB0A sbc r15,r27
- 363 .L54:
- 364 006c F801 movw r30,r16
- 365 006e A380 ldd r10,Z+3
- 366 0070 D801 movw r26,r16
- 367 0072 5896 adiw r26,24
- 368 0074 A801 movw r20,r16
- 369 0076 4C5F subi r20,-4
- 370 0078 5F4F sbci r21,-1
- 371 007a 80E0 ldi r24,0
- 372 007c 90E0 ldi r25,0
- 373 .L55:
- 374 007e 8A15 cp r24,r10
- 375 0080 00F4 brsh .L73
- 376 0082 3C91 ld r19,X
- 377 0084 FA01 movw r30,r20
- 378 0086 8190 ld r8,Z+
- 379 0088 9190 ld r9,Z+
- 380 008a AF01 movw r20,r30
- 381 008c B401 movw r22,r8
- 382 008e 630F add r22,r19
- 383 0090 711D adc r23,__zero_reg__
- 384 0092 FB01 movw r30,r22
- 385 0094 6081 ld r22,Z
- 386 0096 2613 cpse r18,r22
- 387 0098 00C0 rjmp .L56
- 388 009a 3F5F subi r19,lo8(-(1))
- 389 009c F401 movw r30,r8
- 390 009e E30F add r30,r19
- 391 00a0 F11D adc r31,__zero_reg__
- 392 00a2 6081 ld r22,Z
- 393 00a4 6111 cpse r22,__zero_reg__
- 394 00a6 00C0 rjmp .L57
- 395 00a8 0496 adiw r24,4
- 396 00aa 00C0 rjmp .L52
- 397 .L56:
- 398 00ac 31E0 ldi r19,lo8(1)
- 399 00ae F401 movw r30,r8
- GAS LISTING /tmp/ccUl05vQ.s page 8
- 400 00b0 6081 ld r22,Z
- 401 00b2 6213 cpse r22,r18
- 402 00b4 30E0 ldi r19,0
- 403 .L57:
- 404 00b6 3D93 st X+,r19
- 405 00b8 0196 adiw r24,1
- 406 00ba 00C0 rjmp .L55
- 407 .L73:
- 408 00bc D801 movw r26,r16
- 409 00be 9596 adiw r26,37
- 410 00c0 9C91 ld r25,X
- 411 00c2 9597 sbiw r26,37
- 412 00c4 1916 cp __zero_reg__,r25
- 413 00c6 04F0 brlt .+2
- 414 00c8 00C0 rjmp .L51
- 415 00ca 9496 adiw r26,36
- 416 00cc 8C91 ld r24,X
- 417 00ce 482F mov r20,r24
- 418 00d0 50E0 ldi r21,0
- 419 00d2 9230 cpi r25,lo8(2)
- 420 00d4 01F4 brne .L61
- 421 00d6 8F5F subi r24,lo8(-(1))
- 422 00d8 6091 0000 lds r22,chat_report
- 423 00dc 7091 0000 lds r23,chat_report+1
- 424 00e0 FB01 movw r30,r22
- 425 00e2 E40F add r30,r20
- 426 00e4 F51F adc r31,r21
- 427 00e6 2083 st Z,r18
- 428 00e8 00C0 rjmp .L62
- 429 .L61:
- 430 00ea D801 movw r26,r16
- 431 00ec 9296 adiw r26,34
- 432 00ee ED91 ld r30,X+
- 433 00f0 FC91 ld r31,X
- 434 00f2 9397 sbiw r26,34+1
- 435 00f4 DF01 movw r26,r30
- 436 00f6 A40F add r26,r20
- 437 00f8 B51F adc r27,r21
- 438 00fa 9C91 ld r25,X
- 439 00fc 2913 cpse r18,r25
- 440 00fe 00C0 rjmp .L63
- 441 0100 8F5F subi r24,lo8(-(1))
- 442 0102 6091 0000 lds r22,chat_report
- 443 0106 7091 0000 lds r23,chat_report+1
- 444 010a FB01 movw r30,r22
- 445 010c E40F add r30,r20
- 446 010e F51F adc r31,r21
- 447 0110 2083 st Z,r18
- 448 0112 D801 movw r26,r16
- 449 0114 9296 adiw r26,34
- 450 0116 ED91 ld r30,X+
- 451 0118 FC91 ld r31,X
- 452 011a 9397 sbiw r26,34+1
- 453 011c E80F add r30,r24
- 454 011e F11D adc r31,__zero_reg__
- 455 0120 9081 ld r25,Z
- 456 0122 9111 cpse r25,__zero_reg__
- GAS LISTING /tmp/ccUl05vQ.s page 9
- 457 0124 00C0 rjmp .L62
- 458 0126 9596 adiw r26,37
- 459 0128 BC92 st X,r11
- 460 012a 00C0 rjmp .L62
- 461 .L63:
- 462 012c 81E0 ldi r24,lo8(1)
- 463 012e 9081 ld r25,Z
- 464 0130 9213 cpse r25,r18
- 465 0132 80E0 ldi r24,0
- 466 .L62:
- 467 0134 F801 movw r30,r16
- 468 0136 84A3 std Z+36,r24
- 469 0138 00C0 rjmp .L51
- 470 .L72:
- 471 013a F801 movw r30,r16
- 472 013c 85A1 ldd r24,Z+37
- 473 013e 8230 cpi r24,lo8(2)
- 474 0140 01F4 brne .L71
- 475 0142 D4A0 ldd r13,Z+36
- 476 .L66:
- 477 0144 ED2C mov r14,r13
- 478 0146 F12C mov r15,__zero_reg__
- 479 0148 FFE1 ldi r31,lo8(31)
- 480 014a FD15 cp r31,r13
- 481 014c 00F0 brlo .L68
- 482 014e 41E0 ldi r20,lo8(1)
- 483 0150 50E0 ldi r21,0
- 484 0152 BE01 movw r22,r28
- 485 0154 6F5F subi r22,-1
- 486 0156 7F4F sbci r23,-1
- 487 0158 D801 movw r26,r16
- 488 015a 8D91 ld r24,X+
- 489 015c 9C91 ld r25,X
- 490 015e 0E94 0000 call _read
- 491 0162 0197 sbiw r24,1
- 492 0164 01F0 breq .L67
- 493 .L68:
- 494 0166 F801 movw r30,r16
- 495 0168 15A2 std Z+37,__zero_reg__
- 496 016a 8091 0000 lds r24,chat_report
- 497 016e 9091 0000 lds r25,chat_report+1
- 498 0172 FC01 movw r30,r24
- 499 0174 EE0D add r30,r14
- 500 0176 FF1D adc r31,r15
- 501 0178 1082 st Z,__zero_reg__
- 502 017a 00C0 rjmp .L71
- 503 .L67:
- 504 017c 8981 ldd r24,Y+1
- 505 017e 8032 cpi r24,lo8(32)
- 506 0180 04F0 brlt .L68
- 507 0182 2091 0000 lds r18,chat_report
- 508 0186 3091 0000 lds r19,chat_report+1
- 509 018a F901 movw r30,r18
- 510 018c EE0D add r30,r14
- 511 018e FF1D adc r31,r15
- 512 0190 8083 st Z,r24
- 513 0192 D394 inc r13
- GAS LISTING /tmp/ccUl05vQ.s page 10
- 514 0194 00C0 rjmp .L66
- 515 .L70:
- 516 0196 83E0 ldi r24,lo8(3)
- 517 0198 90E0 ldi r25,0
- 518 019a 00C0 rjmp .L52
- 519 .L71:
- 520 019c 80E0 ldi r24,0
- 521 019e 90E0 ldi r25,0
- 522 .L52:
- 523 /* epilogue start */
- 524 01a0 0F90 pop __tmp_reg__
- 525 01a2 DF91 pop r29
- 526 01a4 CF91 pop r28
- 527 01a6 1F91 pop r17
- 528 01a8 0F91 pop r16
- 529 01aa FF90 pop r15
- 530 01ac EF90 pop r14
- 531 01ae DF90 pop r13
- 532 01b0 CF90 pop r12
- 533 01b2 BF90 pop r11
- 534 01b4 AF90 pop r10
- 535 01b6 9F90 pop r9
- 536 01b8 8F90 pop r8
- 537 01ba 0895 ret
- 538 .size NutChatExpectString, .-NutChatExpectString
- 539 .section .rodata.str1.1
- 540 .LC1:
- 541 0002 4142 4F52 .string "ABORT"
- 541 5400
- 542 .LC2:
- 543 0008 5449 4D45 .string "TIMEOUT"
- 543 4F55 5400
- 544 .LC3:
- 545 0010 5245 504F .string "REPORT"
- 545 5254 00
- 546 .section .text.NutChatExpect,"ax",@progbits
- 547 .global NutChatExpect
- 548 .type NutChatExpect, @function
- 549 NutChatExpect:
- 550 0000 CF92 push r12
- 551 0002 DF92 push r13
- 552 0004 EF92 push r14
- 553 0006 FF92 push r15
- 554 0008 0F93 push r16
- 555 000a 1F93 push r17
- 556 000c CF93 push r28
- 557 000e DF93 push r29
- 558 /* prologue: function */
- 559 /* frame size = 0 */
- 560 /* stack size = 8 */
- 561 .L__stack_usage = 8
- 562 0010 8C01 movw r16,r24
- 563 0012 EB01 movw r28,r22
- 564 0014 60E0 ldi r22,lo8(.LC1)
- 565 0016 70E0 ldi r23,hi8(.LC1)
- 566 0018 CE01 movw r24,r28
- 567 001a 0E94 0000 call strcmp
- GAS LISTING /tmp/ccUl05vQ.s page 11
- 568 001e 0097 sbiw r24,0
- 569 0020 01F4 brne .L75
- 570 0022 21E0 ldi r18,lo8(1)
- 571 0024 00C0 rjmp .L90
- 572 .L75:
- 573 0026 60E0 ldi r22,lo8(.LC2)
- 574 0028 70E0 ldi r23,hi8(.LC2)
- 575 002a CE01 movw r24,r28
- 576 002c 0E94 0000 call strcmp
- 577 0030 0097 sbiw r24,0
- 578 0032 01F4 brne .L77
- 579 0034 22E0 ldi r18,lo8(2)
- 580 .L90:
- 581 0036 F801 movw r30,r16
- 582 .L91:
- 583 0038 2283 std Z+2,r18
- 584 003a 00C0 rjmp .L76
- 585 .L77:
- 586 003c 60E0 ldi r22,lo8(.LC3)
- 587 003e 70E0 ldi r23,hi8(.LC3)
- 588 0040 CE01 movw r24,r28
- 589 0042 0E94 0000 call strcmp
- 590 0046 0097 sbiw r24,0
- 591 0048 01F4 brne .L89
- 592 004a F801 movw r30,r16
- 593 004c 14A2 std Z+36,__zero_reg__
- 594 004e 21E0 ldi r18,lo8(1)
- 595 0050 25A3 std Z+37,r18
- 596 0052 23E0 ldi r18,lo8(3)
- 597 0054 00C0 rjmp .L91
- 598 .L81:
- 599 0056 CE01 movw r24,r28
- 600 0058 0E94 0000 call strechr.constprop.1
- 601 005c 0097 sbiw r24,0
- 602 005e 01F0 breq .L82
- 603 0060 6C01 movw r12,r24
- 604 0062 FFEF ldi r31,-1
- 605 0064 CF1A sub r12,r31
- 606 0066 DF0A sbc r13,r31
- 607 0068 FC01 movw r30,r24
- 608 006a 1082 st Z,__zero_reg__
- 609 006c C601 movw r24,r12
- 610 006e 0E94 0000 call strechr.constprop.1
- 611 0072 7C01 movw r14,r24
- 612 0074 0097 sbiw r24,0
- 613 0076 01F0 breq .L79
- 614 0078 FC01 movw r30,r24
- 615 007a 1082 st Z,__zero_reg__
- 616 007c 0196 adiw r24,1
- 617 007e 7C01 movw r14,r24
- 618 .L79:
- 619 0080 BE01 movw r22,r28
- 620 0082 C801 movw r24,r16
- 621 0084 0E94 0000 call NutChatExpectString
- 622 0088 8330 cpi r24,3
- 623 008a 9105 cpc r25,__zero_reg__
- 624 008c 01F4 brne .L76
- GAS LISTING /tmp/ccUl05vQ.s page 12
- 625 008e C114 cp r12,__zero_reg__
- 626 0090 D104 cpc r13,__zero_reg__
- 627 0092 01F0 breq .L84
- 628 0094 B601 movw r22,r12
- 629 0096 F801 movw r30,r16
- 630 0098 8081 ld r24,Z
- 631 009a 9181 ldd r25,Z+1
- 632 009c 0E94 0000 call NutChatSendString
- 633 00a0 0097 sbiw r24,0
- 634 00a2 01F4 brne .L76
- 635 00a4 E701 movw r28,r14
- 636 .L89:
- 637 00a6 2097 sbiw r28,0
- 638 00a8 01F4 brne .L81
- 639 00aa 00C0 rjmp .L92
- 640 .L82:
- 641 00ac C12C mov r12,__zero_reg__
- 642 00ae D12C mov r13,__zero_reg__
- 643 00b0 E12C mov r14,__zero_reg__
- 644 00b2 F12C mov r15,__zero_reg__
- 645 00b4 00C0 rjmp .L79
- 646 .L92:
- 647 00b6 80E0 ldi r24,0
- 648 00b8 90E0 ldi r25,0
- 649 00ba 00C0 rjmp .L76
- 650 .L84:
- 651 00bc 83E0 ldi r24,lo8(3)
- 652 00be 90E0 ldi r25,0
- 653 .L76:
- 654 /* epilogue start */
- 655 00c0 DF91 pop r29
- 656 00c2 CF91 pop r28
- 657 00c4 1F91 pop r17
- 658 00c6 0F91 pop r16
- 659 00c8 FF90 pop r15
- 660 00ca EF90 pop r14
- 661 00cc DF90 pop r13
- 662 00ce CF90 pop r12
- 663 00d0 0895 ret
- 664 .size NutChatExpect, .-NutChatExpect
- 665 .section .text.NutChatSend,"ax",@progbits
- 666 .global NutChatSend
- 667 .type NutChatSend, @function
- 668 NutChatSend:
- 669 0000 DF92 push r13
- 670 0002 EF92 push r14
- 671 0004 FF92 push r15
- 672 0006 0F93 push r16
- 673 0008 1F93 push r17
- 674 000a CF93 push r28
- 675 000c DF93 push r29
- 676 000e 00D0 rcall .
- 677 0010 1F92 push __zero_reg__
- 678 0012 CDB7 in r28,__SP_L__
- 679 0014 DEB7 in r29,__SP_H__
- 680 /* prologue: function */
- 681 /* frame size = 4 */
- GAS LISTING /tmp/ccUl05vQ.s page 13
- 682 /* stack size = 11 */
- 683 .L__stack_usage = 11
- 684 0016 7C01 movw r14,r24
- 685 0018 8B01 movw r16,r22
- 686 001a DC01 movw r26,r24
- 687 001c 1296 adiw r26,2
- 688 001e 8C91 ld r24,X
- 689 0020 1297 sbiw r26,2
- 690 0022 8130 cpi r24,lo8(1)
- 691 0024 01F0 breq .+2
- 692 0026 00C0 rjmp .L94
- 693 0028 1296 adiw r26,2
- 694 002a 1C92 st X,__zero_reg__
- 695 002c 1297 sbiw r26,2
- 696 002e 1396 adiw r26,3
- 697 0030 DC90 ld r13,X
- 698 0032 B9E0 ldi r27,lo8(9)
- 699 0034 BD15 cp r27,r13
- 700 0036 00F4 brsh .+2
- 701 0038 00C0 rjmp .L116
- 702 003a FB01 movw r30,r22
- 703 0:
- 704 003c 0190 ld __tmp_reg__,Z+
- 705 003e 0020 tst __tmp_reg__
- 706 0040 01F4 brne 0b
- 707 0042 CF01 movw r24,r30
- 708 0044 861B sub r24,r22
- 709 0046 970B sbc r25,r23
- 710 0048 0E94 0000 call malloc
- 711 004c FC01 movw r30,r24
- 712 004e 81E0 ldi r24,lo8(1)
- 713 0050 8D0D add r24,r13
- 714 0052 D701 movw r26,r14
- 715 0054 1396 adiw r26,3
- 716 0056 8C93 st X,r24
- 717 0058 1397 sbiw r26,3
- 718 005a AD0D add r26,r13
- 719 005c B11D adc r27,__zero_reg__
- 720 005e AD0D add r26,r13
- 721 0060 B11D adc r27,__zero_reg__
- 722 0062 1596 adiw r26,4+1
- 723 0064 FC93 st X,r31
- 724 0066 EE93 st -X,r30
- 725 0068 1497 sbiw r26,4
- 726 006a 6DE0 ldi r22,lo8(13)
- 727 006c 70E2 ldi r23,lo8(32)
- 728 006e 89E0 ldi r24,lo8(9)
- 729 0070 E82E mov r14,r24
- 730 0072 98E0 ldi r25,lo8(8)
- 731 0074 D92E mov r13,r25
- 732 0076 2AE0 ldi r18,lo8(10)
- 733 0078 F22E mov r15,r18
- 734 .L96:
- 735 007a D801 movw r26,r16
- 736 007c 8C91 ld r24,X
- 737 007e 8823 tst r24
- 738 0080 01F4 brne .+2
- GAS LISTING /tmp/ccUl05vQ.s page 14
- 739 0082 00C0 rjmp .L122
- 740 0084 A801 movw r20,r16
- 741 0086 8E35 cpi r24,lo8(94)
- 742 0088 01F4 brne .L97
- 743 008a 4E5F subi r20,-2
- 744 008c 5F4F sbci r21,-1
- 745 008e D801 movw r26,r16
- 746 0090 1196 adiw r26,1
- 747 0092 8C91 ld r24,X
- 748 0094 8F71 andi r24,lo8(31)
- 749 0096 8083 st Z,r24
- 750 0098 00C0 rjmp .L98
- 751 .L97:
- 752 009a 8C35 cpi r24,lo8(92)
- 753 009c 01F0 breq .+2
- 754 009e 00C0 rjmp .L99
- 755 00a0 4E5F subi r20,-2
- 756 00a2 5F4F sbci r21,-1
- 757 00a4 D801 movw r26,r16
- 758 00a6 1196 adiw r26,1
- 759 00a8 8C91 ld r24,X
- 760 00aa 8237 cpi r24,lo8(114)
- 761 00ac 01F0 breq .L101
- 762 00ae 04F4 brge .L102
- 763 00b0 8236 cpi r24,lo8(98)
- 764 00b2 01F0 breq .L103
- 765 00b4 8E36 cpi r24,lo8(110)
- 766 00b6 01F4 brne .L100
- 767 00b8 F082 st Z,r15
- 768 00ba 00C0 rjmp .L120
- 769 .L102:
- 770 00bc 8337 cpi r24,lo8(115)
- 771 00be 01F0 breq .L105
- 772 00c0 8437 cpi r24,lo8(116)
- 773 00c2 01F4 brne .L100
- 774 00c4 E082 st Z,r14
- 775 00c6 00C0 rjmp .L120
- 776 .L103:
- 777 00c8 D082 st Z,r13
- 778 00ca 00C0 rjmp .L120
- 779 .L101:
- 780 00cc 6083 st Z,r22
- 781 00ce 00C0 rjmp .L120
- 782 .L105:
- 783 00d0 7083 st Z,r23
- 784 00d2 00C0 rjmp .L120
- 785 .L100:
- 786 00d4 90ED ldi r25,lo8(-48)
- 787 00d6 980F add r25,r24
- 788 00d8 9830 cpi r25,lo8(8)
- 789 00da 00F4 brsh .L107
- 790 00dc 8770 andi r24,lo8(7)
- 791 00de D801 movw r26,r16
- 792 00e0 1296 adiw r26,2
- 793 00e2 9C91 ld r25,X
- 794 00e4 20ED ldi r18,lo8(-48)
- 795 00e6 290F add r18,r25
- GAS LISTING /tmp/ccUl05vQ.s page 15
- 796 00e8 2830 cpi r18,lo8(8)
- 797 00ea 00F4 brsh .L107
- 798 00ec B8E0 ldi r27,lo8(8)
- 799 00ee 8B9F mul r24,r27
- 800 00f0 9001 movw r18,r0
- 801 00f2 1124 clr __zero_reg__
- 802 00f4 892F mov r24,r25
- 803 00f6 8770 andi r24,lo8(7)
- 804 00f8 822B or r24,r18
- 805 00fa D801 movw r26,r16
- 806 00fc 1396 adiw r26,3
- 807 00fe 2C91 ld r18,X
- 808 0100 90ED ldi r25,lo8(-48)
- 809 0102 920F add r25,r18
- 810 0104 9830 cpi r25,lo8(8)
- 811 0106 00F0 brlo .L108
- 812 0108 A801 movw r20,r16
- 813 010a 4D5F subi r20,-3
- 814 010c 5F4F sbci r21,-1
- 815 010e 00C0 rjmp .L107
- 816 .L108:
- 817 0110 B8E0 ldi r27,lo8(8)
- 818 0112 8B02 muls r24,r27
- 819 0114 C001 movw r24,r0
- 820 0116 1124 clr __zero_reg__
- 821 0118 A801 movw r20,r16
- 822 011a 4C5F subi r20,-4
- 823 011c 5F4F sbci r21,-1
- 824 011e 2770 andi r18,lo8(7)
- 825 0120 822B or r24,r18
- 826 .L107:
- 827 0122 8823 tst r24
- 828 0124 01F0 breq .L98
- 829 0126 00C0 rjmp .L121
- 830 .L99:
- 831 0128 4F5F subi r20,-1
- 832 012a 5F4F sbci r21,-1
- 833 .L121:
- 834 012c 8083 st Z,r24
- 835 .L120:
- 836 012e 3196 adiw r30,1
- 837 .L98:
- 838 0130 8A01 movw r16,r20
- 839 0132 00C0 rjmp .L96
- 840 .L94:
- 841 0134 8230 cpi r24,lo8(2)
- 842 0136 01F4 brne .L110
- 843 0138 F701 movw r30,r14
- 844 013a 1282 std Z+2,__zero_reg__
- 845 013c CB01 movw r24,r22
- 846 013e 0E94 0000 call atol
- 847 0142 9B01 movw r18,r22
- 848 0144 AC01 movw r20,r24
- 849 0146 A8EE ldi r26,lo8(-24)
- 850 0148 B3E0 ldi r27,lo8(3)
- 851 014a 0E94 0000 call __muluhisi3
- 852 014e 1616 cp __zero_reg__,r22
- GAS LISTING /tmp/ccUl05vQ.s page 16
- 853 0150 1706 cpc __zero_reg__,r23
- 854 0152 1806 cpc __zero_reg__,r24
- 855 0154 1906 cpc __zero_reg__,r25
- 856 0156 04F4 brge .L111
- 857 0158 6983 std Y+1,r22
- 858 015a 7A83 std Y+2,r23
- 859 015c 8B83 std Y+3,r24
- 860 015e 9C83 std Y+4,r25
- 861 0160 00C0 rjmp .L112
- 862 .L111:
- 863 0162 88EC ldi r24,lo8(-56)
- 864 0164 9FEA ldi r25,lo8(-81)
- 865 0166 A0E0 ldi r26,0
- 866 0168 B0E0 ldi r27,0
- 867 016a 8983 std Y+1,r24
- 868 016c 9A83 std Y+2,r25
- 869 016e AB83 std Y+3,r26
- 870 0170 BC83 std Y+4,r27
- 871 .L112:
- 872 0172 AE01 movw r20,r28
- 873 0174 4F5F subi r20,-1
- 874 0176 5F4F sbci r21,-1
- 875 0178 6BE0 ldi r22,lo8(11)
- 876 017a 71E0 ldi r23,lo8(1)
- 877 017c D701 movw r26,r14
- 878 017e 8D91 ld r24,X+
- 879 0180 9C91 ld r25,X
- 880 0182 0E94 0000 call _ioctl
- 881 0186 00C0 rjmp .L123
- 882 .L110:
- 883 0188 8330 cpi r24,lo8(3)
- 884 018a 01F4 brne .L113
- 885 018c F701 movw r30,r14
- 886 018e 1282 std Z+2,__zero_reg__
- 887 0190 81E2 ldi r24,lo8(33)
- 888 0192 90E0 ldi r25,0
- 889 0194 0E94 0000 call malloc
- 890 0198 9093 0000 sts chat_report+1,r25
- 891 019c 8093 0000 sts chat_report,r24
- 892 01a0 D801 movw r26,r16
- 893 0:
- 894 01a2 0D90 ld __tmp_reg__,X+
- 895 01a4 0020 tst __tmp_reg__
- 896 01a6 01F4 brne 0b
- 897 01a8 CD01 movw r24,r26
- 898 01aa 801B sub r24,r16
- 899 01ac 910B sbc r25,r17
- 900 01ae 0E94 0000 call malloc
- 901 01b2 F701 movw r30,r14
- 902 01b4 82A3 std Z+34,r24
- 903 01b6 93A3 std Z+35,r25
- 904 01b8 D801 movw r26,r16
- 905 01ba FC01 movw r30,r24
- 906 .L114:
- 907 01bc 8D91 ld r24,X+
- 908 01be 8823 tst r24
- 909 01c0 01F0 breq .L122
- GAS LISTING /tmp/ccUl05vQ.s page 17
- 910 01c2 8193 st Z+,r24
- 911 01c4 00C0 rjmp .L114
- 912 .L122:
- 913 01c6 1082 st Z,__zero_reg__
- 914 .L123:
- 915 01c8 80E0 ldi r24,0
- 916 01ca 90E0 ldi r25,0
- 917 01cc 00C0 rjmp .L95
- 918 .L113:
- 919 01ce D701 movw r26,r14
- 920 01d0 8D91 ld r24,X+
- 921 01d2 9C91 ld r25,X
- 922 01d4 0E94 0000 call NutChatSendString
- 923 01d8 00C0 rjmp .L95
- 924 .L116:
- 925 01da 81E0 ldi r24,lo8(1)
- 926 01dc 90E0 ldi r25,0
- 927 .L95:
- 928 /* epilogue start */
- 929 01de 0F90 pop __tmp_reg__
- 930 01e0 0F90 pop __tmp_reg__
- 931 01e2 0F90 pop __tmp_reg__
- 932 01e4 0F90 pop __tmp_reg__
- 933 01e6 DF91 pop r29
- 934 01e8 CF91 pop r28
- 935 01ea 1F91 pop r17
- 936 01ec 0F91 pop r16
- 937 01ee FF90 pop r15
- 938 01f0 EF90 pop r14
- 939 01f2 DF90 pop r13
- 940 01f4 0895 ret
- 941 .size NutChatSend, .-NutChatSend
- 942 .section .text.NutChatCreate,"ax",@progbits
- 943 .global NutChatCreate
- 944 .type NutChatCreate, @function
- 945 NutChatCreate:
- 946 0000 CF93 push r28
- 947 0002 DF93 push r29
- 948 /* prologue: function */
- 949 /* frame size = 0 */
- 950 /* stack size = 2 */
- 951 .L__stack_usage = 2
- 952 0004 EC01 movw r28,r24
- 953 0006 86E2 ldi r24,lo8(38)
- 954 0008 90E0 ldi r25,0
- 955 000a 0E94 0000 call malloc
- 956 000e 0097 sbiw r24,0
- 957 0010 01F0 breq .L125
- 958 0012 26E2 ldi r18,lo8(38)
- 959 0014 FC01 movw r30,r24
- 960 0:
- 961 0016 1192 st Z+,__zero_reg__
- 962 0018 2A95 dec r18
- 963 001a 01F4 brne 0b
- 964 001c FC01 movw r30,r24
- 965 001e D183 std Z+1,r29
- 966 0020 C083 st Z,r28
- GAS LISTING /tmp/ccUl05vQ.s page 18
- 967 .L125:
- 968 /* epilogue start */
- 969 0022 DF91 pop r29
- 970 0024 CF91 pop r28
- 971 0026 0895 ret
- 972 .size NutChatCreate, .-NutChatCreate
- 973 .section .text.NutChatDestroy,"ax",@progbits
- 974 .global NutChatDestroy
- 975 .type NutChatDestroy, @function
- 976 NutChatDestroy:
- 977 0000 0F93 push r16
- 978 0002 1F93 push r17
- 979 0004 CF93 push r28
- 980 /* prologue: function */
- 981 /* frame size = 0 */
- 982 /* stack size = 3 */
- 983 .L__stack_usage = 3
- 984 0006 8C01 movw r16,r24
- 985 0008 892B or r24,r25
- 986 000a 01F0 breq .L129
- 987 000c C0E0 ldi r28,0
- 988 .L131:
- 989 000e F801 movw r30,r16
- 990 0010 8381 ldd r24,Z+3
- 991 0012 C817 cp r28,r24
- 992 0014 00F4 brsh .L133
- 993 0016 F801 movw r30,r16
- 994 0018 EC0F add r30,r28
- 995 001a F11D adc r31,__zero_reg__
- 996 001c EC0F add r30,r28
- 997 001e F11D adc r31,__zero_reg__
- 998 0020 8481 ldd r24,Z+4
- 999 0022 9581 ldd r25,Z+5
- 1000 0024 0E94 0000 call free
- 1001 0028 CF5F subi r28,lo8(-(1))
- 1002 002a 00C0 rjmp .L131
- 1003 .L133:
- 1004 002c C801 movw r24,r16
- 1005 /* epilogue start */
- 1006 002e CF91 pop r28
- 1007 0030 1F91 pop r17
- 1008 0032 0F91 pop r16
- 1009 0034 0C94 0000 jmp free
- 1010 .L129:
- 1011 /* epilogue start */
- 1012 0038 CF91 pop r28
- 1013 003a 1F91 pop r17
- 1014 003c 0F91 pop r16
- 1015 003e 0895 ret
- 1016 .size NutChatDestroy, .-NutChatDestroy
- 1017 .section .text.NutChatProc,"ax",@progbits
- 1018 .type NutChatProc, @function
- 1019 NutChatProc:
- 1020 0000 7F92 push r7
- 1021 0002 8F92 push r8
- 1022 0004 9F92 push r9
- 1023 0006 AF92 push r10
- GAS LISTING /tmp/ccUl05vQ.s page 19
- 1024 0008 BF92 push r11
- 1025 000a CF92 push r12
- 1026 000c DF92 push r13
- 1027 000e EF92 push r14
- 1028 0010 FF92 push r15
- 1029 0012 0F93 push r16
- 1030 0014 1F93 push r17
- 1031 0016 CF93 push r28
- 1032 0018 DF93 push r29
- 1033 001a CDB7 in r28,__SP_L__
- 1034 001c DEB7 in r29,__SP_H__
- 1035 001e 2C97 sbiw r28,12
- 1036 0020 0FB6 in __tmp_reg__,__SREG__
- 1037 0022 F894 cli
- 1038 0024 DEBF out __SP_H__,r29
- 1039 0026 0FBE out __SREG__,__tmp_reg__
- 1040 0028 CDBF out __SP_L__,r28
- 1041 /* prologue: function */
- 1042 /* frame size = 12 */
- 1043 /* stack size = 25 */
- 1044 .L__stack_usage = 25
- 1045 002a 5C01 movw r10,r24
- 1046 002c 7B01 movw r14,r22
- 1047 002e 0E94 0000 call NutChatCreate
- 1048 0032 4C01 movw r8,r24
- 1049 0034 892B or r24,r25
- 1050 0036 01F4 brne .+2
- 1051 0038 00C0 rjmp .L153
- 1052 003a AE01 movw r20,r28
- 1053 003c 4B5F subi r20,-5
- 1054 003e 5F4F sbci r21,-1
- 1055 0040 6CE0 ldi r22,lo8(12)
- 1056 0042 71E0 ldi r23,lo8(1)
- 1057 0044 C501 movw r24,r10
- 1058 0046 0E94 0000 call _ioctl
- 1059 004a AE01 movw r20,r28
- 1060 004c 4F5F subi r20,-1
- 1061 004e 5F4F sbci r21,-1
- 1062 0050 6EE0 ldi r22,lo8(14)
- 1063 0052 71E0 ldi r23,lo8(1)
- 1064 0054 C501 movw r24,r10
- 1065 0056 0E94 0000 call _ioctl
- 1066 005a 88EC ldi r24,lo8(-56)
- 1067 005c 9FEA ldi r25,lo8(-81)
- 1068 005e A0E0 ldi r26,0
- 1069 0060 B0E0 ldi r27,0
- 1070 0062 8987 std Y+9,r24
- 1071 0064 9A87 std Y+10,r25
- 1072 0066 AB87 std Y+11,r26
- 1073 0068 BC87 std Y+12,r27
- 1074 006a AE01 movw r20,r28
- 1075 006c 475F subi r20,-9
- 1076 006e 5F4F sbci r21,-1
- 1077 0070 6BE0 ldi r22,lo8(11)
- 1078 0072 71E0 ldi r23,lo8(1)
- 1079 0074 C501 movw r24,r10
- 1080 0076 0E94 0000 call _ioctl
- GAS LISTING /tmp/ccUl05vQ.s page 20
- 1081 007a 88E8 ldi r24,lo8(-120)
- 1082 007c 93E1 ldi r25,lo8(19)
- 1083 007e A0E0 ldi r26,0
- 1084 0080 B0E0 ldi r27,0
- 1085 0082 8987 std Y+9,r24
- 1086 0084 9A87 std Y+10,r25
- 1087 0086 AB87 std Y+11,r26
- 1088 0088 BC87 std Y+12,r27
- 1089 008a AE01 movw r20,r28
- 1090 008c 475F subi r20,-9
- 1091 008e 5F4F sbci r21,-1
- 1092 0090 6DE0 ldi r22,lo8(13)
- 1093 0092 71E0 ldi r23,lo8(1)
- 1094 0094 C501 movw r24,r10
- 1095 0096 0E94 0000 call _ioctl
- 1096 009a 712C mov r7,__zero_reg__
- 1097 009c C12C mov r12,__zero_reg__
- 1098 009e D12C mov r13,__zero_reg__
- 1099 .L136:
- 1100 00a0 F701 movw r30,r14
- 1101 00a2 8081 ld r24,Z
- 1102 00a4 8111 cpse r24,__zero_reg__
- 1103 00a6 00C0 rjmp .L150
- 1104 .L152:
- 1105 00a8 AE01 movw r20,r28
- 1106 00aa 4B5F subi r20,-5
- 1107 00ac 5F4F sbci r21,-1
- 1108 00ae 6BE0 ldi r22,lo8(11)
- 1109 00b0 71E0 ldi r23,lo8(1)
- 1110 00b2 C501 movw r24,r10
- 1111 00b4 0E94 0000 call _ioctl
- 1112 00b8 AE01 movw r20,r28
- 1113 00ba 4F5F subi r20,-1
- 1114 00bc 5F4F sbci r21,-1
- 1115 00be 6DE0 ldi r22,lo8(13)
- 1116 00c0 71E0 ldi r23,lo8(1)
- 1117 00c2 C501 movw r24,r10
- 1118 00c4 0E94 0000 call _ioctl
- 1119 00c8 C401 movw r24,r8
- 1120 00ca 0E94 0000 call NutChatDestroy
- 1121 00ce C601 movw r24,r12
- 1122 00d0 00C0 rjmp .L135
- 1123 .L150:
- 1124 00d2 C114 cp r12,__zero_reg__
- 1125 00d4 D104 cpc r13,__zero_reg__
- 1126 00d6 01F4 brne .L152
- 1127 00d8 8032 cpi r24,lo8(32)
- 1128 00da 01F0 breq .L137
- 1129 00dc 97EF ldi r25,lo8(-9)
- 1130 00de 980F add r25,r24
- 1131 00e0 9230 cpi r25,lo8(2)
- 1132 00e2 00F0 brlo .L137
- 1133 00e4 8D30 cpi r24,lo8(13)
- 1134 00e6 01F4 brne .L138
- 1135 .L137:
- 1136 00e8 8701 movw r16,r14
- 1137 00ea 0F5F subi r16,-1
- GAS LISTING /tmp/ccUl05vQ.s page 21
- 1138 00ec 1F4F sbci r17,-1
- 1139 00ee 00C0 rjmp .L139
- 1140 .L138:
- 1141 00f0 8232 cpi r24,lo8(34)
- 1142 00f2 01F0 breq .L140
- 1143 00f4 8732 cpi r24,lo8(39)
- 1144 00f6 01F0 breq .L140
- 1145 00f8 F701 movw r30,r14
- 1146 00fa 00C0 rjmp .L141
- 1147 .L140:
- 1148 00fc 9FEF ldi r25,-1
- 1149 00fe E91A sub r14,r25
- 1150 0100 F90A sbc r15,r25
- 1151 0102 8701 movw r16,r14
- 1152 .L142:
- 1153 0104 F801 movw r30,r16
- 1154 0106 9081 ld r25,Z
- 1155 0108 8917 cp r24,r25
- 1156 010a 01F0 breq .L143
- 1157 010c 9923 tst r25
- 1158 010e 01F0 breq .L154
- 1159 0110 9801 movw r18,r16
- 1160 0112 2F5F subi r18,-1
- 1161 0114 3F4F sbci r19,-1
- 1162 0116 9C35 cpi r25,lo8(92)
- 1163 0118 01F4 brne .L144
- 1164 011a F801 movw r30,r16
- 1165 011c 9181 ldd r25,Z+1
- 1166 011e 9923 tst r25
- 1167 0120 01F0 breq .L144
- 1168 0122 2F5F subi r18,-1
- 1169 0124 3F4F sbci r19,-1
- 1170 .L144:
- 1171 0126 8901 movw r16,r18
- 1172 0128 00C0 rjmp .L142
- 1173 .L179:
- 1174 012a 97EF ldi r25,lo8(-9)
- 1175 012c 980F add r25,r24
- 1176 012e 9230 cpi r25,lo8(2)
- 1177 0130 00F0 brlo .L143
- 1178 0132 8D30 cpi r24,lo8(13)
- 1179 0134 01F0 breq .L143
- 1180 .L141:
- 1181 0136 8F01 movw r16,r30
- 1182 0138 8191 ld r24,Z+
- 1183 013a 982F mov r25,r24
- 1184 013c 9F7D andi r25,lo8(-33)
- 1185 013e 01F4 brne .L179
- 1186 0140 00C0 rjmp .L143
- 1187 .L154:
- 1188 0142 CC24 clr r12
- 1189 0144 C394 inc r12
- 1190 0146 D12C mov r13,__zero_reg__
- 1191 .L143:
- 1192 0148 F801 movw r30,r16
- 1193 014a 8081 ld r24,Z
- 1194 014c 8823 tst r24
- GAS LISTING /tmp/ccUl05vQ.s page 22
- 1195 014e 01F0 breq .L146
- 1196 0150 1082 st Z,__zero_reg__
- 1197 0152 0F5F subi r16,-1
- 1198 0154 1F4F sbci r17,-1
- 1199 .L146:
- 1200 0156 CD28 or r12,r13
- 1201 0158 01F4 brne .L155
- 1202 015a B701 movw r22,r14
- 1203 015c C401 movw r24,r8
- 1204 015e 7720 tst r7
- 1205 0160 01F0 breq .L147
- 1206 0162 0E94 0000 call NutChatSend
- 1207 0166 00C0 rjmp .L178
- 1208 .L147:
- 1209 0168 0E94 0000 call NutChatExpect
- 1210 .L178:
- 1211 016c 6C01 movw r12,r24
- 1212 016e 81E0 ldi r24,lo8(1)
- 1213 0170 7110 cpse r7,__zero_reg__
- 1214 0172 80E0 ldi r24,0
- 1215 .L149:
- 1216 0174 782E mov r7,r24
- 1217 0176 00C0 rjmp .L139
- 1218 .L155:
- 1219 0178 CC24 clr r12
- 1220 017a C394 inc r12
- 1221 017c D12C mov r13,__zero_reg__
- 1222 .L139:
- 1223 017e 7801 movw r14,r16
- 1224 0180 00C0 rjmp .L136
- 1225 .L153:
- 1226 0182 82E0 ldi r24,lo8(2)
- 1227 0184 90E0 ldi r25,0
- 1228 .L135:
- 1229 /* epilogue start */
- 1230 0186 2C96 adiw r28,12
- 1231 0188 0FB6 in __tmp_reg__,__SREG__
- 1232 018a F894 cli
- 1233 018c DEBF out __SP_H__,r29
- 1234 018e 0FBE out __SREG__,__tmp_reg__
- 1235 0190 CDBF out __SP_L__,r28
- 1236 0192 DF91 pop r29
- 1237 0194 CF91 pop r28
- 1238 0196 1F91 pop r17
- 1239 0198 0F91 pop r16
- 1240 019a FF90 pop r15
- 1241 019c EF90 pop r14
- 1242 019e DF90 pop r13
- 1243 01a0 CF90 pop r12
- 1244 01a2 BF90 pop r11
- 1245 01a4 AF90 pop r10
- 1246 01a6 9F90 pop r9
- 1247 01a8 8F90 pop r8
- 1248 01aa 7F90 pop r7
- 1249 01ac 0895 ret
- 1250 .size NutChatProc, .-NutChatProc
- 1251 .section .text.NutChat,"ax",@progbits
- GAS LISTING /tmp/ccUl05vQ.s page 23
- 1252 .global NutChat
- 1253 .type NutChat, @function
- 1254 NutChat:
- 1255 0000 0F93 push r16
- 1256 0002 1F93 push r17
- 1257 0004 CF93 push r28
- 1258 0006 DF93 push r29
- 1259 /* prologue: function */
- 1260 /* frame size = 0 */
- 1261 /* stack size = 4 */
- 1262 .L__stack_usage = 4
- 1263 0008 8C01 movw r16,r24
- 1264 000a CB01 movw r24,r22
- 1265 000c 0E94 0000 call strdup
- 1266 0010 EC01 movw r28,r24
- 1267 0012 0097 sbiw r24,0
- 1268 0014 01F0 breq .L182
- 1269 0016 BC01 movw r22,r24
- 1270 0018 C801 movw r24,r16
- 1271 001a 0E94 0000 call NutChatProc
- 1272 001e 8C01 movw r16,r24
- 1273 0020 CE01 movw r24,r28
- 1274 0022 0E94 0000 call free
- 1275 0026 00C0 rjmp .L181
- 1276 .L182:
- 1277 0028 0FEF ldi r16,lo8(-1)
- 1278 002a 1FEF ldi r17,lo8(-1)
- 1279 .L181:
- 1280 002c C801 movw r24,r16
- 1281 /* epilogue start */
- 1282 002e DF91 pop r29
- 1283 0030 CF91 pop r28
- 1284 0032 1F91 pop r17
- 1285 0034 0F91 pop r16
- 1286 0036 0895 ret
- 1287 .size NutChat, .-NutChat
- 1288 .section .text.NutChat_P,"ax",@progbits
- 1289 .global NutChat_P
- 1290 .type NutChat_P, @function
- 1291 NutChat_P:
- 1292 0000 EF92 push r14
- 1293 0002 FF92 push r15
- 1294 0004 0F93 push r16
- 1295 0006 1F93 push r17
- 1296 0008 CF93 push r28
- 1297 000a DF93 push r29
- 1298 000c 1F92 push __zero_reg__
- 1299 000e 1F92 push __zero_reg__
- 1300 0010 CDB7 in r28,__SP_L__
- 1301 0012 DEB7 in r29,__SP_H__
- 1302 /* prologue: function */
- 1303 /* frame size = 2 */
- 1304 /* stack size = 8 */
- 1305 .L__stack_usage = 8
- 1306 0014 8C01 movw r16,r24
- 1307 0016 CB01 movw r24,r22
- 1308 0018 6983 std Y+1,r22
- GAS LISTING /tmp/ccUl05vQ.s page 24
- 1309 001a 7A83 std Y+2,r23
- 1310 001c 0E94 0000 call __strlen_P
- 1311 0020 0196 adiw r24,1
- 1312 0022 0E94 0000 call malloc
- 1313 0026 7C01 movw r14,r24
- 1314 0028 6981 ldd r22,Y+1
- 1315 002a 7A81 ldd r23,Y+2
- 1316 002c 0097 sbiw r24,0
- 1317 002e 01F0 breq .L185
- 1318 0030 0E94 0000 call strcpy_P
- 1319 0034 B701 movw r22,r14
- 1320 0036 C801 movw r24,r16
- 1321 0038 0E94 0000 call NutChatProc
- 1322 003c 8C01 movw r16,r24
- 1323 003e C701 movw r24,r14
- 1324 0040 0E94 0000 call free
- 1325 0044 00C0 rjmp .L184
- 1326 .L185:
- 1327 0046 0FEF ldi r16,lo8(-1)
- 1328 0048 1FEF ldi r17,lo8(-1)
- 1329 .L184:
- 1330 004a C801 movw r24,r16
- 1331 /* epilogue start */
- 1332 004c 0F90 pop __tmp_reg__
- 1333 004e 0F90 pop __tmp_reg__
- 1334 0050 DF91 pop r29
- 1335 0052 CF91 pop r28
- 1336 0054 1F91 pop r17
- 1337 0056 0F91 pop r16
- 1338 0058 FF90 pop r15
- 1339 005a EF90 pop r14
- 1340 005c 0895 ret
- 1341 .size NutChat_P, .-NutChat_P
- 1342 .comm chat_report,2,1
- 1343 .ident "GCC: (GNU) 5.3.0"
- 1344 .global __do_copy_data
- 1345 .global __do_clear_bss
- GAS LISTING /tmp/ccUl05vQ.s page 25
- DEFINED SYMBOLS
- *ABS*:0000000000000000 chat.c
- /tmp/ccUl05vQ.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccUl05vQ.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccUl05vQ.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccUl05vQ.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccUl05vQ.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccUl05vQ.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccUl05vQ.s:13 .text.NutChatSendString:0000000000000000 NutChatSendString
- /tmp/ccUl05vQ.s:270 .text.strechr.constprop.1:0000000000000000 strechr.constprop.1
- /tmp/ccUl05vQ.s:303 .text.NutChatExpectString:0000000000000000 NutChatExpectString
- *COM*:0000000000000002 chat_report
- /tmp/ccUl05vQ.s:549 .text.NutChatExpect:0000000000000000 NutChatExpect
- /tmp/ccUl05vQ.s:668 .text.NutChatSend:0000000000000000 NutChatSend
- /tmp/ccUl05vQ.s:945 .text.NutChatCreate:0000000000000000 NutChatCreate
- /tmp/ccUl05vQ.s:976 .text.NutChatDestroy:0000000000000000 NutChatDestroy
- /tmp/ccUl05vQ.s:1019 .text.NutChatProc:0000000000000000 NutChatProc
- /tmp/ccUl05vQ.s:1254 .text.NutChat:0000000000000000 NutChat
- /tmp/ccUl05vQ.s:1291 .text.NutChat_P:0000000000000000 NutChat_P
- UNDEFINED SYMBOLS
- _read
- _write
- NutSleep
- NutDelay
- strcmp
- malloc
- atol
- __muluhisi3
- _ioctl
- free
- strdup
- __strlen_P
- strcpy_P
- __do_copy_data
- __do_clear_bss
|