| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542 |
- GAS LISTING /tmp/ccLyalLZ.s page 1
- 1 .file "term.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.TermRefreshLineEnd,"ax",@progbits
- 9 .type TermRefreshLineEnd, @function
- 10 TermRefreshLineEnd:
- 11 0000 CF92 push r12
- 12 0002 DF92 push r13
- 13 0004 EF92 push r14
- 14 0006 FF92 push r15
- 15 0008 0F93 push r16
- 16 000a 1F93 push r17
- 17 000c CF93 push r28
- 18 000e DF93 push r29
- 19 0010 1F92 push __zero_reg__
- 20 0012 CDB7 in r28,__SP_L__
- 21 0014 DEB7 in r29,__SP_H__
- 22 /* prologue: function */
- 23 /* frame size = 1 */
- 24 /* stack size = 9 */
- 25 .L__stack_usage = 9
- 26 0016 6C01 movw r12,r24
- 27 0018 142F mov r17,r20
- 28 001a DC01 movw r26,r24
- 29 001c 5996 adiw r26,25
- 30 001e 8C91 ld r24,X
- 31 0020 5997 sbiw r26,25
- 32 0022 E42E mov r14,r20
- 33 0024 F12C mov r15,__zero_reg__
- 34 0026 689F mul r22,r24
- 35 0028 E00C add r14,r0
- 36 002a F11C adc r15,r1
- 37 002c 1124 clr __zero_reg__
- 38 002e 5C96 adiw r26,28
- 39 0030 8D91 ld r24,X+
- 40 0032 9C91 ld r25,X
- 41 0034 5D97 sbiw r26,28+1
- 42 0036 E80E add r14,r24
- 43 0038 F91E adc r15,r25
- 44 003a 5296 adiw r26,18
- 45 003c 8C91 ld r24,X
- 46 003e 5297 sbiw r26,18
- 47 0040 80FF sbrs r24,0
- 48 0042 00C0 rjmp .L2
- 49 0044 5096 adiw r26,16
- 50 0046 ED91 ld r30,X+
- 51 0048 FC91 ld r31,X
- 52 004a 5197 sbiw r26,16+1
- 53 004c 80E0 ldi r24,0
- 54 004e 6983 std Y+1,r22
- 55 0050 1995 eicall
- 56 0052 6981 ldd r22,Y+1
- 57 .L2:
- GAS LISTING /tmp/ccLyalLZ.s page 2
- 58 0054 F601 movw r30,r12
- 59 0056 808D ldd r24,Z+24
- 60 0058 0084 ldd __tmp_reg__,Z+8
- 61 005a F185 ldd r31,Z+9
- 62 005c E02D mov r30,__tmp_reg__
- 63 005e 912F mov r25,r17
- 64 0060 689F mul r22,r24
- 65 0062 900D add r25,r0
- 66 0064 1124 clr __zero_reg__
- 67 0066 892F mov r24,r25
- 68 0068 1995 eicall
- 69 .L4:
- 70 006a 01E0 ldi r16,lo8(1)
- 71 006c 010F add r16,r17
- 72 006e D601 movw r26,r12
- 73 0070 5996 adiw r26,25
- 74 0072 8C91 ld r24,X
- 75 0074 5997 sbiw r26,25
- 76 0076 1817 cp r17,r24
- 77 0078 00F4 brsh .L3
- 78 007a 1296 adiw r26,2
- 79 007c ED91 ld r30,X+
- 80 007e FC91 ld r31,X
- 81 0080 1397 sbiw r26,2+1
- 82 0082 D701 movw r26,r14
- 83 0084 8D91 ld r24,X+
- 84 0086 7D01 movw r14,r26
- 85 0088 1995 eicall
- 86 008a 102F mov r17,r16
- 87 008c 00C0 rjmp .L4
- 88 .L3:
- 89 008e F601 movw r30,r12
- 90 0090 8289 ldd r24,Z+18
- 91 0092 80FF sbrs r24,0
- 92 0094 00C0 rjmp .L1
- 93 0096 0088 ldd __tmp_reg__,Z+16
- 94 0098 F189 ldd r31,Z+17
- 95 009a E02D mov r30,__tmp_reg__
- 96 009c 81E0 ldi r24,lo8(1)
- 97 /* epilogue start */
- 98 009e 0F90 pop __tmp_reg__
- 99 00a0 DF91 pop r29
- 100 00a2 CF91 pop r28
- 101 00a4 1F91 pop r17
- 102 00a6 0F91 pop r16
- 103 00a8 FF90 pop r15
- 104 00aa EF90 pop r14
- 105 00ac DF90 pop r13
- 106 00ae CF90 pop r12
- 107 00b0 1994 eijmp
- 108 .L1:
- 109 /* epilogue start */
- 110 00b2 0F90 pop __tmp_reg__
- 111 00b4 DF91 pop r29
- 112 00b6 CF91 pop r28
- 113 00b8 1F91 pop r17
- 114 00ba 0F91 pop r16
- GAS LISTING /tmp/ccLyalLZ.s page 3
- 115 00bc FF90 pop r15
- 116 00be EF90 pop r14
- 117 00c0 DF90 pop r13
- 118 00c2 CF90 pop r12
- 119 00c4 0895 ret
- 120 .size TermRefreshLineEnd, .-TermRefreshLineEnd
- 121 .section .text.TermClear,"ax",@progbits
- 122 .type TermClear, @function
- 123 TermClear:
- 124 0000 CF93 push r28
- 125 0002 DF93 push r29
- 126 /* prologue: function */
- 127 /* frame size = 0 */
- 128 /* stack size = 2 */
- 129 .L__stack_usage = 2
- 130 0004 EC01 movw r28,r24
- 131 0006 898D ldd r24,Y+25
- 132 0008 4F89 ldd r20,Y+23
- 133 000a 849F mul r24,r20
- 134 000c A001 movw r20,r0
- 135 000e 1124 clr __zero_reg__
- 136 0010 60E2 ldi r22,lo8(32)
- 137 0012 70E0 ldi r23,0
- 138 0014 8C8D ldd r24,Y+28
- 139 0016 9D8D ldd r25,Y+29
- 140 0018 0E94 0000 call memset
- 141 001c 1B8E std Y+27,__zero_reg__
- 142 001e 1A8E std Y+26,__zero_reg__
- 143 0020 EE81 ldd r30,Y+6
- 144 0022 FF81 ldd r31,Y+7
- 145 /* epilogue start */
- 146 0024 DF91 pop r29
- 147 0026 CF91 pop r28
- 148 0028 1994 eijmp
- 149 .size TermClear, .-TermClear
- 150 .section .text.TermRefresh,"ax",@progbits
- 151 .global TermRefresh
- 152 .type TermRefresh, @function
- 153 TermRefresh:
- 154 0000 1F93 push r17
- 155 0002 CF93 push r28
- 156 0004 DF93 push r29
- 157 /* prologue: function */
- 158 /* frame size = 0 */
- 159 /* stack size = 3 */
- 160 .L__stack_usage = 3
- 161 0006 EC01 movw r28,r24
- 162 0008 10E0 ldi r17,0
- 163 .L12:
- 164 000a 8F89 ldd r24,Y+23
- 165 000c 1817 cp r17,r24
- 166 000e 00F4 brsh .L14
- 167 0010 40E0 ldi r20,0
- 168 0012 612F mov r22,r17
- 169 0014 CE01 movw r24,r28
- 170 0016 0E94 0000 call TermRefreshLineEnd
- 171 001a 1F5F subi r17,lo8(-(1))
- GAS LISTING /tmp/ccLyalLZ.s page 4
- 172 001c 00C0 rjmp .L12
- 173 .L14:
- 174 001e 2A8D ldd r18,Y+26
- 175 0020 988D ldd r25,Y+24
- 176 0022 8B8D ldd r24,Y+27
- 177 0024 E885 ldd r30,Y+8
- 178 0026 F985 ldd r31,Y+9
- 179 0028 299F mul r18,r25
- 180 002a 800D add r24,r0
- 181 002c 1124 clr __zero_reg__
- 182 /* epilogue start */
- 183 002e DF91 pop r29
- 184 0030 CF91 pop r28
- 185 0032 1F91 pop r17
- 186 0034 1994 eijmp
- 187 .size TermRefresh, .-TermRefresh
- 188 .section .text.TermInsertLine,"ax",@progbits
- 189 .type TermInsertLine, @function
- 190 TermInsertLine:
- 191 0000 0F93 push r16
- 192 0002 1F93 push r17
- 193 0004 CF93 push r28
- 194 0006 DF93 push r29
- 195 /* prologue: function */
- 196 /* frame size = 0 */
- 197 /* stack size = 4 */
- 198 .L__stack_usage = 4
- 199 0008 8C01 movw r16,r24
- 200 000a D62F mov r29,r22
- 201 000c FC01 movw r30,r24
- 202 000e C789 ldd r28,Z+23
- 203 .L18:
- 204 0010 C150 subi r28,lo8(-(-1))
- 205 0012 F801 movw r30,r16
- 206 0014 918D ldd r25,Z+25
- 207 0016 248D ldd r18,Z+28
- 208 0018 358D ldd r19,Z+29
- 209 001a DC17 cp r29,r28
- 210 001c 00F4 brsh .L19
- 211 001e C99F mul r28,r25
- 212 0020 200D add r18,r0
- 213 0022 311D adc r19,r1
- 214 0024 1124 clr __zero_reg__
- 215 0026 492F mov r20,r25
- 216 0028 50E0 ldi r21,0
- 217 002a B901 movw r22,r18
- 218 002c 641B sub r22,r20
- 219 002e 750B sbc r23,r21
- 220 0030 C901 movw r24,r18
- 221 0032 0E94 0000 call memcpy
- 222 0036 00C0 rjmp .L18
- 223 .L19:
- 224 0038 492F mov r20,r25
- 225 003a 50E0 ldi r21,0
- 226 003c 60E2 ldi r22,lo8(32)
- 227 003e 70E0 ldi r23,0
- 228 0040 F901 movw r30,r18
- GAS LISTING /tmp/ccLyalLZ.s page 5
- 229 0042 D99F mul r29,r25
- 230 0044 E00D add r30,r0
- 231 0046 F11D adc r31,r1
- 232 0048 1124 clr __zero_reg__
- 233 004a CF01 movw r24,r30
- 234 004c 0E94 0000 call memset
- 235 0050 C801 movw r24,r16
- 236 /* epilogue start */
- 237 0052 DF91 pop r29
- 238 0054 CF91 pop r28
- 239 0056 1F91 pop r17
- 240 0058 0F91 pop r16
- 241 005a 0C94 0000 jmp TermRefresh
- 242 .size TermInsertLine, .-TermInsertLine
- 243 .section .text.TermDeleteLine,"ax",@progbits
- 244 .type TermDeleteLine, @function
- 245 TermDeleteLine:
- 246 0000 1F93 push r17
- 247 0002 CF93 push r28
- 248 0004 DF93 push r29
- 249 /* prologue: function */
- 250 /* frame size = 0 */
- 251 /* stack size = 3 */
- 252 .L__stack_usage = 3
- 253 0006 EC01 movw r28,r24
- 254 0008 162F mov r17,r22
- 255 .L21:
- 256 000a 2F89 ldd r18,Y+23
- 257 000c 30E0 ldi r19,0
- 258 000e 2150 subi r18,1
- 259 0010 3109 sbc r19,__zero_reg__
- 260 0012 612F mov r22,r17
- 261 0014 70E0 ldi r23,0
- 262 0016 498D ldd r20,Y+25
- 263 0018 8C8D ldd r24,Y+28
- 264 001a 9D8D ldd r25,Y+29
- 265 001c 6217 cp r22,r18
- 266 001e 7307 cpc r23,r19
- 267 0020 04F4 brge .L23
- 268 0022 149F mul r17,r20
- 269 0024 800D add r24,r0
- 270 0026 911D adc r25,r1
- 271 0028 1124 clr __zero_reg__
- 272 002a 50E0 ldi r21,0
- 273 002c BC01 movw r22,r24
- 274 002e 640F add r22,r20
- 275 0030 751F adc r23,r21
- 276 0032 0E94 0000 call memcpy
- 277 0036 1F5F subi r17,lo8(-(1))
- 278 0038 00C0 rjmp .L21
- 279 .L23:
- 280 003a 50E0 ldi r21,0
- 281 003c 429F mul r20,r18
- 282 003e F001 movw r30,r0
- 283 0040 439F mul r20,r19
- 284 0042 F00D add r31,r0
- 285 0044 529F mul r21,r18
- GAS LISTING /tmp/ccLyalLZ.s page 6
- 286 0046 F00D add r31,r0
- 287 0048 1124 clr r1
- 288 004a 60E2 ldi r22,lo8(32)
- 289 004c 70E0 ldi r23,0
- 290 004e 8E0F add r24,r30
- 291 0050 9F1F adc r25,r31
- 292 0052 0E94 0000 call memset
- 293 0056 CE01 movw r24,r28
- 294 /* epilogue start */
- 295 0058 DF91 pop r29
- 296 005a CF91 pop r28
- 297 005c 1F91 pop r17
- 298 005e 0C94 0000 jmp TermRefresh
- 299 .size TermDeleteLine, .-TermDeleteLine
- 300 .section .text.TermDeleteChar,"ax",@progbits
- 301 .type TermDeleteChar, @function
- 302 TermDeleteChar:
- 303 0000 CF93 push r28
- 304 0002 DF93 push r29
- 305 /* prologue: function */
- 306 /* frame size = 0 */
- 307 /* stack size = 2 */
- 308 .L__stack_usage = 2
- 309 0004 DC01 movw r26,r24
- 310 0006 5A96 adiw r26,26
- 311 0008 3C91 ld r19,X
- 312 000a 5A97 sbiw r26,26
- 313 000c 5996 adiw r26,25
- 314 000e 2C91 ld r18,X
- 315 0010 5997 sbiw r26,25
- 316 0012 E62F mov r30,r22
- 317 0014 F0E0 ldi r31,0
- 318 0016 329F mul r19,r18
- 319 0018 E00D add r30,r0
- 320 001a F11D adc r31,r1
- 321 001c 1124 clr __zero_reg__
- 322 001e 5C96 adiw r26,28
- 323 0020 2D91 ld r18,X+
- 324 0022 3C91 ld r19,X
- 325 0024 5D97 sbiw r26,28+1
- 326 0026 E20F add r30,r18
- 327 0028 F31F adc r31,r19
- 328 002a DF01 movw r26,r30
- 329 002c 1196 adiw r26,1
- 330 .L25:
- 331 002e 462F mov r20,r22
- 332 0030 50E0 ldi r21,0
- 333 0032 EC01 movw r28,r24
- 334 0034 298D ldd r18,Y+25
- 335 0036 30E0 ldi r19,0
- 336 0038 2150 subi r18,1
- 337 003a 3109 sbc r19,__zero_reg__
- 338 003c 4217 cp r20,r18
- 339 003e 5307 cpc r21,r19
- 340 0040 04F4 brge .L27
- 341 0042 2D91 ld r18,X+
- 342 0044 2193 st Z+,r18
- GAS LISTING /tmp/ccLyalLZ.s page 7
- 343 0046 6F5F subi r22,lo8(-(1))
- 344 0048 00C0 rjmp .L25
- 345 .L27:
- 346 004a 20E2 ldi r18,lo8(32)
- 347 004c 2083 st Z,r18
- 348 /* epilogue start */
- 349 004e DF91 pop r29
- 350 0050 CF91 pop r28
- 351 0052 0C94 0000 jmp TermRefresh
- 352 .size TermDeleteChar, .-TermDeleteChar
- 353 .section .text.TermPut.isra.0,"ax",@progbits
- 354 .type TermPut.isra.0, @function
- 355 TermPut.isra.0:
- 356 0000 4F92 push r4
- 357 0002 5F92 push r5
- 358 0004 7F92 push r7
- 359 0006 8F92 push r8
- 360 0008 9F92 push r9
- 361 000a AF92 push r10
- 362 000c BF92 push r11
- 363 000e CF92 push r12
- 364 0010 DF92 push r13
- 365 0012 EF92 push r14
- 366 0014 FF92 push r15
- 367 0016 0F93 push r16
- 368 0018 1F93 push r17
- 369 001a CF93 push r28
- 370 001c DF93 push r29
- 371 /* prologue: function */
- 372 /* frame size = 0 */
- 373 /* stack size = 15 */
- 374 .L__stack_usage = 15
- 375 001e EC01 movw r28,r24
- 376 0020 5B01 movw r10,r22
- 377 0022 7A01 movw r14,r20
- 378 0024 4901 movw r8,r18
- 379 0026 6115 cp r22,__zero_reg__
- 380 0028 7105 cpc r23,__zero_reg__
- 381 002a 01F4 brne .+2
- 382 002c 00C0 rjmp .L90
- 383 002e 6B01 movw r12,r22
- 384 0030 03E0 ldi r16,lo8(3)
- 385 0032 90E2 ldi r25,lo8(32)
- 386 0034 792E mov r7,r25
- 387 .L30:
- 388 0036 C601 movw r24,r12
- 389 0038 8A19 sub r24,r10
- 390 003a 9B09 sbc r25,r11
- 391 003c 8E15 cp r24,r14
- 392 003e 9F05 cpc r25,r15
- 393 0040 04F0 brlt .+2
- 394 0042 00C0 rjmp .L123
- 395 0044 F601 movw r30,r12
- 396 0046 8114 cp r8,__zero_reg__
- 397 0048 9104 cpc r9,__zero_reg__
- 398 004a 01F0 breq .L31
- 399 /* #APP */
- GAS LISTING /tmp/ccLyalLZ.s page 8
- 400 ; 463 "../../nut/dev/term.c" 1
- 401 004c 1491 lpm r17, Z
- 402
- 403 ; 0 "" 2
- 404 /* #NOAPP */
- 405 004e 00C0 rjmp .L32
- 406 .L31:
- 407 0050 1081 ld r17,Z
- 408 .L32:
- 409 0052 4A89 ldd r20,Y+18
- 410 0054 5B89 ldd r21,Y+19
- 411 0056 6C89 ldd r22,Y+20
- 412 0058 7D89 ldd r23,Y+21
- 413 005a 61FF sbrs r22,1
- 414 005c 00C0 rjmp .L33
- 415 005e 8E89 ldd r24,Y+22
- 416 0060 8111 cpse r24,__zero_reg__
- 417 0062 00C0 rjmp .L34
- 418 0064 1A30 cpi r17,lo8(10)
- 419 0066 01F4 brne .L35
- 420 0068 1B8E std Y+27,__zero_reg__
- 421 006a 8A8D ldd r24,Y+26
- 422 006c 8F5F subi r24,lo8(-(1))
- 423 006e 8A8F std Y+26,r24
- 424 0070 9F89 ldd r25,Y+23
- 425 0072 8917 cp r24,r25
- 426 0074 00F0 brlo .L36
- 427 0076 9150 subi r25,lo8(-(-1))
- 428 0078 9A8F std Y+26,r25
- 429 007a 60E0 ldi r22,0
- 430 007c 00C0 rjmp .L120
- 431 .L36:
- 432 007e 988D ldd r25,Y+24
- 433 0080 00C0 rjmp .L122
- 434 .L35:
- 435 0082 1D30 cpi r17,lo8(13)
- 436 0084 01F4 brne .L38
- 437 0086 1B8E std Y+27,__zero_reg__
- 438 0088 9A8D ldd r25,Y+26
- 439 008a 888D ldd r24,Y+24
- 440 .L122:
- 441 008c E885 ldd r30,Y+8
- 442 008e F985 ldd r31,Y+9
- 443 0090 989F mul r25,r24
- 444 0092 802D mov r24,r0
- 445 0094 1124 clr r1
- 446 0096 00C0 rjmp .L110
- 447 .L38:
- 448 0098 1B31 cpi r17,lo8(27)
- 449 009a 01F4 brne .L39
- 450 009c 81E0 ldi r24,lo8(1)
- 451 009e 00C0 rjmp .L111
- 452 .L39:
- 453 00a0 1830 cpi r17,lo8(8)
- 454 00a2 01F4 brne .L40
- 455 00a4 6B8D ldd r22,Y+27
- 456 00a6 6623 tst r22
- GAS LISTING /tmp/ccLyalLZ.s page 9
- 457 00a8 01F4 brne .+2
- 458 00aa 00C0 rjmp .L37
- 459 00ac 6150 subi r22,lo8(-(-1))
- 460 00ae 6B8F std Y+27,r22
- 461 00b0 00C0 rjmp .L112
- 462 .L40:
- 463 00b2 1C30 cpi r17,lo8(12)
- 464 00b4 01F0 breq .+2
- 465 00b6 00C0 rjmp .L33
- 466 00b8 00C0 rjmp .L49
- 467 .L34:
- 468 00ba 8130 cpi r24,lo8(1)
- 469 00bc 01F0 breq .+2
- 470 00be 00C0 rjmp .L42
- 471 00c0 1E8A std Y+22,__zero_reg__
- 472 00c2 812F mov r24,r17
- 473 00c4 90E0 ldi r25,0
- 474 00c6 FC01 movw r30,r24
- 475 00c8 E054 subi r30,64
- 476 00ca F109 sbc r31,__zero_reg__
- 477 00cc E033 cpi r30,48
- 478 00ce F105 cpc r31,__zero_reg__
- 479 00d0 00F0 brlo .+2
- 480 00d2 00C0 rjmp .L37
- 481 00d4 8827 clr r24
- 482 00d6 E050 subi r30,pm_lo8(-(.L44))
- 483 00d8 F040 sbci r31,pm_hi8(-(.L44))
- 484 00da 8040 sbci r24,pm_hh8(-(.L44))
- 485 00dc 0C94 0000 jmp __tablejump2__
- 486 .section .progmem.gcc_sw_table.TermPut.isra.0,"a",@progbits
- 487 .p2align 1
- 488 .L44:
- 489 0000 0000 .word gs(.L43)
- 490 0002 0000 .word gs(.L45)
- 491 0004 0000 .word gs(.L46)
- 492 0006 0000 .word gs(.L47)
- 493 0008 0000 .word gs(.L48)
- 494 000a 0000 .word gs(.L49)
- 495 000c 0000 .word gs(.L37)
- 496 000e 0000 .word gs(.L37)
- 497 0010 0000 .word gs(.L50)
- 498 0012 0000 .word gs(.L51)
- 499 0014 0000 .word gs(.L52)
- 500 0016 0000 .word gs(.L53)
- 501 0018 0000 .word gs(.L54)
- 502 001a 0000 .word gs(.L55)
- 503 001c 0000 .word gs(.L37)
- 504 001e 0000 .word gs(.L37)
- 505 0020 0000 .word gs(.L56)
- 506 0022 0000 .word gs(.L37)
- 507 0024 0000 .word gs(.L37)
- 508 0026 0000 .word gs(.L37)
- 509 0028 0000 .word gs(.L37)
- 510 002a 0000 .word gs(.L37)
- 511 002c 0000 .word gs(.L37)
- 512 002e 0000 .word gs(.L37)
- 513 0030 0000 .word gs(.L37)
- GAS LISTING /tmp/ccLyalLZ.s page 10
- 514 0032 0000 .word gs(.L57)
- 515 0034 0000 .word gs(.L58)
- 516 0036 0000 .word gs(.L37)
- 517 0038 0000 .word gs(.L37)
- 518 003a 0000 .word gs(.L37)
- 519 003c 0000 .word gs(.L37)
- 520 003e 0000 .word gs(.L37)
- 521 0040 0000 .word gs(.L37)
- 522 0042 0000 .word gs(.L37)
- 523 0044 0000 .word gs(.L37)
- 524 0046 0000 .word gs(.L37)
- 525 0048 0000 .word gs(.L59)
- 526 004a 0000 .word gs(.L60)
- 527 004c 0000 .word gs(.L61)
- 528 004e 0000 .word gs(.L37)
- 529 0050 0000 .word gs(.L37)
- 530 0052 0000 .word gs(.L62)
- 531 0054 0000 .word gs(.L37)
- 532 0056 0000 .word gs(.L37)
- 533 0058 0000 .word gs(.L37)
- 534 005a 0000 .word gs(.L37)
- 535 005c 0000 .word gs(.L63)
- 536 005e 0000 .word gs(.L64)
- 537 .section .text.TermPut.isra.0
- 538 .L43:
- 539 00e0 8A8D ldd r24,Y+26
- 540 00e2 90E0 ldi r25,0
- 541 00e4 0196 adiw r24,1
- 542 00e6 298D ldd r18,Y+25
- 543 00e8 289F mul r18,r24
- 544 00ea F001 movw r30,r0
- 545 00ec 299F mul r18,r25
- 546 00ee F00D add r31,r0
- 547 00f0 1124 clr __zero_reg__
- 548 00f2 3197 sbiw r30,1
- 549 00f4 8C8D ldd r24,Y+28
- 550 00f6 9D8D ldd r25,Y+29
- 551 00f8 4B8D ldd r20,Y+27
- 552 00fa E80F add r30,r24
- 553 00fc F91F adc r31,r25
- 554 00fe DF01 movw r26,r30
- 555 0100 1196 adiw r26,1
- 556 .L65:
- 557 0102 242F mov r18,r20
- 558 0104 30E0 ldi r19,0
- 559 0106 898D ldd r24,Y+25
- 560 0108 90E0 ldi r25,0
- 561 010a 0197 sbiw r24,1
- 562 010c 2817 cp r18,r24
- 563 010e 3907 cpc r19,r25
- 564 0110 04F4 brge .L124
- 565 0112 8291 ld r24,-Z
- 566 0114 8E93 st -X,r24
- 567 0116 4F5F subi r20,lo8(-(1))
- 568 0118 00C0 rjmp .L65
- 569 .L124:
- 570 011a 7082 st Z,r7
- GAS LISTING /tmp/ccLyalLZ.s page 11
- 571 011c 4B8D ldd r20,Y+27
- 572 011e 6A8D ldd r22,Y+26
- 573 0120 CE01 movw r24,r28
- 574 0122 0E94 0000 call TermRefreshLineEnd
- 575 0126 00C0 rjmp .L87
- 576 .L45:
- 577 0128 9A8D ldd r25,Y+26
- 578 012a 9923 tst r25
- 579 012c 01F4 brne .+2
- 580 012e 00C0 rjmp .L37
- 581 0130 9150 subi r25,lo8(-(-1))
- 582 0132 9A8F std Y+26,r25
- 583 0134 00C0 rjmp .L121
- 584 .L46:
- 585 0136 9A8D ldd r25,Y+26
- 586 0138 9F5F subi r25,lo8(-(1))
- 587 013a 9A8F std Y+26,r25
- 588 013c 8F89 ldd r24,Y+23
- 589 013e 9817 cp r25,r24
- 590 0140 00F0 brlo .+2
- 591 0142 00C0 rjmp .L119
- 592 0144 00C0 rjmp .L121
- 593 .L47:
- 594 0146 9B8D ldd r25,Y+27
- 595 0148 9F5F subi r25,lo8(-(1))
- 596 014a 9B8F std Y+27,r25
- 597 014c 898D ldd r24,Y+25
- 598 014e 9817 cp r25,r24
- 599 0150 00F4 brsh .L113
- 600 0152 EE85 ldd r30,Y+14
- 601 0154 FF85 ldd r31,Y+15
- 602 0156 00C0 rjmp .L114
- 603 .L48:
- 604 0158 8B8D ldd r24,Y+27
- 605 015a 8823 tst r24
- 606 015c 01F4 brne .+2
- 607 015e 00C0 rjmp .L37
- 608 0160 EC85 ldd r30,Y+12
- 609 0162 FD85 ldd r31,Y+13
- 610 0164 1995 eicall
- 611 0166 8B8D ldd r24,Y+27
- 612 .L113:
- 613 0168 8150 subi r24,lo8(-(-1))
- 614 016a 8B8F std Y+27,r24
- 615 016c 00C0 rjmp .L37
- 616 .L49:
- 617 016e CE01 movw r24,r28
- 618 0170 0E94 0000 call TermClear
- 619 0174 00C0 rjmp .L37
- 620 .L50:
- 621 0176 1B8E std Y+27,__zero_reg__
- 622 0178 1A8E std Y+26,__zero_reg__
- 623 017a EA85 ldd r30,Y+10
- 624 017c FB85 ldd r31,Y+11
- 625 .L114:
- 626 017e 1995 eicall
- 627 0180 00C0 rjmp .L37
- GAS LISTING /tmp/ccLyalLZ.s page 12
- 628 .L51:
- 629 0182 8A8D ldd r24,Y+26
- 630 0184 9FEF ldi r25,lo8(-1)
- 631 0186 980F add r25,r24
- 632 0188 9A8F std Y+26,r25
- 633 018a 8823 tst r24
- 634 018c 01F0 breq .L70
- 635 .L121:
- 636 018e 288D ldd r18,Y+24
- 637 0190 00C0 rjmp .L115
- 638 .L70:
- 639 0192 1A8E std Y+26,__zero_reg__
- 640 0194 60E0 ldi r22,0
- 641 0196 00C0 rjmp .L116
- 642 .L52:
- 643 0198 8B8D ldd r24,Y+27
- 644 019a 298D ldd r18,Y+25
- 645 019c 8217 cp r24,r18
- 646 019e 00F4 brsh .L71
- 647 01a0 3A8D ldd r19,Y+26
- 648 01a2 422F mov r20,r18
- 649 01a4 50E0 ldi r21,0
- 650 01a6 90E0 ldi r25,0
- 651 01a8 481B sub r20,r24
- 652 01aa 590B sbc r21,r25
- 653 01ac 239F mul r18,r19
- 654 01ae 800D add r24,r0
- 655 01b0 911D adc r25,r1
- 656 01b2 1124 clr __zero_reg__
- 657 01b4 2C8D ldd r18,Y+28
- 658 01b6 3D8D ldd r19,Y+29
- 659 01b8 60E2 ldi r22,lo8(32)
- 660 01ba 70E0 ldi r23,0
- 661 01bc 820F add r24,r18
- 662 01be 931F adc r25,r19
- 663 01c0 0E94 0000 call memset
- 664 .L71:
- 665 01c4 1A8D ldd r17,Y+26
- 666 .L109:
- 667 01c6 1F5F subi r17,lo8(-(1))
- 668 01c8 8F89 ldd r24,Y+23
- 669 01ca 1817 cp r17,r24
- 670 01cc 00F0 brlo .+2
- 671 01ce 00C0 rjmp .L117
- 672 01d0 998D ldd r25,Y+25
- 673 01d2 492F mov r20,r25
- 674 01d4 50E0 ldi r21,0
- 675 01d6 2C8D ldd r18,Y+28
- 676 01d8 3D8D ldd r19,Y+29
- 677 01da 60E2 ldi r22,lo8(32)
- 678 01dc 70E0 ldi r23,0
- 679 01de F901 movw r30,r18
- 680 01e0 199F mul r17,r25
- 681 01e2 E00D add r30,r0
- 682 01e4 F11D adc r31,r1
- 683 01e6 1124 clr __zero_reg__
- 684 01e8 CF01 movw r24,r30
- GAS LISTING /tmp/ccLyalLZ.s page 13
- 685 01ea 0E94 0000 call memset
- 686 01ee 00C0 rjmp .L109
- 687 .L53:
- 688 01f0 8B8D ldd r24,Y+27
- 689 01f2 298D ldd r18,Y+25
- 690 01f4 8217 cp r24,r18
- 691 01f6 00F0 brlo .+2
- 692 01f8 00C0 rjmp .L37
- 693 01fa 3A8D ldd r19,Y+26
- 694 01fc 422F mov r20,r18
- 695 01fe 50E0 ldi r21,0
- 696 0200 90E0 ldi r25,0
- 697 0202 481B sub r20,r24
- 698 0204 590B sbc r21,r25
- 699 0206 239F mul r18,r19
- 700 0208 800D add r24,r0
- 701 020a 911D adc r25,r1
- 702 020c 1124 clr __zero_reg__
- 703 020e 2C8D ldd r18,Y+28
- 704 0210 3D8D ldd r19,Y+29
- 705 0212 60E2 ldi r22,lo8(32)
- 706 0214 70E0 ldi r23,0
- 707 0216 820F add r24,r18
- 708 0218 931F adc r25,r19
- 709 021a 00C0 rjmp .L118
- 710 .L54:
- 711 021c 6A8D ldd r22,Y+26
- 712 .L116:
- 713 021e CE01 movw r24,r28
- 714 0220 0E94 0000 call TermInsertLine
- 715 0224 00C0 rjmp .L37
- 716 .L55:
- 717 0226 6A8D ldd r22,Y+26
- 718 .L120:
- 719 0228 CE01 movw r24,r28
- 720 022a 0E94 0000 call TermDeleteLine
- 721 022e 00C0 rjmp .L37
- 722 .L56:
- 723 0230 6B8D ldd r22,Y+27
- 724 .L112:
- 725 0232 CE01 movw r24,r28
- 726 0234 0E94 0000 call TermDeleteChar
- 727 0238 00C0 rjmp .L37
- 728 .L57:
- 729 023a 82E0 ldi r24,lo8(2)
- 730 .L111:
- 731 023c 8E8B std Y+22,r24
- 732 023e 00C0 rjmp .L37
- 733 .L58:
- 734 0240 CE01 movw r24,r28
- 735 0242 0E94 0000 call TermClear
- 736 0246 80E0 ldi r24,lo8(termid)
- 737 0248 482E mov r4,r24
- 738 024a 80E0 ldi r24,hi8(termid)
- 739 024c 582E mov r5,r24
- 740 .L74:
- 741 024e F201 movw r30,r4
- GAS LISTING /tmp/ccLyalLZ.s page 14
- 742 0250 8191 ld r24,Z+
- 743 0252 2F01 movw r4,r30
- 744 0254 8823 tst r24
- 745 0256 01F4 brne .+2
- 746 0258 00C0 rjmp .L37
- 747 025a EA81 ldd r30,Y+2
- 748 025c FB81 ldd r31,Y+3
- 749 025e 1995 eicall
- 750 0260 00C0 rjmp .L74
- 751 .L60:
- 752 0262 4160 ori r20,1
- 753 0264 4A8B std Y+18,r20
- 754 0266 5B8B std Y+19,r21
- 755 0268 6C8B std Y+20,r22
- 756 026a 7D8B std Y+21,r23
- 757 026c E889 ldd r30,Y+16
- 758 026e F989 ldd r31,Y+17
- 759 0270 81E0 ldi r24,lo8(1)
- 760 0272 00C0 rjmp .L110
- 761 .L61:
- 762 0274 4E7F andi r20,254
- 763 0276 4A8B std Y+18,r20
- 764 0278 5B8B std Y+19,r21
- 765 027a 6C8B std Y+20,r22
- 766 027c 7D8B std Y+21,r23
- 767 027e E889 ldd r30,Y+16
- 768 0280 F989 ldd r31,Y+17
- 769 0282 80E0 ldi r24,0
- 770 0284 00C0 rjmp .L110
- 771 .L59:
- 772 0286 4B8D ldd r20,Y+27
- 773 0288 4423 tst r20
- 774 028a 01F0 breq .L76
- 775 028c 3A8D ldd r19,Y+26
- 776 028e 298D ldd r18,Y+25
- 777 0290 50E0 ldi r21,0
- 778 0292 8C8D ldd r24,Y+28
- 779 0294 9D8D ldd r25,Y+29
- 780 0296 60E2 ldi r22,lo8(32)
- 781 0298 70E0 ldi r23,0
- 782 029a 329F mul r19,r18
- 783 029c 800D add r24,r0
- 784 029e 911D adc r25,r1
- 785 02a0 1124 clr __zero_reg__
- 786 02a2 0E94 0000 call memset
- 787 .L76:
- 788 02a6 10E0 ldi r17,0
- 789 .L77:
- 790 02a8 8A8D ldd r24,Y+26
- 791 02aa 1817 cp r17,r24
- 792 02ac 00F4 brsh .L117
- 793 02ae 998D ldd r25,Y+25
- 794 02b0 492F mov r20,r25
- 795 02b2 50E0 ldi r21,0
- 796 02b4 2C8D ldd r18,Y+28
- 797 02b6 3D8D ldd r19,Y+29
- 798 02b8 60E2 ldi r22,lo8(32)
- GAS LISTING /tmp/ccLyalLZ.s page 15
- 799 02ba 70E0 ldi r23,0
- 800 02bc F901 movw r30,r18
- 801 02be 199F mul r17,r25
- 802 02c0 E00D add r30,r0
- 803 02c2 F11D adc r31,r1
- 804 02c4 1124 clr __zero_reg__
- 805 02c6 CF01 movw r24,r30
- 806 02c8 0E94 0000 call memset
- 807 02cc 1F5F subi r17,lo8(-(1))
- 808 02ce 00C0 rjmp .L77
- 809 .L64:
- 810 02d0 4B8D ldd r20,Y+27
- 811 02d2 4423 tst r20
- 812 02d4 01F4 brne .+2
- 813 02d6 00C0 rjmp .L37
- 814 02d8 3A8D ldd r19,Y+26
- 815 02da 298D ldd r18,Y+25
- 816 02dc 50E0 ldi r21,0
- 817 02de 8C8D ldd r24,Y+28
- 818 02e0 9D8D ldd r25,Y+29
- 819 02e2 60E2 ldi r22,lo8(32)
- 820 02e4 70E0 ldi r23,0
- 821 02e6 329F mul r19,r18
- 822 02e8 800D add r24,r0
- 823 02ea 911D adc r25,r1
- 824 02ec 1124 clr __zero_reg__
- 825 .L118:
- 826 02ee 0E94 0000 call memset
- 827 .L117:
- 828 02f2 CE01 movw r24,r28
- 829 02f4 0E94 0000 call TermRefresh
- 830 02f8 00C0 rjmp .L37
- 831 .L62:
- 832 02fa 7061 ori r23,16
- 833 02fc 4A8B std Y+18,r20
- 834 02fe 5B8B std Y+19,r21
- 835 0300 6C8B std Y+20,r22
- 836 0302 7D8B std Y+21,r23
- 837 0304 E889 ldd r30,Y+16
- 838 0306 F989 ldd r31,Y+17
- 839 0308 83E0 ldi r24,lo8(3)
- 840 030a 00C0 rjmp .L110
- 841 .L63:
- 842 030c 7F7E andi r23,239
- 843 030e 4A8B std Y+18,r20
- 844 0310 5B8B std Y+19,r21
- 845 0312 6C8B std Y+20,r22
- 846 0314 7D8B std Y+21,r23
- 847 0316 E889 ldd r30,Y+16
- 848 0318 F989 ldd r31,Y+17
- 849 031a 82E0 ldi r24,lo8(2)
- 850 031c 00C0 rjmp .L110
- 851 .L42:
- 852 031e 8230 cpi r24,lo8(2)
- 853 0320 01F4 brne .L80
- 854 0322 0E8B std Y+22,r16
- 855 0324 1032 cpi r17,lo8(32)
- GAS LISTING /tmp/ccLyalLZ.s page 16
- 856 0326 00F4 brsh .L81
- 857 0328 1A8E std Y+26,__zero_reg__
- 858 032a 00C0 rjmp .L37
- 859 .L81:
- 860 032c 8F89 ldd r24,Y+23
- 861 032e 212F mov r18,r17
- 862 0330 30E0 ldi r19,0
- 863 0332 2F51 subi r18,31
- 864 0334 3109 sbc r19,__zero_reg__
- 865 0336 482F mov r20,r24
- 866 0338 50E0 ldi r21,0
- 867 033a 4217 cp r20,r18
- 868 033c 5307 cpc r21,r19
- 869 033e 04F4 brge .L82
- 870 .L119:
- 871 0340 8150 subi r24,lo8(-(-1))
- 872 0342 8A8F std Y+26,r24
- 873 0344 00C0 rjmp .L37
- 874 .L82:
- 875 0346 1052 subi r17,lo8(-(-32))
- 876 0348 1A8F std Y+26,r17
- 877 034a 00C0 rjmp .L37
- 878 .L80:
- 879 034c 8330 cpi r24,lo8(3)
- 880 034e 01F4 brne .L33
- 881 0350 1E8A std Y+22,__zero_reg__
- 882 0352 1032 cpi r17,lo8(32)
- 883 0354 00F4 brsh .L83
- 884 0356 1B8E std Y+27,__zero_reg__
- 885 0358 00C0 rjmp .L87
- 886 .L83:
- 887 035a 898D ldd r24,Y+25
- 888 035c 212F mov r18,r17
- 889 035e 30E0 ldi r19,0
- 890 0360 2F51 subi r18,31
- 891 0362 3109 sbc r19,__zero_reg__
- 892 0364 482F mov r20,r24
- 893 0366 50E0 ldi r21,0
- 894 0368 4217 cp r20,r18
- 895 036a 5307 cpc r21,r19
- 896 036c 04F0 brlt .L86
- 897 036e 1052 subi r17,lo8(-(-32))
- 898 0370 1B8F std Y+27,r17
- 899 0372 00C0 rjmp .L87
- 900 .L33:
- 901 0374 EA81 ldd r30,Y+2
- 902 0376 FB81 ldd r31,Y+3
- 903 0378 812F mov r24,r17
- 904 037a 1995 eicall
- 905 037c 8A89 ldd r24,Y+18
- 906 037e 9B89 ldd r25,Y+19
- 907 0380 AC89 ldd r26,Y+20
- 908 0382 BD89 ldd r27,Y+21
- 909 0384 A1FF sbrs r26,1
- 910 0386 00C0 rjmp .L37
- 911 0388 2A8D ldd r18,Y+26
- 912 038a 998D ldd r25,Y+25
- GAS LISTING /tmp/ccLyalLZ.s page 17
- 913 038c 8B8D ldd r24,Y+27
- 914 038e EC8D ldd r30,Y+28
- 915 0390 FD8D ldd r31,Y+29
- 916 0392 299F mul r18,r25
- 917 0394 E00D add r30,r0
- 918 0396 F11D adc r31,r1
- 919 0398 1124 clr __zero_reg__
- 920 039a E80F add r30,r24
- 921 039c F11D adc r31,__zero_reg__
- 922 039e 1083 st Z,r17
- 923 03a0 9B8D ldd r25,Y+27
- 924 03a2 9F5F subi r25,lo8(-(1))
- 925 03a4 9B8F std Y+27,r25
- 926 03a6 898D ldd r24,Y+25
- 927 03a8 9817 cp r25,r24
- 928 03aa 00F0 brlo .L37
- 929 03ac 4A89 ldd r20,Y+18
- 930 03ae 5B89 ldd r21,Y+19
- 931 03b0 6C89 ldd r22,Y+20
- 932 03b2 7D89 ldd r23,Y+21
- 933 03b4 62FF sbrs r22,2
- 934 03b6 00C0 rjmp .L86
- 935 03b8 1B8E std Y+27,__zero_reg__
- 936 03ba 8A8D ldd r24,Y+26
- 937 03bc 9F89 ldd r25,Y+23
- 938 03be 8917 cp r24,r25
- 939 03c0 00F4 brsh .L87
- 940 03c2 8F5F subi r24,lo8(-(1))
- 941 03c4 8A8F std Y+26,r24
- 942 03c6 00C0 rjmp .L87
- 943 .L86:
- 944 03c8 8150 subi r24,lo8(-(-1))
- 945 03ca 8B8F std Y+27,r24
- 946 .L87:
- 947 03cc 2A8D ldd r18,Y+26
- 948 03ce 988D ldd r25,Y+24
- 949 .L115:
- 950 03d0 8B8D ldd r24,Y+27
- 951 03d2 E885 ldd r30,Y+8
- 952 03d4 F985 ldd r31,Y+9
- 953 03d6 299F mul r18,r25
- 954 03d8 800D add r24,r0
- 955 03da 1124 clr __zero_reg__
- 956 .L110:
- 957 03dc 1995 eicall
- 958 .L37:
- 959 03de FFEF ldi r31,-1
- 960 03e0 CF1A sub r12,r31
- 961 03e2 DF0A sbc r13,r31
- 962 03e4 00C0 rjmp .L30
- 963 .L123:
- 964 03e6 F7FE sbrs r15,7
- 965 03e8 00C0 rjmp .L89
- 966 03ea E12C mov r14,__zero_reg__
- 967 03ec F12C mov r15,__zero_reg__
- 968 .L89:
- 969 03ee C701 movw r24,r14
- GAS LISTING /tmp/ccLyalLZ.s page 18
- 970 03f0 00C0 rjmp .L29
- 971 .L90:
- 972 03f2 80E0 ldi r24,0
- 973 03f4 90E0 ldi r25,0
- 974 .L29:
- 975 /* epilogue start */
- 976 03f6 DF91 pop r29
- 977 03f8 CF91 pop r28
- 978 03fa 1F91 pop r17
- 979 03fc 0F91 pop r16
- 980 03fe FF90 pop r15
- 981 0400 EF90 pop r14
- 982 0402 DF90 pop r13
- 983 0404 CF90 pop r12
- 984 0406 BF90 pop r11
- 985 0408 AF90 pop r10
- 986 040a 9F90 pop r9
- 987 040c 8F90 pop r8
- 988 040e 7F90 pop r7
- 989 0410 5F90 pop r5
- 990 0412 4F90 pop r4
- 991 0414 0895 ret
- 992 .size TermPut.isra.0, .-TermPut.isra.0
- 993 .section .text.TermIOCtl,"ax",@progbits
- 994 .global TermIOCtl
- 995 .type TermIOCtl, @function
- 996 TermIOCtl:
- 997 0000 FF92 push r15
- 998 0002 0F93 push r16
- 999 0004 1F93 push r17
- 1000 0006 CF93 push r28
- 1001 0008 DF93 push r29
- 1002 /* prologue: function */
- 1003 /* frame size = 0 */
- 1004 /* stack size = 5 */
- 1005 .L__stack_usage = 5
- 1006 000a DA01 movw r26,r20
- 1007 000c FC01 movw r30,r24
- 1008 000e C189 ldd r28,Z+17
- 1009 0010 D289 ldd r29,Z+18
- 1010 0012 6730 cpi r22,7
- 1011 0014 F4E0 ldi r31,4
- 1012 0016 7F07 cpc r23,r31
- 1013 0018 01F4 brne .+2
- 1014 001a 00C0 rjmp .L127
- 1015 001c 04F4 brge .L128
- 1016 001e 6330 cpi r22,3
- 1017 0020 E4E0 ldi r30,4
- 1018 0022 7E07 cpc r23,r30
- 1019 0024 01F4 brne .+2
- 1020 0026 00C0 rjmp .L129
- 1021 0028 04F4 brge .L130
- 1022 002a 6130 cpi r22,1
- 1023 002c 84E0 ldi r24,4
- 1024 002e 7807 cpc r23,r24
- 1025 0030 01F4 brne .+2
- 1026 0032 00C0 rjmp .L131
- GAS LISTING /tmp/ccLyalLZ.s page 19
- 1027 0034 6230 cpi r22,2
- 1028 0036 7440 sbci r23,4
- 1029 0038 01F0 breq .+2
- 1030 003a 00C0 rjmp .L126
- 1031 003c 1C91 ld r17,X
- 1032 003e EC81 ldd r30,Y+4
- 1033 0040 FD81 ldd r31,Y+5
- 1034 0042 6AE0 ldi r22,lo8(10)
- 1035 0044 1196 adiw r26,1
- 1036 0046 8C91 ld r24,X
- 1037 0048 00C0 rjmp .L149
- 1038 .L130:
- 1039 004a 6530 cpi r22,5
- 1040 004c F4E0 ldi r31,4
- 1041 004e 7F07 cpc r23,r31
- 1042 0050 01F4 brne .+2
- 1043 0052 00C0 rjmp .L133
- 1044 0054 6630 cpi r22,6
- 1045 0056 7440 sbci r23,4
- 1046 0058 01F0 breq .+2
- 1047 005a 00C0 rjmp .L126
- 1048 005c 1C91 ld r17,X
- 1049 005e EA81 ldd r30,Y+2
- 1050 0060 FB81 ldd r31,Y+3
- 1051 0062 1196 adiw r26,1
- 1052 0064 8C91 ld r24,X
- 1053 0066 00C0 rjmp .L152
- 1054 .L128:
- 1055 0068 6531 cpi r22,21
- 1056 006a E4E0 ldi r30,4
- 1057 006c 7E07 cpc r23,r30
- 1058 006e 01F4 brne .+2
- 1059 0070 00C0 rjmp .L135
- 1060 0072 04F4 brge .L136
- 1061 0074 6331 cpi r22,19
- 1062 0076 84E0 ldi r24,4
- 1063 0078 7807 cpc r23,r24
- 1064 007a 01F4 brne .+2
- 1065 007c 00C0 rjmp .L137
- 1066 007e 6431 cpi r22,20
- 1067 0080 7440 sbci r23,4
- 1068 0082 01F4 brne .+2
- 1069 0084 00C0 rjmp .L138
- 1070 0086 00C0 rjmp .L126
- 1071 .L136:
- 1072 0088 6631 cpi r22,22
- 1073 008a F4E0 ldi r31,4
- 1074 008c 7F07 cpc r23,r31
- 1075 008e 01F4 brne .+2
- 1076 0090 00C0 rjmp .L139
- 1077 0092 6130 cpi r22,1
- 1078 0094 7540 sbci r23,5
- 1079 0096 01F0 breq .+2
- 1080 0098 00C0 rjmp .L126
- 1081 009a 8F89 ldd r24,Y+23
- 1082 009c 90E0 ldi r25,0
- 1083 009e 1396 adiw r26,2+1
- GAS LISTING /tmp/ccLyalLZ.s page 20
- 1084 00a0 9C93 st X,r25
- 1085 00a2 8E93 st -X,r24
- 1086 00a4 1297 sbiw r26,2
- 1087 00a6 898D ldd r24,Y+25
- 1088 00a8 90E0 ldi r25,0
- 1089 00aa 1196 adiw r26,1
- 1090 00ac 9C93 st X,r25
- 1091 00ae 8E93 st -X,r24
- 1092 00b0 1596 adiw r26,4+1
- 1093 00b2 1C92 st X,__zero_reg__
- 1094 00b4 1E92 st -X,__zero_reg__
- 1095 00b6 1497 sbiw r26,4
- 1096 00b8 1796 adiw r26,6+1
- 1097 00ba 1C92 st X,__zero_reg__
- 1098 00bc 1E92 st -X,__zero_reg__
- 1099 00be 1697 sbiw r26,6
- 1100 00c0 00C0 rjmp .L126
- 1101 .L131:
- 1102 00c2 EC81 ldd r30,Y+4
- 1103 00c4 FD81 ldd r31,Y+5
- 1104 00c6 6AE0 ldi r22,lo8(10)
- 1105 00c8 8C91 ld r24,X
- 1106 00ca 00C0 rjmp .L148
- 1107 .L129:
- 1108 00cc 1C91 ld r17,X
- 1109 00ce 1196 adiw r26,1
- 1110 00d0 0C91 ld r16,X
- 1111 00d2 1197 sbiw r26,1
- 1112 00d4 1296 adiw r26,2
- 1113 00d6 FC90 ld r15,X
- 1114 00d8 1297 sbiw r26,2
- 1115 00da 1396 adiw r26,3
- 1116 00dc 8C91 ld r24,X
- 1117 00de EC81 ldd r30,Y+4
- 1118 00e0 FD81 ldd r31,Y+5
- 1119 00e2 6AE0 ldi r22,lo8(10)
- 1120 00e4 1995 eicall
- 1121 00e6 EC81 ldd r30,Y+4
- 1122 00e8 FD81 ldd r31,Y+5
- 1123 00ea 6AE0 ldi r22,lo8(10)
- 1124 00ec 8F2D mov r24,r15
- 1125 00ee 1995 eicall
- 1126 00f0 EC81 ldd r30,Y+4
- 1127 00f2 FD81 ldd r31,Y+5
- 1128 00f4 6AE0 ldi r22,lo8(10)
- 1129 00f6 802F mov r24,r16
- 1130 .L149:
- 1131 00f8 1995 eicall
- 1132 00fa EC81 ldd r30,Y+4
- 1133 00fc FD81 ldd r31,Y+5
- 1134 00fe 6AE0 ldi r22,lo8(10)
- 1135 0100 812F mov r24,r17
- 1136 .L148:
- 1137 0102 1995 eicall
- 1138 0104 00C0 rjmp .L126
- 1139 .L133:
- 1140 0106 EA81 ldd r30,Y+2
- GAS LISTING /tmp/ccLyalLZ.s page 21
- 1141 0108 FB81 ldd r31,Y+3
- 1142 010a 8C91 ld r24,X
- 1143 010c 00C0 rjmp .L150
- 1144 .L127:
- 1145 010e 1C91 ld r17,X
- 1146 0110 1196 adiw r26,1
- 1147 0112 0C91 ld r16,X
- 1148 0114 1197 sbiw r26,1
- 1149 0116 1296 adiw r26,2
- 1150 0118 FC90 ld r15,X
- 1151 011a 1297 sbiw r26,2
- 1152 011c 1396 adiw r26,3
- 1153 011e 8C91 ld r24,X
- 1154 0120 EA81 ldd r30,Y+2
- 1155 0122 FB81 ldd r31,Y+3
- 1156 0124 1995 eicall
- 1157 0126 EA81 ldd r30,Y+2
- 1158 0128 FB81 ldd r31,Y+3
- 1159 012a 8F2D mov r24,r15
- 1160 012c 1995 eicall
- 1161 012e EA81 ldd r30,Y+2
- 1162 0130 FB81 ldd r31,Y+3
- 1163 0132 802F mov r24,r16
- 1164 .L152:
- 1165 0134 1995 eicall
- 1166 0136 EA81 ldd r30,Y+2
- 1167 0138 FB81 ldd r31,Y+3
- 1168 013a 812F mov r24,r17
- 1169 .L150:
- 1170 013c 1995 eicall
- 1171 013e 00C0 rjmp .L126
- 1172 .L137:
- 1173 0140 4D91 ld r20,X+
- 1174 0142 5D91 ld r21,X+
- 1175 0144 6D91 ld r22,X+
- 1176 0146 7C91 ld r23,X
- 1177 0148 8A89 ldd r24,Y+18
- 1178 014a 9B89 ldd r25,Y+19
- 1179 014c AC89 ldd r26,Y+20
- 1180 014e BD89 ldd r27,Y+21
- 1181 0150 452B or r20,r21
- 1182 0152 462B or r20,r22
- 1183 0154 472B or r20,r23
- 1184 0156 01F0 breq .L141
- 1185 0158 A260 ori r26,2
- 1186 015a 00C0 rjmp .L151
- 1187 .L141:
- 1188 015c AD7F andi r26,253
- 1189 015e 00C0 rjmp .L151
- 1190 .L138:
- 1191 0160 4A89 ldd r20,Y+18
- 1192 0162 5B89 ldd r21,Y+19
- 1193 0164 6C89 ldd r22,Y+20
- 1194 0166 7D89 ldd r23,Y+21
- 1195 0168 61FF sbrs r22,1
- 1196 016a 00C0 rjmp .L142
- 1197 .L144:
- GAS LISTING /tmp/ccLyalLZ.s page 22
- 1198 016c 41E0 ldi r20,lo8(1)
- 1199 016e 50E0 ldi r21,0
- 1200 0170 60E0 ldi r22,0
- 1201 0172 70E0 ldi r23,0
- 1202 0174 4D93 st X+,r20
- 1203 0176 5D93 st X+,r21
- 1204 0178 6D93 st X+,r22
- 1205 017a 7C93 st X,r23
- 1206 017c 1397 sbiw r26,3
- 1207 017e 00C0 rjmp .L126
- 1208 .L139:
- 1209 0180 4A89 ldd r20,Y+18
- 1210 0182 5B89 ldd r21,Y+19
- 1211 0184 6C89 ldd r22,Y+20
- 1212 0186 7D89 ldd r23,Y+21
- 1213 0188 62FD sbrc r22,2
- 1214 018a 00C0 rjmp .L144
- 1215 .L142:
- 1216 018c 1D92 st X+,__zero_reg__
- 1217 018e 1D92 st X+,__zero_reg__
- 1218 0190 1D92 st X+,__zero_reg__
- 1219 0192 1C92 st X,__zero_reg__
- 1220 0194 1397 sbiw r26,3
- 1221 0196 00C0 rjmp .L126
- 1222 .L135:
- 1223 0198 4D91 ld r20,X+
- 1224 019a 5D91 ld r21,X+
- 1225 019c 6D91 ld r22,X+
- 1226 019e 7C91 ld r23,X
- 1227 01a0 8A89 ldd r24,Y+18
- 1228 01a2 9B89 ldd r25,Y+19
- 1229 01a4 AC89 ldd r26,Y+20
- 1230 01a6 BD89 ldd r27,Y+21
- 1231 01a8 452B or r20,r21
- 1232 01aa 462B or r20,r22
- 1233 01ac 472B or r20,r23
- 1234 01ae 01F0 breq .L143
- 1235 01b0 A460 ori r26,4
- 1236 01b2 00C0 rjmp .L151
- 1237 .L143:
- 1238 01b4 AB7F andi r26,251
- 1239 .L151:
- 1240 01b6 8A8B std Y+18,r24
- 1241 01b8 9B8B std Y+19,r25
- 1242 01ba AC8B std Y+20,r26
- 1243 01bc BD8B std Y+21,r27
- 1244 .L126:
- 1245 01be 80E0 ldi r24,0
- 1246 01c0 90E0 ldi r25,0
- 1247 /* epilogue start */
- 1248 01c2 DF91 pop r29
- 1249 01c4 CF91 pop r28
- 1250 01c6 1F91 pop r17
- 1251 01c8 0F91 pop r16
- 1252 01ca FF90 pop r15
- 1253 01cc 0895 ret
- 1254 .size TermIOCtl, .-TermIOCtl
- GAS LISTING /tmp/ccLyalLZ.s page 23
- 1255 .section .text.TermInit,"ax",@progbits
- 1256 .global TermInit
- 1257 .type TermInit, @function
- 1258 TermInit:
- 1259 0000 CF93 push r28
- 1260 0002 DF93 push r29
- 1261 /* prologue: function */
- 1262 /* frame size = 0 */
- 1263 /* stack size = 2 */
- 1264 .L__stack_usage = 2
- 1265 0004 FC01 movw r30,r24
- 1266 0006 C189 ldd r28,Z+17
- 1267 0008 D289 ldd r29,Z+18
- 1268 000a E881 ld r30,Y
- 1269 000c F981 ldd r31,Y+1
- 1270 000e 3097 sbiw r30,0
- 1271 0010 01F4 brne .L154
- 1272 .L157:
- 1273 0012 9F89 ldd r25,Y+23
- 1274 0014 898D ldd r24,Y+25
- 1275 0016 989F mul r25,r24
- 1276 0018 C001 movw r24,r0
- 1277 001a 1124 clr __zero_reg__
- 1278 001c 0E94 0000 call malloc
- 1279 0020 9D8F std Y+29,r25
- 1280 0022 8C8F std Y+28,r24
- 1281 0024 892B or r24,r25
- 1282 0026 01F4 brne .L165
- 1283 0028 00C0 rjmp .L155
- 1284 .L154:
- 1285 002a 1995 eicall
- 1286 002c 892B or r24,r25
- 1287 002e 01F0 breq .L157
- 1288 .L155:
- 1289 0030 8FEF ldi r24,lo8(-1)
- 1290 0032 9FEF ldi r25,lo8(-1)
- 1291 0034 00C0 rjmp .L158
- 1292 .L165:
- 1293 0036 CE01 movw r24,r28
- 1294 0038 0E94 0000 call TermClear
- 1295 003c 80E0 ldi r24,0
- 1296 003e 90E0 ldi r25,0
- 1297 .L158:
- 1298 /* epilogue start */
- 1299 0040 DF91 pop r29
- 1300 0042 CF91 pop r28
- 1301 0044 0895 ret
- 1302 .size TermInit, .-TermInit
- 1303 .section .text.TermWrite,"ax",@progbits
- 1304 .global TermWrite
- 1305 .type TermWrite, @function
- 1306 TermWrite:
- 1307 /* prologue: function */
- 1308 /* frame size = 0 */
- 1309 /* stack size = 0 */
- 1310 .L__stack_usage = 0
- 1311 0000 DC01 movw r26,r24
- GAS LISTING /tmp/ccLyalLZ.s page 24
- 1312 0002 ED91 ld r30,X+
- 1313 0004 FC91 ld r31,X
- 1314 0006 20E0 ldi r18,0
- 1315 0008 30E0 ldi r19,0
- 1316 000a 8189 ldd r24,Z+17
- 1317 000c 9289 ldd r25,Z+18
- 1318 000e 0C94 0000 jmp TermPut.isra.0
- 1319 .size TermWrite, .-TermWrite
- 1320 .section .text.TermWrite_P,"ax",@progbits
- 1321 .global TermWrite_P
- 1322 .type TermWrite_P, @function
- 1323 TermWrite_P:
- 1324 /* prologue: function */
- 1325 /* frame size = 0 */
- 1326 /* stack size = 0 */
- 1327 .L__stack_usage = 0
- 1328 0000 DC01 movw r26,r24
- 1329 0002 ED91 ld r30,X+
- 1330 0004 FC91 ld r31,X
- 1331 0006 21E0 ldi r18,lo8(1)
- 1332 0008 30E0 ldi r19,0
- 1333 000a 8189 ldd r24,Z+17
- 1334 000c 9289 ldd r25,Z+18
- 1335 000e 0C94 0000 jmp TermPut.isra.0
- 1336 .size TermWrite_P, .-TermWrite_P
- 1337 .section .text.TermOpen,"ax",@progbits
- 1338 .global TermOpen
- 1339 .type TermOpen, @function
- 1340 TermOpen:
- 1341 0000 CF92 push r12
- 1342 0002 DF92 push r13
- 1343 0004 EF92 push r14
- 1344 0006 FF92 push r15
- 1345 0008 0F93 push r16
- 1346 000a 1F93 push r17
- 1347 000c CF93 push r28
- 1348 000e DF93 push r29
- 1349 /* prologue: function */
- 1350 /* frame size = 0 */
- 1351 /* stack size = 8 */
- 1352 .L__stack_usage = 8
- 1353 0010 7C01 movw r14,r24
- 1354 0012 6A01 movw r12,r20
- 1355 0014 FC01 movw r30,r24
- 1356 0016 C189 ldd r28,Z+17
- 1357 0018 D289 ldd r29,Z+18
- 1358 001a 84E0 ldi r24,lo8(4)
- 1359 001c 90E0 ldi r25,0
- 1360 001e 0E94 0000 call malloc
- 1361 0022 FC01 movw r30,r24
- 1362 0024 892B or r24,r25
- 1363 0026 01F0 breq .L172
- 1364 0028 0A89 ldd r16,Y+18
- 1365 002a 1B89 ldd r17,Y+19
- 1366 002c 2C89 ldd r18,Y+20
- 1367 002e 3D89 ldd r19,Y+21
- 1368 0030 D7FE sbrs r13,7
- GAS LISTING /tmp/ccLyalLZ.s page 25
- 1369 0032 00C0 rjmp .L170
- 1370 0034 2D7F andi r18,253
- 1371 0036 00C0 rjmp .L173
- 1372 .L170:
- 1373 0038 2260 ori r18,2
- 1374 .L173:
- 1375 003a 0A8B std Y+18,r16
- 1376 003c 1B8B std Y+19,r17
- 1377 003e 2C8B std Y+20,r18
- 1378 0040 3D8B std Y+21,r19
- 1379 0042 F182 std Z+1,r15
- 1380 0044 E082 st Z,r14
- 1381 0046 1382 std Z+3,__zero_reg__
- 1382 0048 1282 std Z+2,__zero_reg__
- 1383 004a CF01 movw r24,r30
- 1384 004c 00C0 rjmp .L169
- 1385 .L172:
- 1386 004e 8FEF ldi r24,lo8(-1)
- 1387 0050 9FEF ldi r25,lo8(-1)
- 1388 .L169:
- 1389 /* epilogue start */
- 1390 0052 DF91 pop r29
- 1391 0054 CF91 pop r28
- 1392 0056 1F91 pop r17
- 1393 0058 0F91 pop r16
- 1394 005a FF90 pop r15
- 1395 005c EF90 pop r14
- 1396 005e DF90 pop r13
- 1397 0060 CF90 pop r12
- 1398 0062 0895 ret
- 1399 .size TermOpen, .-TermOpen
- 1400 .section .text.TermClose,"ax",@progbits
- 1401 .global TermClose
- 1402 .type TermClose, @function
- 1403 TermClose:
- 1404 /* prologue: function */
- 1405 /* frame size = 0 */
- 1406 /* stack size = 0 */
- 1407 .L__stack_usage = 0
- 1408 0000 9C01 movw r18,r24
- 1409 0002 2150 subi r18,1
- 1410 0004 3109 sbc r19,__zero_reg__
- 1411 0006 2E3F cpi r18,-2
- 1412 0008 3F4F sbci r19,-1
- 1413 000a 00F4 brsh .L176
- 1414 000c 0E94 0000 call free
- 1415 0010 80E0 ldi r24,0
- 1416 0012 90E0 ldi r25,0
- 1417 0014 0895 ret
- 1418 .L176:
- 1419 0016 8FEF ldi r24,lo8(-1)
- 1420 0018 9FEF ldi r25,lo8(-1)
- 1421 001a 0895 ret
- 1422 .size TermClose, .-TermClose
- 1423 .section .rodata
- 1424 .type termid, @object
- 1425 .size termid, 9
- GAS LISTING /tmp/ccLyalLZ.s page 26
- 1426 termid:
- 1427 0000 5465 726D .string "Term 1.0"
- 1427 2031 2E30
- 1427 00
- 1428 .ident "GCC: (GNU) 5.3.0"
- 1429 .global __do_copy_data
- GAS LISTING /tmp/ccLyalLZ.s page 27
- DEFINED SYMBOLS
- *ABS*:0000000000000000 term.c
- /tmp/ccLyalLZ.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccLyalLZ.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccLyalLZ.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccLyalLZ.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccLyalLZ.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccLyalLZ.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccLyalLZ.s:10 .text.TermRefreshLineEnd:0000000000000000 TermRefreshLineEnd
- /tmp/ccLyalLZ.s:123 .text.TermClear:0000000000000000 TermClear
- /tmp/ccLyalLZ.s:153 .text.TermRefresh:0000000000000000 TermRefresh
- /tmp/ccLyalLZ.s:190 .text.TermInsertLine:0000000000000000 TermInsertLine
- /tmp/ccLyalLZ.s:245 .text.TermDeleteLine:0000000000000000 TermDeleteLine
- /tmp/ccLyalLZ.s:302 .text.TermDeleteChar:0000000000000000 TermDeleteChar
- /tmp/ccLyalLZ.s:355 .text.TermPut.isra.0:0000000000000000 TermPut.isra.0
- /tmp/ccLyalLZ.s:1426 .rodata:0000000000000000 termid
- /tmp/ccLyalLZ.s:996 .text.TermIOCtl:0000000000000000 TermIOCtl
- /tmp/ccLyalLZ.s:1258 .text.TermInit:0000000000000000 TermInit
- /tmp/ccLyalLZ.s:1306 .text.TermWrite:0000000000000000 TermWrite
- /tmp/ccLyalLZ.s:1323 .text.TermWrite_P:0000000000000000 TermWrite_P
- /tmp/ccLyalLZ.s:1340 .text.TermOpen:0000000000000000 TermOpen
- /tmp/ccLyalLZ.s:1403 .text.TermClose:0000000000000000 TermClose
- UNDEFINED SYMBOLS
- memset
- memcpy
- __tablejump2__
- malloc
- free
- __do_copy_data
|