| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952 |
- GAS LISTING /tmp/ccdIDRX3.s page 1
- 1 .file "edline.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.PrintString,"ax",@progbits
- 9 .type PrintString, @function
- 10 PrintString:
- 11 0000 0F93 push r16
- 12 0002 1F93 push r17
- 13 0004 CF93 push r28
- 14 0006 DF93 push r29
- 15 /* prologue: function */
- 16 /* frame size = 0 */
- 17 /* stack size = 4 */
- 18 .L__stack_usage = 4
- 19 0008 8C01 movw r16,r24
- 20 000a EB01 movw r28,r22
- 21 .L2:
- 22 000c 6991 ld r22,Y+
- 23 000e 6623 tst r22
- 24 0010 01F0 breq .L5
- 25 0012 062E mov __tmp_reg__,r22
- 26 0014 000C lsl r0
- 27 0016 770B sbc r23,r23
- 28 0018 D801 movw r26,r16
- 29 001a 1496 adiw r26,4
- 30 001c ED91 ld r30,X+
- 31 001e FC91 ld r31,X
- 32 0020 1597 sbiw r26,4+1
- 33 0022 1696 adiw r26,6
- 34 0024 8D91 ld r24,X+
- 35 0026 9C91 ld r25,X
- 36 0028 1797 sbiw r26,6+1
- 37 002a 1995 eicall
- 38 002c 00C0 rjmp .L2
- 39 .L5:
- 40 002e 80E0 ldi r24,0
- 41 0030 90E0 ldi r25,0
- 42 /* epilogue start */
- 43 0032 DF91 pop r29
- 44 0034 CF91 pop r28
- 45 0036 1F91 pop r17
- 46 0038 0F91 pop r16
- 47 003a 0895 ret
- 48 .size PrintString, .-PrintString
- 49 .section .text.PrintCharacter,"ax",@progbits
- 50 .type PrintCharacter, @function
- 51 PrintCharacter:
- 52 0000 EF92 push r14
- 53 0002 FF92 push r15
- 54 0004 0F93 push r16
- 55 0006 1F93 push r17
- 56 0008 CF93 push r28
- 57 000a DF93 push r29
- GAS LISTING /tmp/ccdIDRX3.s page 2
- 58 /* prologue: function */
- 59 /* frame size = 0 */
- 60 /* stack size = 6 */
- 61 .L__stack_usage = 6
- 62 000c 8C01 movw r16,r24
- 63 000e 7B01 movw r14,r22
- 64 0010 EA01 movw r28,r20
- 65 .L7:
- 66 0012 1C16 cp __zero_reg__,r28
- 67 0014 1D06 cpc __zero_reg__,r29
- 68 0016 04F4 brge .L9
- 69 0018 D801 movw r26,r16
- 70 001a 1496 adiw r26,4
- 71 001c ED91 ld r30,X+
- 72 001e FC91 ld r31,X
- 73 0020 1597 sbiw r26,4+1
- 74 0022 B701 movw r22,r14
- 75 0024 1696 adiw r26,6
- 76 0026 8D91 ld r24,X+
- 77 0028 9C91 ld r25,X
- 78 002a 1797 sbiw r26,6+1
- 79 002c 1995 eicall
- 80 002e 2197 sbiw r28,1
- 81 0030 00C0 rjmp .L7
- 82 .L9:
- 83 /* epilogue start */
- 84 0032 DF91 pop r29
- 85 0034 CF91 pop r28
- 86 0036 1F91 pop r17
- 87 0038 0F91 pop r16
- 88 003a FF90 pop r15
- 89 003c EF90 pop r14
- 90 003e 0895 ret
- 91 .size PrintCharacter, .-PrintCharacter
- 92 .section .text.EdLineGetChar,"ax",@progbits
- 93 .type EdLineGetChar, @function
- 94 EdLineGetChar:
- 95 /* prologue: function */
- 96 /* frame size = 0 */
- 97 /* stack size = 0 */
- 98 .L__stack_usage = 0
- 99 0000 0C94 0000 jmp getchar
- 100 .size EdLineGetChar, .-EdLineGetChar
- 101 .section .text.EdLinePutChar,"ax",@progbits
- 102 .type EdLinePutChar, @function
- 103 EdLinePutChar:
- 104 /* prologue: function */
- 105 /* frame size = 0 */
- 106 /* stack size = 0 */
- 107 .L__stack_usage = 0
- 108 0000 CB01 movw r24,r22
- 109 0002 0C94 0000 jmp putchar
- 110 .size EdLinePutChar, .-EdLinePutChar
- 111 .section .text.EdLineKeyMap,"ax",@progbits
- 112 .global EdLineKeyMap
- 113 .type EdLineKeyMap, @function
- 114 EdLineKeyMap:
- GAS LISTING /tmp/ccdIDRX3.s page 3
- 115 /* prologue: function */
- 116 /* frame size = 0 */
- 117 /* stack size = 0 */
- 118 .L__stack_usage = 0
- 119 0000 FB01 movw r30,r22
- 120 0002 8D30 cpi r24,13
- 121 0004 9105 cpc r25,__zero_reg__
- 122 0006 01F4 brne .L13
- 123 0008 8FEF ldi r24,lo8(-1)
- 124 000a 9FEF ldi r25,lo8(-1)
- 125 000c 9183 std Z+1,r25
- 126 000e 8083 st Z,r24
- 127 0010 8AE0 ldi r24,lo8(10)
- 128 0012 90E0 ldi r25,0
- 129 0014 0895 ret
- 130 .L13:
- 131 0016 8A30 cpi r24,10
- 132 0018 9105 cpc r25,__zero_reg__
- 133 001a 01F4 brne .L15
- 134 001c 2081 ld r18,Z
- 135 001e 3181 ldd r19,Z+1
- 136 0020 37FF sbrs r19,7
- 137 0022 00C0 rjmp .L15
- 138 0024 80E0 ldi r24,0
- 139 0026 90E0 ldi r25,0
- 140 .L15:
- 141 0028 1182 std Z+1,__zero_reg__
- 142 002a 1082 st Z,__zero_reg__
- 143 002c 0895 ret
- 144 .size EdLineKeyMap, .-EdLineKeyMap
- 145 .section .text.EdLineRegisterInput,"ax",@progbits
- 146 .global EdLineRegisterInput
- 147 .type EdLineRegisterInput, @function
- 148 EdLineRegisterInput:
- 149 /* prologue: function */
- 150 /* frame size = 0 */
- 151 /* stack size = 0 */
- 152 .L__stack_usage = 0
- 153 0000 FC01 movw r30,r24
- 154 0002 6115 cp r22,__zero_reg__
- 155 0004 7105 cpc r23,__zero_reg__
- 156 0006 01F0 breq .L18
- 157 0008 7183 std Z+1,r23
- 158 000a 6083 st Z,r22
- 159 000c 00C0 rjmp .L19
- 160 .L18:
- 161 000e 80E0 ldi r24,lo8(gs(EdLineGetChar))
- 162 0010 90E0 ldi r25,hi8(gs(EdLineGetChar))
- 163 0012 9183 std Z+1,r25
- 164 0014 8083 st Z,r24
- 165 .L19:
- 166 0016 5383 std Z+3,r21
- 167 0018 4283 std Z+2,r20
- 168 001a 0895 ret
- 169 .size EdLineRegisterInput, .-EdLineRegisterInput
- 170 .section .text.EdLineRegisterOutput,"ax",@progbits
- 171 .global EdLineRegisterOutput
- GAS LISTING /tmp/ccdIDRX3.s page 4
- 172 .type EdLineRegisterOutput, @function
- 173 EdLineRegisterOutput:
- 174 /* prologue: function */
- 175 /* frame size = 0 */
- 176 /* stack size = 0 */
- 177 .L__stack_usage = 0
- 178 0000 FC01 movw r30,r24
- 179 0002 6115 cp r22,__zero_reg__
- 180 0004 7105 cpc r23,__zero_reg__
- 181 0006 01F0 breq .L21
- 182 0008 7583 std Z+5,r23
- 183 000a 6483 std Z+4,r22
- 184 000c 00C0 rjmp .L22
- 185 .L21:
- 186 000e 80E0 ldi r24,lo8(gs(EdLinePutChar))
- 187 0010 90E0 ldi r25,hi8(gs(EdLinePutChar))
- 188 0012 9583 std Z+5,r25
- 189 0014 8483 std Z+4,r24
- 190 .L22:
- 191 0016 5783 std Z+7,r21
- 192 0018 4683 std Z+6,r20
- 193 001a 0895 ret
- 194 .size EdLineRegisterOutput, .-EdLineRegisterOutput
- 195 .section .text.EdLineRegisterKeymap,"ax",@progbits
- 196 .global EdLineRegisterKeymap
- 197 .type EdLineRegisterKeymap, @function
- 198 EdLineRegisterKeymap:
- 199 /* prologue: function */
- 200 /* frame size = 0 */
- 201 /* stack size = 0 */
- 202 .L__stack_usage = 0
- 203 0000 6115 cp r22,__zero_reg__
- 204 0002 7105 cpc r23,__zero_reg__
- 205 0004 01F0 breq .L24
- 206 0006 FC01 movw r30,r24
- 207 0008 7187 std Z+9,r23
- 208 000a 6087 std Z+8,r22
- 209 000c 0895 ret
- 210 .L24:
- 211 000e 20E0 ldi r18,lo8(gs(EdLineKeyMap))
- 212 0010 30E0 ldi r19,hi8(gs(EdLineKeyMap))
- 213 0012 FC01 movw r30,r24
- 214 0014 3187 std Z+9,r19
- 215 0016 2087 std Z+8,r18
- 216 0018 0895 ret
- 217 .size EdLineRegisterKeymap, .-EdLineRegisterKeymap
- 218 .section .text.EdLineOpen,"ax",@progbits
- 219 .global EdLineOpen
- 220 .type EdLineOpen, @function
- 221 EdLineOpen:
- 222 0000 0F93 push r16
- 223 0002 1F93 push r17
- 224 0004 CF93 push r28
- 225 0006 DF93 push r29
- 226 /* prologue: function */
- 227 /* frame size = 0 */
- 228 /* stack size = 4 */
- GAS LISTING /tmp/ccdIDRX3.s page 5
- 229 .L__stack_usage = 4
- 230 0008 182F mov r17,r24
- 231 000a 092F mov r16,r25
- 232 000c 60E1 ldi r22,lo8(16)
- 233 000e 70E0 ldi r23,0
- 234 0010 81E0 ldi r24,lo8(1)
- 235 0012 90E0 ldi r25,0
- 236 0014 0E94 0000 call calloc
- 237 0018 EC01 movw r28,r24
- 238 001a 892B or r24,r25
- 239 001c 01F0 breq .L28
- 240 001e 1A87 std Y+10,r17
- 241 0020 0B87 std Y+11,r16
- 242 0022 8091 0000 lds r24,__iob
- 243 0026 9091 0000 lds r25,__iob+1
- 244 002a 20E0 ldi r18,lo8(gs(EdLineGetChar))
- 245 002c 30E0 ldi r19,hi8(gs(EdLineGetChar))
- 246 002e 3983 std Y+1,r19
- 247 0030 2883 st Y,r18
- 248 0032 9B83 std Y+3,r25
- 249 0034 8A83 std Y+2,r24
- 250 0036 8091 0000 lds r24,__iob+2
- 251 003a 9091 0000 lds r25,__iob+2+1
- 252 003e 20E0 ldi r18,lo8(gs(EdLinePutChar))
- 253 0040 30E0 ldi r19,hi8(gs(EdLinePutChar))
- 254 0042 3D83 std Y+5,r19
- 255 0044 2C83 std Y+4,r18
- 256 0046 9F83 std Y+7,r25
- 257 0048 8E83 std Y+6,r24
- 258 004a 80E0 ldi r24,lo8(gs(EdLineKeyMap))
- 259 004c 90E0 ldi r25,hi8(gs(EdLineKeyMap))
- 260 004e 9987 std Y+9,r25
- 261 0050 8887 std Y+8,r24
- 262 0052 12FF sbrs r17,2
- 263 0054 00C0 rjmp .L28
- 264 0056 80E1 ldi r24,lo8(16)
- 265 0058 90E0 ldi r25,0
- 266 005a 0E94 0000 call EditHistoryCreate
- 267 005e 9F87 std Y+15,r25
- 268 0060 8E87 std Y+14,r24
- 269 .L28:
- 270 0062 CE01 movw r24,r28
- 271 /* epilogue start */
- 272 0064 DF91 pop r29
- 273 0066 CF91 pop r28
- 274 0068 1F91 pop r17
- 275 006a 0F91 pop r16
- 276 006c 0895 ret
- 277 .size EdLineOpen, .-EdLineOpen
- 278 .section .text.EdLineClose,"ax",@progbits
- 279 .global EdLineClose
- 280 .type EdLineClose, @function
- 281 EdLineClose:
- 282 0000 CF93 push r28
- 283 0002 DF93 push r29
- 284 /* prologue: function */
- 285 /* frame size = 0 */
- GAS LISTING /tmp/ccdIDRX3.s page 6
- 286 /* stack size = 2 */
- 287 .L__stack_usage = 2
- 288 0004 EC01 movw r28,r24
- 289 0006 892B or r24,r25
- 290 0008 01F0 breq .L33
- 291 000a 8E85 ldd r24,Y+14
- 292 000c 9F85 ldd r25,Y+15
- 293 000e 0E94 0000 call EditHistoryDestroy
- 294 0012 CE01 movw r24,r28
- 295 /* epilogue start */
- 296 0014 DF91 pop r29
- 297 0016 CF91 pop r28
- 298 0018 0C94 0000 jmp free
- 299 .L33:
- 300 /* epilogue start */
- 301 001c DF91 pop r29
- 302 001e CF91 pop r28
- 303 0020 0895 ret
- 304 .size EdLineClose, .-EdLineClose
- 305 .section .rodata.str1.1,"aMS",@progbits,1
- 306 .LC0:
- 307 0000 0D0A 00 .string "\r\n"
- 308 .section .text.EdLineRead,"ax",@progbits
- 309 .global EdLineRead
- 310 .type EdLineRead, @function
- 311 EdLineRead:
- 312 0000 2F92 push r2
- 313 0002 3F92 push r3
- 314 0004 4F92 push r4
- 315 0006 5F92 push r5
- 316 0008 6F92 push r6
- 317 000a 7F92 push r7
- 318 000c 8F92 push r8
- 319 000e 9F92 push r9
- 320 0010 AF92 push r10
- 321 0012 BF92 push r11
- 322 0014 CF92 push r12
- 323 0016 DF92 push r13
- 324 0018 EF92 push r14
- 325 001a FF92 push r15
- 326 001c 0F93 push r16
- 327 001e 1F93 push r17
- 328 0020 CF93 push r28
- 329 0022 DF93 push r29
- 330 0024 00D0 rcall .
- 331 0026 00D0 rcall .
- 332 0028 CDB7 in r28,__SP_L__
- 333 002a DEB7 in r29,__SP_H__
- 334 /* prologue: function */
- 335 /* frame size = 6 */
- 336 /* stack size = 24 */
- 337 .L__stack_usage = 24
- 338 002c 8C01 movw r16,r24
- 339 002e 7B01 movw r14,r22
- 340 0030 4A01 movw r8,r20
- 341 0032 1B01 movw r2,r22
- 342 0034 240E add r2,r20
- GAS LISTING /tmp/ccdIDRX3.s page 7
- 343 0036 351E adc r3,r21
- 344 0038 F101 movw r30,r2
- 345 003a 3197 sbiw r30,1
- 346 003c 1082 st Z,__zero_reg__
- 347 003e AB01 movw r20,r22
- 348 0040 60E0 ldi r22,0
- 349 0042 70E0 ldi r23,0
- 350 0044 DC01 movw r26,r24
- 351 0046 1E96 adiw r26,14
- 352 0048 8D91 ld r24,X+
- 353 004a 9C91 ld r25,X
- 354 004c 1F97 sbiw r26,14+1
- 355 004e 0E94 0000 call EditHistorySet
- 356 0052 B701 movw r22,r14
- 357 0054 C801 movw r24,r16
- 358 0056 0E94 0000 call PrintString
- 359 005a F701 movw r30,r14
- 360 0:
- 361 005c 0190 ld __tmp_reg__,Z+
- 362 005e 0020 tst __tmp_reg__
- 363 0060 01F4 brne 0b
- 364 0062 3197 sbiw r30,1
- 365 0064 9F01 movw r18,r30
- 366 0066 2E19 sub r18,r14
- 367 0068 3F09 sbc r19,r15
- 368 006a 3E83 std Y+6,r19
- 369 006c 2D83 std Y+5,r18
- 370 006e 612C mov r6,__zero_reg__
- 371 0070 712C mov r7,__zero_reg__
- 372 0072 C12C mov r12,__zero_reg__
- 373 0074 D12C mov r13,__zero_reg__
- 374 0076 C801 movw r24,r16
- 375 0078 0C96 adiw r24,12
- 376 007a 9A83 std Y+2,r25
- 377 007c 8983 std Y+1,r24
- 378 007e 2401 movw r4,r8
- 379 0080 91E0 ldi r25,1
- 380 0082 491A sub r4,r25
- 381 0084 5108 sbc r5,__zero_reg__
- 382 .L36:
- 383 0086 D801 movw r26,r16
- 384 0088 ED91 ld r30,X+
- 385 008a FC91 ld r31,X
- 386 008c 1197 sbiw r26,1
- 387 008e 1296 adiw r26,2
- 388 0090 8D91 ld r24,X+
- 389 0092 9C91 ld r25,X
- 390 0094 1397 sbiw r26,2+1
- 391 0096 1995 eicall
- 392 0098 8F3F cpi r24,-1
- 393 009a BFEF ldi r27,-1
- 394 009c 9B07 cpc r25,r27
- 395 009e 01F4 brne .+2
- 396 00a0 00C0 rjmp .L59
- 397 00a2 D801 movw r26,r16
- 398 00a4 1896 adiw r26,8
- 399 00a6 ED91 ld r30,X+
- GAS LISTING /tmp/ccdIDRX3.s page 8
- 400 00a8 FC91 ld r31,X
- 401 00aa 1997 sbiw r26,8+1
- 402 00ac 6981 ldd r22,Y+1
- 403 00ae 7A81 ldd r23,Y+2
- 404 00b0 1995 eicall
- 405 00b2 BC01 movw r22,r24
- 406 00b4 8A30 cpi r24,10
- 407 00b6 9105 cpc r25,__zero_reg__
- 408 00b8 01F4 brne .+2
- 409 00ba 00C0 rjmp .L38
- 410 00bc 8830 cpi r24,8
- 411 00be 9105 cpc r25,__zero_reg__
- 412 00c0 01F0 breq .+2
- 413 00c2 00C0 rjmp .L39
- 414 00c4 ED81 ldd r30,Y+5
- 415 00c6 FE81 ldd r31,Y+6
- 416 00c8 3097 sbiw r30,0
- 417 00ca 01F4 brne .+2
- 418 00cc 00C0 rjmp .L40
- 419 00ce 5F01 movw r10,r30
- 420 00d0 F1E0 ldi r31,1
- 421 00d2 AF1A sub r10,r31
- 422 00d4 B108 sbc r11,__zero_reg__
- 423 00d6 AD81 ldd r26,Y+5
- 424 00d8 BE81 ldd r27,Y+6
- 425 00da AE0D add r26,r14
- 426 00dc BF1D adc r27,r15
- 427 00de C501 movw r24,r10
- 428 .L41:
- 429 00e0 8415 cp r24,r4
- 430 00e2 9505 cpc r25,r5
- 431 00e4 04F4 brge .L92
- 432 00e6 2D91 ld r18,X+
- 433 00e8 FD01 movw r30,r26
- 434 00ea 3297 sbiw r30,2
- 435 00ec 2083 st Z,r18
- 436 00ee 0196 adiw r24,1
- 437 00f0 00C0 rjmp .L41
- 438 .L92:
- 439 00f2 D801 movw r26,r16
- 440 00f4 1A96 adiw r26,10
- 441 00f6 8C91 ld r24,X
- 442 00f8 1A97 sbiw r26,10
- 443 00fa 80FF sbrs r24,0
- 444 00fc 00C0 rjmp .L43
- 445 00fe 1496 adiw r26,4
- 446 0100 ED91 ld r30,X+
- 447 0102 FC91 ld r31,X
- 448 0104 1597 sbiw r26,4+1
- 449 0106 68E0 ldi r22,lo8(8)
- 450 0108 70E0 ldi r23,0
- 451 010a 1696 adiw r26,6
- 452 010c 8D91 ld r24,X+
- 453 010e 9C91 ld r25,X
- 454 0110 1797 sbiw r26,6+1
- 455 0112 1995 eicall
- 456 .L43:
- GAS LISTING /tmp/ccdIDRX3.s page 9
- 457 0114 B701 movw r22,r14
- 458 0116 6A0D add r22,r10
- 459 0118 7B1D adc r23,r11
- 460 011a C801 movw r24,r16
- 461 011c 0E94 0000 call PrintString
- 462 0120 D801 movw r26,r16
- 463 0122 1496 adiw r26,4
- 464 0124 ED91 ld r30,X+
- 465 0126 FC91 ld r31,X
- 466 0128 1597 sbiw r26,4+1
- 467 012a 60E2 ldi r22,lo8(32)
- 468 012c 70E0 ldi r23,0
- 469 012e 1696 adiw r26,6
- 470 0130 8D91 ld r24,X+
- 471 0132 9C91 ld r25,X
- 472 0134 1797 sbiw r26,6+1
- 473 0136 1995 eicall
- 474 0138 F701 movw r30,r14
- 475 0:
- 476 013a 0190 ld __tmp_reg__,Z+
- 477 013c 0020 tst __tmp_reg__
- 478 013e 01F4 brne 0b
- 479 0140 3197 sbiw r30,1
- 480 0142 EE19 sub r30,r14
- 481 0144 FF09 sbc r31,r15
- 482 0146 41E0 ldi r20,lo8(1)
- 483 0148 50E0 ldi r21,0
- 484 014a 4A19 sub r20,r10
- 485 014c 5B09 sbc r21,r11
- 486 014e 4E0F add r20,r30
- 487 0150 5F1F adc r21,r31
- 488 0152 00C0 rjmp .L90
- 489 .L39:
- 490 0154 8B31 cpi r24,27
- 491 0156 9105 cpc r25,__zero_reg__
- 492 0158 01F4 brne .+2
- 493 015a 00C0 rjmp .L60
- 494 015c 8231 cpi r24,18
- 495 015e 9105 cpc r25,__zero_reg__
- 496 0160 01F4 brne .L45
- 497 0162 5601 movw r10,r12
- 498 0164 BFEF ldi r27,-1
- 499 0166 AB1A sub r10,r27
- 500 0168 BB0A sbc r11,r27
- 501 016a 20E0 ldi r18,0
- 502 016c 30E0 ldi r19,0
- 503 016e 40E0 ldi r20,0
- 504 0170 50E0 ldi r21,0
- 505 0172 B501 movw r22,r10
- 506 0174 F801 movw r30,r16
- 507 0176 8685 ldd r24,Z+14
- 508 0178 9785 ldd r25,Z+15
- 509 017a 0E94 0000 call EditHistoryGet
- 510 017e 97FF sbrs r25,7
- 511 0180 00C0 rjmp .L44
- 512 0182 00C0 rjmp .L40
- 513 .L45:
- GAS LISTING /tmp/ccdIDRX3.s page 10
- 514 0184 8631 cpi r24,22
- 515 0186 9105 cpc r25,__zero_reg__
- 516 0188 01F4 brne .L46
- 517 018a C114 cp r12,__zero_reg__
- 518 018c D104 cpc r13,__zero_reg__
- 519 018e 01F4 brne .+2
- 520 0190 00C0 rjmp .L40
- 521 0192 5601 movw r10,r12
- 522 0194 F1E0 ldi r31,1
- 523 0196 AF1A sub r10,r31
- 524 0198 B108 sbc r11,__zero_reg__
- 525 019a 00C0 rjmp .L44
- 526 .L46:
- 527 019c 8630 cpi r24,6
- 528 019e 9105 cpc r25,__zero_reg__
- 529 01a0 01F4 brne .L47
- 530 01a2 F701 movw r30,r14
- 531 0:
- 532 01a4 0190 ld __tmp_reg__,Z+
- 533 01a6 0020 tst __tmp_reg__
- 534 01a8 01F4 brne 0b
- 535 01aa 3197 sbiw r30,1
- 536 01ac EE19 sub r30,r14
- 537 01ae FF09 sbc r31,r15
- 538 01b0 2D81 ldd r18,Y+5
- 539 01b2 3E81 ldd r19,Y+6
- 540 01b4 2E17 cp r18,r30
- 541 01b6 3F07 cpc r19,r31
- 542 01b8 00F0 brlo .+2
- 543 01ba 00C0 rjmp .L40
- 544 01bc D801 movw r26,r16
- 545 01be 1A96 adiw r26,10
- 546 01c0 8C91 ld r24,X
- 547 01c2 1A97 sbiw r26,10
- 548 01c4 80FF sbrs r24,0
- 549 01c6 00C0 rjmp .L48
- 550 01c8 F901 movw r30,r18
- 551 01ca EE0D add r30,r14
- 552 01cc FF1D adc r31,r15
- 553 01ce 6081 ld r22,Z
- 554 01d0 062E mov __tmp_reg__,r22
- 555 01d2 000C lsl r0
- 556 01d4 770B sbc r23,r23
- 557 01d6 1496 adiw r26,4
- 558 01d8 ED91 ld r30,X+
- 559 01da FC91 ld r31,X
- 560 01dc 1597 sbiw r26,4+1
- 561 01de 1696 adiw r26,6
- 562 01e0 8D91 ld r24,X+
- 563 01e2 9C91 ld r25,X
- 564 01e4 1797 sbiw r26,6+1
- 565 01e6 1995 eicall
- 566 .L48:
- 567 01e8 ED81 ldd r30,Y+5
- 568 01ea FE81 ldd r31,Y+6
- 569 01ec 3196 adiw r30,1
- 570 01ee 00C0 rjmp .L91
- GAS LISTING /tmp/ccdIDRX3.s page 11
- 571 .L47:
- 572 01f0 8230 cpi r24,2
- 573 01f2 9105 cpc r25,__zero_reg__
- 574 01f4 01F4 brne .L49
- 575 01f6 2D81 ldd r18,Y+5
- 576 01f8 3E81 ldd r19,Y+6
- 577 01fa 232B or r18,r19
- 578 01fc 01F4 brne .+2
- 579 01fe 00C0 rjmp .L40
- 580 0200 D801 movw r26,r16
- 581 0202 1A96 adiw r26,10
- 582 0204 8C91 ld r24,X
- 583 0206 1A97 sbiw r26,10
- 584 0208 80FF sbrs r24,0
- 585 020a 00C0 rjmp .L50
- 586 020c 1496 adiw r26,4
- 587 020e ED91 ld r30,X+
- 588 0210 FC91 ld r31,X
- 589 0212 1597 sbiw r26,4+1
- 590 0214 68E0 ldi r22,lo8(8)
- 591 0216 70E0 ldi r23,0
- 592 0218 1696 adiw r26,6
- 593 021a 8D91 ld r24,X+
- 594 021c 9C91 ld r25,X
- 595 021e 1797 sbiw r26,6+1
- 596 0220 1995 eicall
- 597 .L50:
- 598 0222 ED81 ldd r30,Y+5
- 599 0224 FE81 ldd r31,Y+6
- 600 0226 3197 sbiw r30,1
- 601 .L91:
- 602 0228 FE83 std Y+6,r31
- 603 022a ED83 std Y+5,r30
- 604 022c 00C0 rjmp .L40
- 605 .L49:
- 606 022e 8130 cpi r24,1
- 607 0230 9105 cpc r25,__zero_reg__
- 608 0232 01F4 brne .L51
- 609 0234 4D81 ldd r20,Y+5
- 610 0236 5E81 ldd r21,Y+6
- 611 0238 68E0 ldi r22,lo8(8)
- 612 023a 70E0 ldi r23,0
- 613 023c C801 movw r24,r16
- 614 023e 0E94 0000 call PrintCharacter
- 615 0242 1E82 std Y+6,__zero_reg__
- 616 0244 1D82 std Y+5,__zero_reg__
- 617 0246 00C0 rjmp .L40
- 618 .L51:
- 619 0248 8530 cpi r24,5
- 620 024a 9105 cpc r25,__zero_reg__
- 621 024c 01F4 brne .L52
- 622 024e 6D81 ldd r22,Y+5
- 623 0250 7E81 ldd r23,Y+6
- 624 0252 6E0D add r22,r14
- 625 0254 7F1D adc r23,r15
- 626 0256 C801 movw r24,r16
- 627 0258 0E94 0000 call PrintString
- GAS LISTING /tmp/ccdIDRX3.s page 12
- 628 025c F701 movw r30,r14
- 629 0:
- 630 025e 0190 ld __tmp_reg__,Z+
- 631 0260 0020 tst __tmp_reg__
- 632 0262 01F4 brne 0b
- 633 0264 3197 sbiw r30,1
- 634 0266 9F01 movw r18,r30
- 635 0268 2E19 sub r18,r14
- 636 026a 3F09 sbc r19,r15
- 637 026c 3E83 std Y+6,r19
- 638 026e 2D83 std Y+5,r18
- 639 0270 00C0 rjmp .L40
- 640 .L52:
- 641 0272 8B83 std Y+3,r24
- 642 0274 7C83 std Y+4,r23
- 643 0276 0E94 0000 call isprint
- 644 027a 6B81 ldd r22,Y+3
- 645 027c 7C81 ldd r23,Y+4
- 646 027e 892B or r24,r25
- 647 0280 01F4 brne .+2
- 648 0282 00C0 rjmp .L53
- 649 0284 F701 movw r30,r14
- 650 0:
- 651 0286 0190 ld __tmp_reg__,Z+
- 652 0288 0020 tst __tmp_reg__
- 653 028a 01F4 brne 0b
- 654 028c 3197 sbiw r30,1
- 655 028e EE19 sub r30,r14
- 656 0290 FF09 sbc r31,r15
- 657 0292 E415 cp r30,r4
- 658 0294 F505 cpc r31,r5
- 659 0296 00F4 brsh .L53
- 660 0298 F101 movw r30,r2
- 661 029a C401 movw r24,r8
- 662 .L54:
- 663 029c 0197 sbiw r24,1
- 664 029e AD81 ldd r26,Y+5
- 665 02a0 BE81 ldd r27,Y+6
- 666 02a2 A817 cp r26,r24
- 667 02a4 B907 cpc r27,r25
- 668 02a6 04F4 brge .L93
- 669 02a8 DF01 movw r26,r30
- 670 02aa 1297 sbiw r26,2
- 671 02ac 2C91 ld r18,X
- 672 02ae 2293 st -Z,r18
- 673 02b0 00C0 rjmp .L54
- 674 .L93:
- 675 02b2 5D01 movw r10,r26
- 676 02b4 BFEF ldi r27,-1
- 677 02b6 AB1A sub r10,r27
- 678 02b8 BB0A sbc r11,r27
- 679 02ba ED81 ldd r30,Y+5
- 680 02bc FE81 ldd r31,Y+6
- 681 02be EE0D add r30,r14
- 682 02c0 FF1D adc r31,r15
- 683 02c2 6083 st Z,r22
- 684 02c4 F801 movw r30,r16
- GAS LISTING /tmp/ccdIDRX3.s page 13
- 685 02c6 8285 ldd r24,Z+10
- 686 02c8 80FF sbrs r24,0
- 687 02ca 00C0 rjmp .L56
- 688 02cc 0480 ldd __tmp_reg__,Z+4
- 689 02ce F581 ldd r31,Z+5
- 690 02d0 E02D mov r30,__tmp_reg__
- 691 02d2 D801 movw r26,r16
- 692 02d4 1696 adiw r26,6
- 693 02d6 8D91 ld r24,X+
- 694 02d8 9C91 ld r25,X
- 695 02da 1797 sbiw r26,6+1
- 696 02dc 1995 eicall
- 697 .L56:
- 698 02de B701 movw r22,r14
- 699 02e0 6A0D add r22,r10
- 700 02e2 7B1D adc r23,r11
- 701 02e4 C801 movw r24,r16
- 702 02e6 0E94 0000 call PrintString
- 703 02ea F701 movw r30,r14
- 704 0:
- 705 02ec 0190 ld __tmp_reg__,Z+
- 706 02ee 0020 tst __tmp_reg__
- 707 02f0 01F4 brne 0b
- 708 02f2 3197 sbiw r30,1
- 709 02f4 AF01 movw r20,r30
- 710 02f6 4E19 sub r20,r14
- 711 02f8 5F09 sbc r21,r15
- 712 02fa 4A19 sub r20,r10
- 713 02fc 5B09 sbc r21,r11
- 714 .L90:
- 715 02fe 68E0 ldi r22,lo8(8)
- 716 0300 70E0 ldi r23,0
- 717 0302 C801 movw r24,r16
- 718 0304 0E94 0000 call PrintCharacter
- 719 0308 BE82 std Y+6,r11
- 720 030a AD82 std Y+5,r10
- 721 030c 00C0 rjmp .L40
- 722 .L53:
- 723 030e D801 movw r26,r16
- 724 0310 1496 adiw r26,4
- 725 0312 ED91 ld r30,X+
- 726 0314 FC91 ld r31,X
- 727 0316 1597 sbiw r26,4+1
- 728 0318 67E0 ldi r22,lo8(7)
- 729 031a 70E0 ldi r23,0
- 730 031c 1696 adiw r26,6
- 731 031e 8D91 ld r24,X+
- 732 0320 9C91 ld r25,X
- 733 0322 1797 sbiw r26,6+1
- 734 0324 1995 eicall
- 735 .L40:
- 736 0326 6114 cp r6,__zero_reg__
- 737 0328 7104 cpc r7,__zero_reg__
- 738 032a 01F4 brne .+2
- 739 032c 00C0 rjmp .L36
- 740 .L58:
- 741 032e F801 movw r30,r16
- GAS LISTING /tmp/ccdIDRX3.s page 14
- 742 0330 8285 ldd r24,Z+10
- 743 0332 82FD sbrc r24,2
- 744 0334 00C0 rjmp .L94
- 745 0336 6624 clr r6
- 746 0338 6394 inc r6
- 747 033a 712C mov r7,__zero_reg__
- 748 033c 00C0 rjmp .L36
- 749 .L94:
- 750 033e 4D81 ldd r20,Y+5
- 751 0340 5E81 ldd r21,Y+6
- 752 0342 68E0 ldi r22,lo8(8)
- 753 0344 70E0 ldi r23,0
- 754 0346 C801 movw r24,r16
- 755 0348 0E94 0000 call PrintCharacter
- 756 034c F701 movw r30,r14
- 757 0:
- 758 034e 0190 ld __tmp_reg__,Z+
- 759 0350 0020 tst __tmp_reg__
- 760 0352 01F4 brne 0b
- 761 0354 3197 sbiw r30,1
- 762 0356 5F01 movw r10,r30
- 763 0358 AE18 sub r10,r14
- 764 035a BF08 sbc r11,r15
- 765 035c 9401 movw r18,r8
- 766 035e A701 movw r20,r14
- 767 0360 B601 movw r22,r12
- 768 0362 D801 movw r26,r16
- 769 0364 1E96 adiw r26,14
- 770 0366 8D91 ld r24,X+
- 771 0368 9C91 ld r25,X
- 772 036a 1F97 sbiw r26,14+1
- 773 036c 0E94 0000 call EditHistoryGet
- 774 0370 F701 movw r30,r14
- 775 0:
- 776 0372 0190 ld __tmp_reg__,Z+
- 777 0374 0020 tst __tmp_reg__
- 778 0376 01F4 brne 0b
- 779 0378 3197 sbiw r30,1
- 780 037a 9F01 movw r18,r30
- 781 037c 2E19 sub r18,r14
- 782 037e 3F09 sbc r19,r15
- 783 0380 3E83 std Y+6,r19
- 784 0382 2D83 std Y+5,r18
- 785 0384 B701 movw r22,r14
- 786 0386 C801 movw r24,r16
- 787 0388 0E94 0000 call PrintString
- 788 038c 8D81 ldd r24,Y+5
- 789 038e 9E81 ldd r25,Y+6
- 790 0390 A81A sub r10,r24
- 791 0392 B90A sbc r11,r25
- 792 0394 A501 movw r20,r10
- 793 0396 60E2 ldi r22,lo8(32)
- 794 0398 70E0 ldi r23,0
- 795 039a C801 movw r24,r16
- 796 039c 0E94 0000 call PrintCharacter
- 797 03a0 A501 movw r20,r10
- 798 03a2 68E0 ldi r22,lo8(8)
- GAS LISTING /tmp/ccdIDRX3.s page 15
- 799 03a4 70E0 ldi r23,0
- 800 03a6 C801 movw r24,r16
- 801 03a8 0E94 0000 call PrintCharacter
- 802 03ac 612C mov r6,__zero_reg__
- 803 03ae 712C mov r7,__zero_reg__
- 804 03b0 00C0 rjmp .L36
- 805 .L38:
- 806 03b2 60E0 ldi r22,lo8(.LC0)
- 807 03b4 70E0 ldi r23,hi8(.LC0)
- 808 03b6 C801 movw r24,r16
- 809 03b8 0E94 0000 call PrintString
- 810 03bc A701 movw r20,r14
- 811 03be 61E0 ldi r22,lo8(1)
- 812 03c0 70E0 ldi r23,0
- 813 03c2 D801 movw r26,r16
- 814 03c4 1E96 adiw r26,14
- 815 03c6 8D91 ld r24,X+
- 816 03c8 9C91 ld r25,X
- 817 03ca 1F97 sbiw r26,14+1
- 818 03cc 0E94 0000 call EditHistoryInsert
- 819 03d0 F701 movw r30,r14
- 820 0:
- 821 03d2 0190 ld __tmp_reg__,Z+
- 822 03d4 0020 tst __tmp_reg__
- 823 03d6 01F4 brne 0b
- 824 03d8 3197 sbiw r30,1
- 825 03da CF01 movw r24,r30
- 826 03dc 8E19 sub r24,r14
- 827 03de 9F09 sbc r25,r15
- 828 03e0 00C0 rjmp .L89
- 829 .L59:
- 830 03e2 8FEF ldi r24,lo8(-1)
- 831 03e4 9FEF ldi r25,lo8(-1)
- 832 03e6 00C0 rjmp .L89
- 833 .L60:
- 834 03e8 A12C mov r10,__zero_reg__
- 835 03ea B12C mov r11,__zero_reg__
- 836 .L44:
- 837 03ec 6501 movw r12,r10
- 838 03ee 00C0 rjmp .L58
- 839 .L89:
- 840 /* epilogue start */
- 841 03f0 2696 adiw r28,6
- 842 03f2 0FB6 in __tmp_reg__,__SREG__
- 843 03f4 F894 cli
- 844 03f6 DEBF out __SP_H__,r29
- 845 03f8 0FBE out __SREG__,__tmp_reg__
- 846 03fa CDBF out __SP_L__,r28
- 847 03fc DF91 pop r29
- 848 03fe CF91 pop r28
- 849 0400 1F91 pop r17
- 850 0402 0F91 pop r16
- 851 0404 FF90 pop r15
- 852 0406 EF90 pop r14
- 853 0408 DF90 pop r13
- 854 040a CF90 pop r12
- 855 040c BF90 pop r11
- GAS LISTING /tmp/ccdIDRX3.s page 16
- 856 040e AF90 pop r10
- 857 0410 9F90 pop r9
- 858 0412 8F90 pop r8
- 859 0414 7F90 pop r7
- 860 0416 6F90 pop r6
- 861 0418 5F90 pop r5
- 862 041a 4F90 pop r4
- 863 041c 3F90 pop r3
- 864 041e 2F90 pop r2
- 865 0420 0895 ret
- 866 .size EdLineRead, .-EdLineRead
- 867 .ident "GCC: (GNU) 5.3.0"
- 868 .global __do_copy_data
- GAS LISTING /tmp/ccdIDRX3.s page 17
- DEFINED SYMBOLS
- *ABS*:0000000000000000 edline.c
- /tmp/ccdIDRX3.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccdIDRX3.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccdIDRX3.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccdIDRX3.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccdIDRX3.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccdIDRX3.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccdIDRX3.s:10 .text.PrintString:0000000000000000 PrintString
- /tmp/ccdIDRX3.s:51 .text.PrintCharacter:0000000000000000 PrintCharacter
- /tmp/ccdIDRX3.s:94 .text.EdLineGetChar:0000000000000000 EdLineGetChar
- /tmp/ccdIDRX3.s:103 .text.EdLinePutChar:0000000000000000 EdLinePutChar
- /tmp/ccdIDRX3.s:114 .text.EdLineKeyMap:0000000000000000 EdLineKeyMap
- /tmp/ccdIDRX3.s:148 .text.EdLineRegisterInput:0000000000000000 EdLineRegisterInput
- /tmp/ccdIDRX3.s:173 .text.EdLineRegisterOutput:0000000000000000 EdLineRegisterOutput
- /tmp/ccdIDRX3.s:198 .text.EdLineRegisterKeymap:0000000000000000 EdLineRegisterKeymap
- /tmp/ccdIDRX3.s:221 .text.EdLineOpen:0000000000000000 EdLineOpen
- /tmp/ccdIDRX3.s:281 .text.EdLineClose:0000000000000000 EdLineClose
- /tmp/ccdIDRX3.s:311 .text.EdLineRead:0000000000000000 EdLineRead
- UNDEFINED SYMBOLS
- getchar
- putchar
- calloc
- __iob
- EditHistoryCreate
- EditHistoryDestroy
- free
- EditHistorySet
- EditHistoryGet
- isprint
- EditHistoryInsert
- __do_copy_data
|