| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480 |
- GAS LISTING /tmp/ccOYgVUX.s page 1
- 1 .file "spi_lcd_st7565r.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.St7565rIOCtl,"ax",@progbits
- 9 .type St7565rIOCtl, @function
- 10 St7565rIOCtl:
- 11 /* prologue: function */
- 12 /* frame size = 0 */
- 13 /* stack size = 0 */
- 14 .L__stack_usage = 0
- 15 0000 80E0 ldi r24,0
- 16 0002 90E0 ldi r25,0
- 17 0004 0895 ret
- 18 .size St7565rIOCtl, .-St7565rIOCtl
- 19 .section .text.St7565rRead,"ax",@progbits
- 20 .type St7565rRead, @function
- 21 St7565rRead:
- 22 0000 AF92 push r10
- 23 0002 BF92 push r11
- 24 0004 CF92 push r12
- 25 0006 DF92 push r13
- 26 0008 EF92 push r14
- 27 000a FF92 push r15
- 28 000c 0F93 push r16
- 29 000e 1F93 push r17
- 30 0010 CF93 push r28
- 31 0012 DF93 push r29
- 32 /* prologue: function */
- 33 /* frame size = 0 */
- 34 /* stack size = 10 */
- 35 .L__stack_usage = 10
- 36 0014 FB01 movw r30,r22
- 37 0016 EC01 movw r28,r24
- 38 0018 A881 ld r26,Y
- 39 001a B981 ldd r27,Y+1
- 40 001c 5196 adiw r26,17
- 41 001e 0D91 ld r16,X+
- 42 0020 1C91 ld r17,X
- 43 0022 5297 sbiw r26,17+1
- 44 0024 E801 movw r28,r16
- 45 0026 AE81 ldd r26,Y+6
- 46 0028 BF81 ldd r27,Y+7
- 47 002a 1097 sbiw r26,0
- 48 002c 01F4 brne .+2
- 49 002e 00C0 rjmp .L21
- 50 0030 3097 sbiw r30,0
- 51 0032 01F4 brne .+2
- 52 0034 00C0 rjmp .L21
- 53 0036 8A81 ldd r24,Y+2
- 54 0038 9B81 ldd r25,Y+3
- 55 003a 7C01 movw r14,r24
- 56 003c 97FF sbrs r25,7
- 57 003e 00C0 rjmp .L4
- GAS LISTING /tmp/ccOYgVUX.s page 2
- 58 0040 D7E0 ldi r29,7
- 59 0042 ED0E add r14,r29
- 60 0044 F11C adc r15,__zero_reg__
- 61 .L4:
- 62 0046 23E0 ldi r18,3
- 63 1:
- 64 0048 F594 asr r15
- 65 004a E794 ror r14
- 66 004c 2A95 dec r18
- 67 004e 01F4 brne 1b
- 68 0050 E801 movw r28,r16
- 69 0052 2C81 ldd r18,Y+4
- 70 0054 3D81 ldd r19,Y+5
- 71 0056 829F mul r24,r18
- 72 0058 E001 movw r28,r0
- 73 005a 839F mul r24,r19
- 74 005c D00D add r29,r0
- 75 005e 929F mul r25,r18
- 76 0060 D00D add r29,r0
- 77 0062 1124 clr r1
- 78 0064 D7FD sbrc r29,7
- 79 0066 2796 adiw r28,7
- 80 .L5:
- 81 0068 83E0 ldi r24,3
- 82 1:
- 83 006a D595 asr r29
- 84 006c C795 ror r28
- 85 006e 8A95 dec r24
- 86 0070 01F4 brne 1b
- 87 0072 4C17 cp r20,r28
- 88 0074 5D07 cpc r21,r29
- 89 0076 04F4 brge .L6
- 90 0078 EA01 movw r28,r20
- 91 .L6:
- 92 007a C701 movw r24,r14
- 93 007c C12C mov r12,__zero_reg__
- 94 007e D12C mov r13,__zero_reg__
- 95 0080 21E0 ldi r18,lo8(1)
- 96 0082 41E0 ldi r20,lo8(1)
- 97 .L7:
- 98 0084 CC16 cp r12,r28
- 99 0086 DD06 cpc r13,r29
- 100 0088 04F0 brlt .+2
- 101 008a 00C0 rjmp .L47
- 102 008c 0197 sbiw r24,1
- 103 008e 1082 st Z,__zero_reg__
- 104 0090 3FEF ldi r19,-1
- 105 0092 C31A sub r12,r19
- 106 0094 D30A sbc r13,r19
- 107 0096 3C91 ld r19,X
- 108 0098 3223 and r19,r18
- 109 009a 01F0 breq .L8
- 110 009c 4083 st Z,r20
- 111 .L8:
- 112 009e 1196 adiw r26,1
- 113 00a0 3C91 ld r19,X
- 114 00a2 1197 sbiw r26,1
- GAS LISTING /tmp/ccOYgVUX.s page 3
- 115 00a4 3223 and r19,r18
- 116 00a6 01F0 breq .L9
- 117 00a8 3081 ld r19,Z
- 118 00aa 3260 ori r19,lo8(2)
- 119 00ac 3083 st Z,r19
- 120 .L9:
- 121 00ae 1296 adiw r26,2
- 122 00b0 3C91 ld r19,X
- 123 00b2 1297 sbiw r26,2
- 124 00b4 3223 and r19,r18
- 125 00b6 01F0 breq .L10
- 126 00b8 3081 ld r19,Z
- 127 00ba 3460 ori r19,lo8(4)
- 128 00bc 3083 st Z,r19
- 129 .L10:
- 130 00be 1396 adiw r26,3
- 131 00c0 3C91 ld r19,X
- 132 00c2 1397 sbiw r26,3
- 133 00c4 3223 and r19,r18
- 134 00c6 01F0 breq .L11
- 135 00c8 3081 ld r19,Z
- 136 00ca 3860 ori r19,lo8(8)
- 137 00cc 3083 st Z,r19
- 138 .L11:
- 139 00ce 1496 adiw r26,4
- 140 00d0 3C91 ld r19,X
- 141 00d2 1497 sbiw r26,4
- 142 00d4 3223 and r19,r18
- 143 00d6 01F0 breq .L12
- 144 00d8 3081 ld r19,Z
- 145 00da 3061 ori r19,lo8(16)
- 146 00dc 3083 st Z,r19
- 147 .L12:
- 148 00de 1596 adiw r26,5
- 149 00e0 3C91 ld r19,X
- 150 00e2 1597 sbiw r26,5
- 151 00e4 3223 and r19,r18
- 152 00e6 01F0 breq .L13
- 153 00e8 3081 ld r19,Z
- 154 00ea 3062 ori r19,lo8(32)
- 155 00ec 3083 st Z,r19
- 156 .L13:
- 157 00ee 1696 adiw r26,6
- 158 00f0 3C91 ld r19,X
- 159 00f2 1697 sbiw r26,6
- 160 00f4 3223 and r19,r18
- 161 00f6 01F0 breq .L14
- 162 00f8 3081 ld r19,Z
- 163 00fa 3064 ori r19,lo8(64)
- 164 00fc 3083 st Z,r19
- 165 .L14:
- 166 00fe 1796 adiw r26,7
- 167 0100 3C91 ld r19,X
- 168 0102 1797 sbiw r26,7
- 169 0104 3223 and r19,r18
- 170 0106 01F0 breq .L15
- 171 0108 3081 ld r19,Z
- GAS LISTING /tmp/ccOYgVUX.s page 4
- 172 010a 3068 ori r19,lo8(-128)
- 173 010c 3083 st Z,r19
- 174 .L15:
- 175 010e 0097 sbiw r24,0
- 176 0110 01F0 breq .L16
- 177 0112 1896 adiw r26,8
- 178 0114 00C0 rjmp .L17
- 179 .L16:
- 180 0116 220F lsl r18
- 181 0118 01F4 brne .L18
- 182 011a 21E0 ldi r18,lo8(1)
- 183 .L18:
- 184 011c D801 movw r26,r16
- 185 011e 1296 adiw r26,2
- 186 0120 AD90 ld r10,X+
- 187 0122 BC90 ld r11,X
- 188 0124 1397 sbiw r26,2+1
- 189 0126 C601 movw r24,r12
- 190 0128 B501 movw r22,r10
- 191 012a 0E94 0000 call __divmodhi4
- 192 012e 6A9D mul r22,r10
- 193 0130 C001 movw r24,r0
- 194 0132 6B9D mul r22,r11
- 195 0134 900D add r25,r0
- 196 0136 7A9D mul r23,r10
- 197 0138 900D add r25,r0
- 198 013a 1124 clr r1
- 199 013c D801 movw r26,r16
- 200 013e 1696 adiw r26,6
- 201 0140 6D91 ld r22,X+
- 202 0142 7C91 ld r23,X
- 203 0144 1797 sbiw r26,6+1
- 204 0146 DB01 movw r26,r22
- 205 0148 A80F add r26,r24
- 206 014a B91F adc r27,r25
- 207 014c C701 movw r24,r14
- 208 .L17:
- 209 014e 3196 adiw r30,1
- 210 0150 00C0 rjmp .L7
- 211 .L47:
- 212 0152 CE01 movw r24,r28
- 213 0154 00C0 rjmp .L3
- 214 .L21:
- 215 0156 80E0 ldi r24,0
- 216 0158 90E0 ldi r25,0
- 217 .L3:
- 218 /* epilogue start */
- 219 015a DF91 pop r29
- 220 015c CF91 pop r28
- 221 015e 1F91 pop r17
- 222 0160 0F91 pop r16
- 223 0162 FF90 pop r15
- 224 0164 EF90 pop r14
- 225 0166 DF90 pop r13
- 226 0168 CF90 pop r12
- 227 016a BF90 pop r11
- 228 016c AF90 pop r10
- GAS LISTING /tmp/ccOYgVUX.s page 5
- 229 016e 0895 ret
- 230 .size St7565rRead, .-St7565rRead
- 231 .section .text.St7565rWriteCmd,"ax",@progbits
- 232 .type St7565rWriteCmd, @function
- 233 St7565rWriteCmd:
- 234 0000 CF92 push r12
- 235 0002 DF92 push r13
- 236 0004 EF92 push r14
- 237 0006 FF92 push r15
- 238 0008 0F93 push r16
- 239 000a 1F93 push r17
- 240 000c CF93 push r28
- 241 000e DF93 push r29
- 242 0010 1F92 push __zero_reg__
- 243 0012 CDB7 in r28,__SP_L__
- 244 0014 DEB7 in r29,__SP_H__
- 245 /* prologue: function */
- 246 /* frame size = 1 */
- 247 /* stack size = 9 */
- 248 .L__stack_usage = 9
- 249 0016 8C01 movw r16,r24
- 250 0018 6983 std Y+1,r22
- 251 001a DC01 movw r26,r24
- 252 001c 1C96 adiw r26,12
- 253 001e ED91 ld r30,X+
- 254 0020 FC91 ld r31,X
- 255 0022 1D97 sbiw r26,12+1
- 256 0024 CD90 ld r12,X+
- 257 0026 DC90 ld r13,X
- 258 0028 6481 ldd r22,Z+4
- 259 002a 7581 ldd r23,Z+5
- 260 002c 8281 ldd r24,Z+2
- 261 002e 9381 ldd r25,Z+3
- 262 0030 0E94 0000 call GpioPinSetLow
- 263 0034 D601 movw r26,r12
- 264 0036 1A96 adiw r26,10
- 265 0038 ED91 ld r30,X+
- 266 003a FC91 ld r31,X
- 267 003c 1B97 sbiw r26,10+1
- 268 003e 40E0 ldi r20,0
- 269 0040 50E0 ldi r21,0
- 270 0042 BA01 movw r22,r20
- 271 0044 C801 movw r24,r16
- 272 0046 1995 eicall
- 273 0048 7C01 movw r14,r24
- 274 004a 892B or r24,r25
- 275 004c 01F4 brne .L49
- 276 004e D601 movw r26,r12
- 277 0050 1E96 adiw r26,14
- 278 0052 ED91 ld r30,X+
- 279 0054 FC91 ld r31,X
- 280 0056 1F97 sbiw r26,14+1
- 281 0058 21E0 ldi r18,lo8(1)
- 282 005a 30E0 ldi r19,0
- 283 005c 40E0 ldi r20,0
- 284 005e 50E0 ldi r21,0
- 285 0060 BE01 movw r22,r28
- GAS LISTING /tmp/ccOYgVUX.s page 6
- 286 0062 6F5F subi r22,-1
- 287 0064 7F4F sbci r23,-1
- 288 0066 C801 movw r24,r16
- 289 0068 1995 eicall
- 290 006a 7C01 movw r14,r24
- 291 006c 892B or r24,r25
- 292 006e 01F4 brne .L50
- 293 0070 D601 movw r26,r12
- 294 0072 5096 adiw r26,16
- 295 0074 ED91 ld r30,X+
- 296 0076 FC91 ld r31,X
- 297 0078 5197 sbiw r26,16+1
- 298 007a 40E0 ldi r20,0
- 299 007c 50E0 ldi r21,0
- 300 007e BA01 movw r22,r20
- 301 0080 C801 movw r24,r16
- 302 0082 1995 eicall
- 303 .L50:
- 304 0084 D601 movw r26,r12
- 305 0086 1C96 adiw r26,12
- 306 0088 ED91 ld r30,X+
- 307 008a FC91 ld r31,X
- 308 008c 1D97 sbiw r26,12+1
- 309 008e C801 movw r24,r16
- 310 0090 1995 eicall
- 311 .L49:
- 312 0092 C701 movw r24,r14
- 313 /* epilogue start */
- 314 0094 0F90 pop __tmp_reg__
- 315 0096 DF91 pop r29
- 316 0098 CF91 pop r28
- 317 009a 1F91 pop r17
- 318 009c 0F91 pop r16
- 319 009e FF90 pop r15
- 320 00a0 EF90 pop r14
- 321 00a2 DF90 pop r13
- 322 00a4 CF90 pop r12
- 323 00a6 0895 ret
- 324 .size St7565rWriteCmd, .-St7565rWriteCmd
- 325 .section .text.St7565rClose,"ax",@progbits
- 326 .type St7565rClose, @function
- 327 St7565rClose:
- 328 /* prologue: function */
- 329 /* frame size = 0 */
- 330 /* stack size = 0 */
- 331 .L__stack_usage = 0
- 332 0000 0097 sbiw r24,0
- 333 0002 01F0 breq .L53
- 334 0004 0E94 0000 call free
- 335 0008 80E0 ldi r24,0
- 336 000a 90E0 ldi r25,0
- 337 000c 0895 ret
- 338 .L53:
- 339 000e 8FEF ldi r24,lo8(-1)
- 340 0010 9FEF ldi r25,lo8(-1)
- 341 0012 0895 ret
- 342 .size St7565rClose, .-St7565rClose
- GAS LISTING /tmp/ccOYgVUX.s page 7
- 343 .section .text.St7565rOpen,"ax",@progbits
- 344 .type St7565rOpen, @function
- 345 St7565rOpen:
- 346 0000 CF93 push r28
- 347 0002 DF93 push r29
- 348 /* prologue: function */
- 349 /* frame size = 0 */
- 350 /* stack size = 2 */
- 351 .L__stack_usage = 2
- 352 0004 EC01 movw r28,r24
- 353 0006 84E0 ldi r24,lo8(4)
- 354 0008 90E0 ldi r25,0
- 355 000a 0E94 0000 call malloc
- 356 000e FC01 movw r30,r24
- 357 0010 0097 sbiw r24,0
- 358 0012 01F0 breq .L56
- 359 0014 1382 std Z+3,__zero_reg__
- 360 0016 1282 std Z+2,__zero_reg__
- 361 0018 D183 std Z+1,r29
- 362 001a C083 st Z,r28
- 363 001c 00C0 rjmp .L55
- 364 .L56:
- 365 001e 8FEF ldi r24,lo8(-1)
- 366 0020 9FEF ldi r25,lo8(-1)
- 367 .L55:
- 368 /* epilogue start */
- 369 0022 DF91 pop r29
- 370 0024 CF91 pop r28
- 371 0026 0895 ret
- 372 .size St7565rOpen, .-St7565rOpen
- 373 .section .text.St7565rNodeLock,"ax",@progbits
- 374 .global St7565rNodeLock
- 375 .type St7565rNodeLock, @function
- 376 St7565rNodeLock:
- 377 /* prologue: function */
- 378 /* frame size = 0 */
- 379 /* stack size = 0 */
- 380 .L__stack_usage = 0
- 381 0000 DC01 movw r26,r24
- 382 0002 1F96 adiw r26,15
- 383 0004 ED91 ld r30,X+
- 384 0006 FC91 ld r31,X
- 385 0008 5097 sbiw r26,15+1
- 386 000a 40E0 ldi r20,0
- 387 000c 50E0 ldi r21,0
- 388 000e BA01 movw r22,r20
- 389 0010 8485 ldd r24,Z+12
- 390 0012 9585 ldd r25,Z+13
- 391 0014 0C94 0000 jmp NutEventWait
- 392 .size St7565rNodeLock, .-St7565rNodeLock
- 393 .section .text.St7565rNodeUnlock,"ax",@progbits
- 394 .global St7565rNodeUnlock
- 395 .type St7565rNodeUnlock, @function
- 396 St7565rNodeUnlock:
- 397 /* prologue: function */
- 398 /* frame size = 0 */
- 399 /* stack size = 0 */
- GAS LISTING /tmp/ccOYgVUX.s page 8
- 400 .L__stack_usage = 0
- 401 0000 DC01 movw r26,r24
- 402 0002 1F96 adiw r26,15
- 403 0004 ED91 ld r30,X+
- 404 0006 FC91 ld r31,X
- 405 0008 5097 sbiw r26,15+1
- 406 000a 8485 ldd r24,Z+12
- 407 000c 9585 ldd r25,Z+13
- 408 000e 0C94 0000 jmp NutEventPost
- 409 .size St7565rNodeUnlock, .-St7565rNodeUnlock
- 410 .section .text.St7565rSetMode,"ax",@progbits
- 411 .global St7565rSetMode
- 412 .type St7565rSetMode, @function
- 413 St7565rSetMode:
- 414 /* prologue: function */
- 415 /* frame size = 0 */
- 416 /* stack size = 0 */
- 417 .L__stack_usage = 0
- 418 0000 FC01 movw r30,r24
- 419 0002 8785 ldd r24,Z+15
- 420 0004 9089 ldd r25,Z+16
- 421 0006 672B or r22,r23
- 422 0008 01F4 brne .L61
- 423 000a 6DEA ldi r22,lo8(-83)
- 424 000c 00C0 rjmp .L60
- 425 .L61:
- 426 000e 6CEA ldi r22,lo8(-84)
- 427 .L60:
- 428 0010 0C94 0000 jmp St7565rWriteCmd
- 429 .size St7565rSetMode, .-St7565rSetMode
- 430 .section .text.St7565rSetPageAddress,"ax",@progbits
- 431 .global St7565rSetPageAddress
- 432 .type St7565rSetPageAddress, @function
- 433 St7565rSetPageAddress:
- 434 /* prologue: function */
- 435 /* frame size = 0 */
- 436 /* stack size = 0 */
- 437 .L__stack_usage = 0
- 438 0000 6F70 andi r22,lo8(15)
- 439 0002 606B ori r22,lo8(-80)
- 440 0004 FC01 movw r30,r24
- 441 0006 8785 ldd r24,Z+15
- 442 0008 9089 ldd r25,Z+16
- 443 000a 0C94 0000 jmp St7565rWriteCmd
- 444 .size St7565rSetPageAddress, .-St7565rSetPageAddress
- 445 .section .text.St7565rSetColAddress,"ax",@progbits
- 446 .global St7565rSetColAddress
- 447 .type St7565rSetColAddress, @function
- 448 St7565rSetColAddress:
- 449 0000 EF92 push r14
- 450 0002 FF92 push r15
- 451 0004 0F93 push r16
- 452 0006 1F93 push r17
- 453 0008 CF93 push r28
- 454 /* prologue: function */
- 455 /* frame size = 0 */
- 456 /* stack size = 5 */
- GAS LISTING /tmp/ccOYgVUX.s page 9
- 457 .L__stack_usage = 5
- 458 000a C62F mov r28,r22
- 459 000c FC01 movw r30,r24
- 460 000e 0785 ldd r16,Z+15
- 461 0010 1089 ldd r17,Z+16
- 462 0012 6295 swap r22
- 463 0014 6F70 andi r22,lo8(15)
- 464 0016 6061 ori r22,lo8(16)
- 465 0018 C801 movw r24,r16
- 466 001a 0E94 0000 call St7565rWriteCmd
- 467 001e 7C01 movw r14,r24
- 468 0020 6C2F mov r22,r28
- 469 0022 6F70 andi r22,lo8(15)
- 470 0024 C801 movw r24,r16
- 471 0026 0E94 0000 call St7565rWriteCmd
- 472 002a 8E29 or r24,r14
- 473 002c 9F29 or r25,r15
- 474 /* epilogue start */
- 475 002e CF91 pop r28
- 476 0030 1F91 pop r17
- 477 0032 0F91 pop r16
- 478 0034 FF90 pop r15
- 479 0036 EF90 pop r14
- 480 0038 0895 ret
- 481 .size St7565rSetColAddress, .-St7565rSetColAddress
- 482 .section .text.St7565rSetDisplayStartLineAddress,"ax",@progbits
- 483 .global St7565rSetDisplayStartLineAddress
- 484 .type St7565rSetDisplayStartLineAddress, @function
- 485 St7565rSetDisplayStartLineAddress:
- 486 /* prologue: function */
- 487 /* frame size = 0 */
- 488 /* stack size = 0 */
- 489 .L__stack_usage = 0
- 490 0000 6F73 andi r22,lo8(63)
- 491 0002 6064 ori r22,lo8(64)
- 492 0004 FC01 movw r30,r24
- 493 0006 8785 ldd r24,Z+15
- 494 0008 9089 ldd r25,Z+16
- 495 000a 0C94 0000 jmp St7565rWriteCmd
- 496 .size St7565rSetDisplayStartLineAddress, .-St7565rSetDisplayStartLineAddress
- 497 .section .text.St7565rDisplayEnable,"ax",@progbits
- 498 .global St7565rDisplayEnable
- 499 .type St7565rDisplayEnable, @function
- 500 St7565rDisplayEnable:
- 501 /* prologue: function */
- 502 /* frame size = 0 */
- 503 /* stack size = 0 */
- 504 .L__stack_usage = 0
- 505 0000 FC01 movw r30,r24
- 506 0002 8785 ldd r24,Z+15
- 507 0004 9089 ldd r25,Z+16
- 508 0006 672B or r22,r23
- 509 0008 01F4 brne .L67
- 510 000a 6EEA ldi r22,lo8(-82)
- 511 000c 00C0 rjmp .L66
- 512 .L67:
- 513 000e 6FEA ldi r22,lo8(-81)
- GAS LISTING /tmp/ccOYgVUX.s page 10
- 514 .L66:
- 515 0010 0C94 0000 jmp St7565rWriteCmd
- 516 .size St7565rDisplayEnable, .-St7565rDisplayEnable
- 517 .section .text.St7565rSetContrast,"ax",@progbits
- 518 .global St7565rSetContrast
- 519 .type St7565rSetContrast, @function
- 520 St7565rSetContrast:
- 521 0000 EF92 push r14
- 522 0002 FF92 push r15
- 523 0004 0F93 push r16
- 524 0006 1F93 push r17
- 525 0008 CF93 push r28
- 526 /* prologue: function */
- 527 /* frame size = 0 */
- 528 /* stack size = 5 */
- 529 .L__stack_usage = 5
- 530 000a C62F mov r28,r22
- 531 000c FC01 movw r30,r24
- 532 000e 0785 ldd r16,Z+15
- 533 0010 1089 ldd r17,Z+16
- 534 0012 6E31 cpi r22,lo8(30)
- 535 0014 00F0 brlo .L71
- 536 0016 6932 cpi r22,lo8(41)
- 537 0018 00F0 brlo .L70
- 538 001a C8E2 ldi r28,lo8(40)
- 539 001c 00C0 rjmp .L70
- 540 .L71:
- 541 001e CEE1 ldi r28,lo8(30)
- 542 .L70:
- 543 0020 61E8 ldi r22,lo8(-127)
- 544 0022 C801 movw r24,r16
- 545 0024 0E94 0000 call St7565rWriteCmd
- 546 0028 7C01 movw r14,r24
- 547 002a 6C2F mov r22,r28
- 548 002c 6095 com r22
- 549 002e 6F73 andi r22,lo8(63)
- 550 0030 C801 movw r24,r16
- 551 0032 0E94 0000 call St7565rWriteCmd
- 552 0036 8E29 or r24,r14
- 553 0038 9F29 or r25,r15
- 554 /* epilogue start */
- 555 003a CF91 pop r28
- 556 003c 1F91 pop r17
- 557 003e 0F91 pop r16
- 558 0040 FF90 pop r15
- 559 0042 EF90 pop r14
- 560 0044 0895 ret
- 561 .size St7565rSetContrast, .-St7565rSetContrast
- 562 .section .text.St7565rDisplayInvert,"ax",@progbits
- 563 .global St7565rDisplayInvert
- 564 .type St7565rDisplayInvert, @function
- 565 St7565rDisplayInvert:
- 566 /* prologue: function */
- 567 /* frame size = 0 */
- 568 /* stack size = 0 */
- 569 .L__stack_usage = 0
- 570 0000 FC01 movw r30,r24
- GAS LISTING /tmp/ccOYgVUX.s page 11
- 571 0002 8785 ldd r24,Z+15
- 572 0004 9089 ldd r25,Z+16
- 573 0006 672B or r22,r23
- 574 0008 01F4 brne .L75
- 575 000a 66EA ldi r22,lo8(-90)
- 576 000c 00C0 rjmp .L74
- 577 .L75:
- 578 000e 67EA ldi r22,lo8(-89)
- 579 .L74:
- 580 0010 0C94 0000 jmp St7565rWriteCmd
- 581 .size St7565rDisplayInvert, .-St7565rDisplayInvert
- 582 .section .text.St7565rInit,"ax",@progbits
- 583 .type St7565rInit, @function
- 584 St7565rInit:
- 585 0000 AF92 push r10
- 586 0002 BF92 push r11
- 587 0004 CF92 push r12
- 588 0006 DF92 push r13
- 589 0008 EF92 push r14
- 590 000a FF92 push r15
- 591 000c 0F93 push r16
- 592 000e 1F93 push r17
- 593 0010 CF93 push r28
- 594 0012 DF93 push r29
- 595 /* prologue: function */
- 596 /* frame size = 0 */
- 597 /* stack size = 10 */
- 598 .L__stack_usage = 10
- 599 0014 8C01 movw r16,r24
- 600 0016 FC01 movw r30,r24
- 601 0018 C784 ldd r12,Z+15
- 602 001a D088 ldd r13,Z+16
- 603 001c F601 movw r30,r12
- 604 001e C485 ldd r28,Z+12
- 605 0020 D585 ldd r29,Z+13
- 606 0022 8FEF ldi r24,lo8(-1)
- 607 0024 9FEF ldi r25,lo8(-1)
- 608 0026 9983 std Y+1,r25
- 609 0028 8883 st Y,r24
- 610 002a F801 movw r30,r16
- 611 002c E188 ldd r14,Z+17
- 612 002e F288 ldd r15,Z+18
- 613 0030 F701 movw r30,r14
- 614 0032 8681 ldd r24,Z+6
- 615 0034 9781 ldd r25,Z+7
- 616 0036 892B or r24,r25
- 617 0038 01F0 breq .L77
- 618 .L80:
- 619 003a 80E0 ldi r24,0
- 620 003c 90E0 ldi r25,0
- 621 003e 00C0 rjmp .L78
- 622 .L77:
- 623 0040 81E0 ldi r24,lo8(1)
- 624 0042 90E0 ldi r25,0
- 625 0044 F701 movw r30,r14
- 626 0046 9183 std Z+1,r25
- 627 0048 8083 st Z,r24
- GAS LISTING /tmp/ccOYgVUX.s page 12
- 628 004a 2281 ldd r18,Z+2
- 629 004c 3381 ldd r19,Z+3
- 630 004e 8481 ldd r24,Z+4
- 631 0050 9581 ldd r25,Z+5
- 632 0052 289F mul r18,r24
- 633 0054 A001 movw r20,r0
- 634 0056 299F mul r18,r25
- 635 0058 500D add r21,r0
- 636 005a 389F mul r19,r24
- 637 005c 500D add r21,r0
- 638 005e 1124 clr r1
- 639 0060 57FF sbrs r21,7
- 640 0062 00C0 rjmp .L79
- 641 0064 495F subi r20,-7
- 642 0066 5F4F sbci r21,-1
- 643 .L79:
- 644 0068 5A01 movw r10,r20
- 645 006a 83E0 ldi r24,3
- 646 1:
- 647 006c B594 asr r11
- 648 006e A794 ror r10
- 649 0070 8A95 dec r24
- 650 0072 01F4 brne 1b
- 651 0074 C501 movw r24,r10
- 652 0076 0E94 0000 call malloc
- 653 007a F701 movw r30,r14
- 654 007c 9783 std Z+7,r25
- 655 007e 8683 std Z+6,r24
- 656 0080 0097 sbiw r24,0
- 657 0082 01F4 brne .+2
- 658 0084 00C0 rjmp .L81
- 659 0086 A501 movw r20,r10
- 660 0088 60E0 ldi r22,0
- 661 008a 70E0 ldi r23,0
- 662 008c 0E94 0000 call memset
- 663 0090 6C81 ldd r22,Y+4
- 664 0092 7D81 ldd r23,Y+5
- 665 0094 22E0 ldi r18,lo8(2)
- 666 0096 30E0 ldi r19,0
- 667 0098 40E0 ldi r20,0
- 668 009a 50E0 ldi r21,0
- 669 009c 8A81 ldd r24,Y+2
- 670 009e 9B81 ldd r25,Y+3
- 671 00a0 0E94 0000 call GpioPinConfigSet
- 672 00a4 6C81 ldd r22,Y+4
- 673 00a6 7D81 ldd r23,Y+5
- 674 00a8 8A81 ldd r24,Y+2
- 675 00aa 9B81 ldd r25,Y+3
- 676 00ac 0E94 0000 call GpioPinSetLow
- 677 00b0 6885 ldd r22,Y+8
- 678 00b2 7985 ldd r23,Y+9
- 679 00b4 22E0 ldi r18,lo8(2)
- 680 00b6 30E0 ldi r19,0
- 681 00b8 40E0 ldi r20,0
- 682 00ba 50E0 ldi r21,0
- 683 00bc 8E81 ldd r24,Y+6
- 684 00be 9F81 ldd r25,Y+7
- GAS LISTING /tmp/ccOYgVUX.s page 13
- 685 00c0 0E94 0000 call GpioPinConfigSet
- 686 00c4 6885 ldd r22,Y+8
- 687 00c6 7985 ldd r23,Y+9
- 688 00c8 8E81 ldd r24,Y+6
- 689 00ca 9F81 ldd r25,Y+7
- 690 00cc 0E94 0000 call GpioPinSetHigh
- 691 00d0 F601 movw r30,r12
- 692 00d2 C485 ldd r28,Z+12
- 693 00d4 D585 ldd r29,Z+13
- 694 00d6 6885 ldd r22,Y+8
- 695 00d8 7985 ldd r23,Y+9
- 696 00da 8E81 ldd r24,Y+6
- 697 00dc 9F81 ldd r25,Y+7
- 698 00de 0E94 0000 call GpioPinSetHigh
- 699 00e2 6AE0 ldi r22,lo8(10)
- 700 00e4 70E0 ldi r23,0
- 701 00e6 80E0 ldi r24,0
- 702 00e8 90E0 ldi r25,0
- 703 00ea 0E94 0000 call NutMicroDelay
- 704 00ee 6885 ldd r22,Y+8
- 705 00f0 7985 ldd r23,Y+9
- 706 00f2 8E81 ldd r24,Y+6
- 707 00f4 9F81 ldd r25,Y+7
- 708 00f6 0E94 0000 call GpioPinSetLow
- 709 00fa 6AE0 ldi r22,lo8(10)
- 710 00fc 70E0 ldi r23,0
- 711 00fe 80E0 ldi r24,0
- 712 0100 90E0 ldi r25,0
- 713 0102 0E94 0000 call NutMicroDelay
- 714 0106 6885 ldd r22,Y+8
- 715 0108 7985 ldd r23,Y+9
- 716 010a 8E81 ldd r24,Y+6
- 717 010c 9F81 ldd r25,Y+7
- 718 010e 0E94 0000 call GpioPinSetHigh
- 719 0112 6AE0 ldi r22,lo8(10)
- 720 0114 70E0 ldi r23,0
- 721 0116 80E0 ldi r24,0
- 722 0118 90E0 ldi r25,0
- 723 011a 0E94 0000 call NutMicroDelay
- 724 011e 60E0 ldi r22,0
- 725 0120 70E0 ldi r23,0
- 726 0122 C801 movw r24,r16
- 727 0124 0E94 0000 call St7565rDisplayEnable
- 728 0128 EC01 movw r28,r24
- 729 012a 62EA ldi r22,lo8(-94)
- 730 012c C601 movw r24,r12
- 731 012e 0E94 0000 call St7565rWriteCmd
- 732 0132 C82B or r28,r24
- 733 0134 D92B or r29,r25
- 734 0136 60EA ldi r22,lo8(-96)
- 735 0138 C601 movw r24,r12
- 736 013a 0E94 0000 call St7565rWriteCmd
- 737 013e C82B or r28,r24
- 738 0140 D92B or r29,r25
- 739 0142 68EC ldi r22,lo8(-56)
- 740 0144 C601 movw r24,r12
- 741 0146 0E94 0000 call St7565rWriteCmd
- GAS LISTING /tmp/ccOYgVUX.s page 14
- 742 014a C82B or r28,r24
- 743 014c D92B or r29,r25
- 744 014e 62E2 ldi r22,lo8(34)
- 745 0150 C601 movw r24,r12
- 746 0152 0E94 0000 call St7565rWriteCmd
- 747 0156 C82B or r28,r24
- 748 0158 D92B or r29,r25
- 749 015a 6FE2 ldi r22,lo8(47)
- 750 015c C601 movw r24,r12
- 751 015e 0E94 0000 call St7565rWriteCmd
- 752 0162 C82B or r28,r24
- 753 0164 D92B or r29,r25
- 754 0166 68EF ldi r22,lo8(-8)
- 755 0168 C601 movw r24,r12
- 756 016a 0E94 0000 call St7565rWriteCmd
- 757 016e C82B or r28,r24
- 758 0170 D92B or r29,r25
- 759 0172 60E0 ldi r22,0
- 760 0174 C601 movw r24,r12
- 761 0176 0E94 0000 call St7565rWriteCmd
- 762 017a C82B or r28,r24
- 763 017c D92B or r29,r25
- 764 017e 68E2 ldi r22,lo8(40)
- 765 0180 C801 movw r24,r16
- 766 0182 0E94 0000 call St7565rSetContrast
- 767 0186 C82B or r28,r24
- 768 0188 D92B or r29,r25
- 769 018a 60E0 ldi r22,0
- 770 018c C801 movw r24,r16
- 771 018e 0E94 0000 call St7565rSetDisplayStartLineAddress
- 772 0192 C82B or r28,r24
- 773 0194 D92B or r29,r25
- 774 0196 60E0 ldi r22,0
- 775 0198 70E0 ldi r23,0
- 776 019a C801 movw r24,r16
- 777 019c 0E94 0000 call St7565rDisplayInvert
- 778 01a0 C82B or r28,r24
- 779 01a2 D92B or r29,r25
- 780 01a4 61E0 ldi r22,lo8(1)
- 781 01a6 70E0 ldi r23,0
- 782 01a8 C801 movw r24,r16
- 783 01aa 0E94 0000 call St7565rDisplayEnable
- 784 01ae 8C2B or r24,r28
- 785 01b0 9D2B or r25,r29
- 786 01b2 892B or r24,r25
- 787 01b4 01F4 brne .+2
- 788 01b6 00C0 rjmp .L80
- 789 01b8 F701 movw r30,r14
- 790 01ba 8681 ldd r24,Z+6
- 791 01bc 9781 ldd r25,Z+7
- 792 01be 0E94 0000 call free
- 793 .L81:
- 794 01c2 8FEF ldi r24,lo8(-1)
- 795 01c4 9FEF ldi r25,lo8(-1)
- 796 .L78:
- 797 /* epilogue start */
- 798 01c6 DF91 pop r29
- GAS LISTING /tmp/ccOYgVUX.s page 15
- 799 01c8 CF91 pop r28
- 800 01ca 1F91 pop r17
- 801 01cc 0F91 pop r16
- 802 01ce FF90 pop r15
- 803 01d0 EF90 pop r14
- 804 01d2 DF90 pop r13
- 805 01d4 CF90 pop r12
- 806 01d6 BF90 pop r11
- 807 01d8 AF90 pop r10
- 808 01da 0895 ret
- 809 .size St7565rInit, .-St7565rInit
- 810 .section .text.St7565rDebugPixelsAllOn,"ax",@progbits
- 811 .global St7565rDebugPixelsAllOn
- 812 .type St7565rDebugPixelsAllOn, @function
- 813 St7565rDebugPixelsAllOn:
- 814 /* prologue: function */
- 815 /* frame size = 0 */
- 816 /* stack size = 0 */
- 817 .L__stack_usage = 0
- 818 0000 FC01 movw r30,r24
- 819 0002 8785 ldd r24,Z+15
- 820 0004 9089 ldd r25,Z+16
- 821 0006 672B or r22,r23
- 822 0008 01F4 brne .L87
- 823 000a 64EA ldi r22,lo8(-92)
- 824 000c 00C0 rjmp .L86
- 825 .L87:
- 826 000e 65EA ldi r22,lo8(-91)
- 827 .L86:
- 828 0010 0C94 0000 jmp St7565rWriteCmd
- 829 .size St7565rDebugPixelsAllOn, .-St7565rDebugPixelsAllOn
- 830 .section .text.St7565rUpdateFb,"ax",@progbits
- 831 .global St7565rUpdateFb
- 832 .type St7565rUpdateFb, @function
- 833 St7565rUpdateFb:
- 834 0000 2F92 push r2
- 835 0002 3F92 push r3
- 836 0004 4F92 push r4
- 837 0006 5F92 push r5
- 838 0008 6F92 push r6
- 839 000a 7F92 push r7
- 840 000c 8F92 push r8
- 841 000e 9F92 push r9
- 842 0010 AF92 push r10
- 843 0012 BF92 push r11
- 844 0014 CF92 push r12
- 845 0016 DF92 push r13
- 846 0018 EF92 push r14
- 847 001a FF92 push r15
- 848 001c 0F93 push r16
- 849 001e 1F93 push r17
- 850 0020 CF93 push r28
- 851 0022 DF93 push r29
- 852 0024 00D0 rcall .
- 853 0026 CDB7 in r28,__SP_L__
- 854 0028 DEB7 in r29,__SP_H__
- 855 /* prologue: function */
- GAS LISTING /tmp/ccOYgVUX.s page 16
- 856 /* frame size = 3 */
- 857 /* stack size = 21 */
- 858 .L__stack_usage = 21
- 859 002a DC01 movw r26,r24
- 860 002c 1F96 adiw r26,15
- 861 002e 0D90 ld __tmp_reg__,X+
- 862 0030 BC91 ld r27,X
- 863 0032 A02D mov r26,__tmp_reg__
- 864 0034 BB83 std Y+3,r27
- 865 0036 AA83 std Y+2,r26
- 866 0038 FC01 movw r30,r24
- 867 003a 8188 ldd r8,Z+17
- 868 003c 9288 ldd r9,Z+18
- 869 003e D401 movw r26,r8
- 870 0040 1296 adiw r26,2
- 871 0042 2D91 ld r18,X+
- 872 0044 3C91 ld r19,X
- 873 0046 1397 sbiw r26,2+1
- 874 0048 1496 adiw r26,4
- 875 004a 8D91 ld r24,X+
- 876 004c 9C91 ld r25,X
- 877 004e 1597 sbiw r26,4+1
- 878 0050 289F mul r18,r24
- 879 0052 3001 movw r6,r0
- 880 0054 299F mul r18,r25
- 881 0056 700C add r7,r0
- 882 0058 389F mul r19,r24
- 883 005a 700C add r7,r0
- 884 005c 1124 clr r1
- 885 005e 77FE sbrs r7,7
- 886 0060 00C0 rjmp .L89
- 887 0062 B7E0 ldi r27,7
- 888 0064 6B0E add r6,r27
- 889 0066 711C adc r7,__zero_reg__
- 890 .L89:
- 891 0068 83E0 ldi r24,3
- 892 1:
- 893 006a 7594 asr r7
- 894 006c 6794 ror r6
- 895 006e 8A95 dec r24
- 896 0070 01F4 brne 1b
- 897 0072 1982 std Y+1,__zero_reg__
- 898 0074 412C mov r4,__zero_reg__
- 899 0076 512C mov r5,__zero_reg__
- 900 0078 E12C mov r14,__zero_reg__
- 901 007a F12C mov r15,__zero_reg__
- 902 .L90:
- 903 007c E614 cp r14,r6
- 904 007e F704 cpc r15,r7
- 905 0080 00F0 brlo .+2
- 906 0082 00C0 rjmp .L95
- 907 0084 6981 ldd r22,Y+1
- 908 0086 606B ori r22,lo8(-80)
- 909 0088 8A81 ldd r24,Y+2
- 910 008a 9B81 ldd r25,Y+3
- 911 008c 0E94 0000 call St7565rWriteCmd
- 912 0090 6C01 movw r12,r24
- GAS LISTING /tmp/ccOYgVUX.s page 17
- 913 0092 60E1 ldi r22,lo8(16)
- 914 0094 8A81 ldd r24,Y+2
- 915 0096 9B81 ldd r25,Y+3
- 916 0098 0E94 0000 call St7565rWriteCmd
- 917 009c 8C29 or r24,r12
- 918 009e 9D29 or r25,r13
- 919 00a0 482A or r4,r24
- 920 00a2 592A or r5,r25
- 921 00a4 60E0 ldi r22,0
- 922 00a6 8A81 ldd r24,Y+2
- 923 00a8 9B81 ldd r25,Y+3
- 924 00aa 0E94 0000 call St7565rWriteCmd
- 925 00ae 482A or r4,r24
- 926 00b0 592A or r5,r25
- 927 00b2 F401 movw r30,r8
- 928 00b4 2680 ldd r2,Z+6
- 929 00b6 3780 ldd r3,Z+7
- 930 00b8 AA81 ldd r26,Y+2
- 931 00ba BB81 ldd r27,Y+3
- 932 00bc 1C96 adiw r26,12
- 933 00be CD90 ld r12,X+
- 934 00c0 DC90 ld r13,X
- 935 00c2 1D97 sbiw r26,12+1
- 936 00c4 AD90 ld r10,X+
- 937 00c6 BC90 ld r11,X
- 938 00c8 F601 movw r30,r12
- 939 00ca 6481 ldd r22,Z+4
- 940 00cc 7581 ldd r23,Z+5
- 941 00ce 8281 ldd r24,Z+2
- 942 00d0 9381 ldd r25,Z+3
- 943 00d2 0E94 0000 call GpioPinSetHigh
- 944 00d6 D501 movw r26,r10
- 945 00d8 1A96 adiw r26,10
- 946 00da ED91 ld r30,X+
- 947 00dc FC91 ld r31,X
- 948 00de 1B97 sbiw r26,10+1
- 949 00e0 40E0 ldi r20,0
- 950 00e2 50E0 ldi r21,0
- 951 00e4 BA01 movw r22,r20
- 952 00e6 8A81 ldd r24,Y+2
- 953 00e8 9B81 ldd r25,Y+3
- 954 00ea 1995 eicall
- 955 00ec 8C01 movw r16,r24
- 956 00ee 892B or r24,r25
- 957 00f0 01F4 brne .L91
- 958 00f2 9301 movw r18,r6
- 959 00f4 2E19 sub r18,r14
- 960 00f6 3F09 sbc r19,r15
- 961 00f8 2138 cpi r18,-127
- 962 00fa 3105 cpc r19,__zero_reg__
- 963 00fc 00F0 brlo .L92
- 964 00fe 20E8 ldi r18,lo8(-128)
- 965 0100 30E0 ldi r19,0
- 966 .L92:
- 967 0102 B101 movw r22,r2
- 968 0104 6E0D add r22,r14
- 969 0106 7F1D adc r23,r15
- GAS LISTING /tmp/ccOYgVUX.s page 18
- 970 0108 D501 movw r26,r10
- 971 010a 1E96 adiw r26,14
- 972 010c ED91 ld r30,X+
- 973 010e FC91 ld r31,X
- 974 0110 1F97 sbiw r26,14+1
- 975 0112 40E0 ldi r20,0
- 976 0114 50E0 ldi r21,0
- 977 0116 8A81 ldd r24,Y+2
- 978 0118 9B81 ldd r25,Y+3
- 979 011a 1995 eicall
- 980 011c 8C01 movw r16,r24
- 981 011e 892B or r24,r25
- 982 0120 01F4 brne .L93
- 983 0122 D501 movw r26,r10
- 984 0124 5096 adiw r26,16
- 985 0126 ED91 ld r30,X+
- 986 0128 FC91 ld r31,X
- 987 012a 5197 sbiw r26,16+1
- 988 012c 40E0 ldi r20,0
- 989 012e 50E0 ldi r21,0
- 990 0130 BA01 movw r22,r20
- 991 0132 8A81 ldd r24,Y+2
- 992 0134 9B81 ldd r25,Y+3
- 993 0136 1995 eicall
- 994 .L93:
- 995 0138 D501 movw r26,r10
- 996 013a 1C96 adiw r26,12
- 997 013c ED91 ld r30,X+
- 998 013e FC91 ld r31,X
- 999 0140 1D97 sbiw r26,12+1
- 1000 0142 8A81 ldd r24,Y+2
- 1001 0144 9B81 ldd r25,Y+3
- 1002 0146 1995 eicall
- 1003 .L91:
- 1004 0148 F601 movw r30,r12
- 1005 014a 6481 ldd r22,Z+4
- 1006 014c 7581 ldd r23,Z+5
- 1007 014e 8281 ldd r24,Z+2
- 1008 0150 9381 ldd r25,Z+3
- 1009 0152 0E94 0000 call GpioPinSetLow
- 1010 0156 402A or r4,r16
- 1011 0158 512A or r5,r17
- 1012 015a F0E8 ldi r31,-128
- 1013 015c EF0E add r14,r31
- 1014 015e F11C adc r15,__zero_reg__
- 1015 0160 2981 ldd r18,Y+1
- 1016 0162 2F5F subi r18,lo8(-(1))
- 1017 0164 2983 std Y+1,r18
- 1018 0166 00C0 rjmp .L90
- 1019 .L95:
- 1020 0168 C201 movw r24,r4
- 1021 /* epilogue start */
- 1022 016a 0F90 pop __tmp_reg__
- 1023 016c 0F90 pop __tmp_reg__
- 1024 016e 0F90 pop __tmp_reg__
- 1025 0170 DF91 pop r29
- 1026 0172 CF91 pop r28
- GAS LISTING /tmp/ccOYgVUX.s page 19
- 1027 0174 1F91 pop r17
- 1028 0176 0F91 pop r16
- 1029 0178 FF90 pop r15
- 1030 017a EF90 pop r14
- 1031 017c DF90 pop r13
- 1032 017e CF90 pop r12
- 1033 0180 BF90 pop r11
- 1034 0182 AF90 pop r10
- 1035 0184 9F90 pop r9
- 1036 0186 8F90 pop r8
- 1037 0188 7F90 pop r7
- 1038 018a 6F90 pop r6
- 1039 018c 5F90 pop r5
- 1040 018e 4F90 pop r4
- 1041 0190 3F90 pop r3
- 1042 0192 2F90 pop r2
- 1043 0194 0895 ret
- 1044 .size St7565rUpdateFb, .-St7565rUpdateFb
- 1045 .section .text.St7565rWrite,"ax",@progbits
- 1046 .type St7565rWrite, @function
- 1047 St7565rWrite:
- 1048 0000 4F92 push r4
- 1049 0002 5F92 push r5
- 1050 0004 6F92 push r6
- 1051 0006 7F92 push r7
- 1052 0008 8F92 push r8
- 1053 000a 9F92 push r9
- 1054 000c AF92 push r10
- 1055 000e BF92 push r11
- 1056 0010 CF92 push r12
- 1057 0012 DF92 push r13
- 1058 0014 EF92 push r14
- 1059 0016 FF92 push r15
- 1060 0018 0F93 push r16
- 1061 001a 1F93 push r17
- 1062 001c CF93 push r28
- 1063 001e DF93 push r29
- 1064 /* prologue: function */
- 1065 /* frame size = 0 */
- 1066 /* stack size = 16 */
- 1067 .L__stack_usage = 16
- 1068 0020 3C01 movw r6,r24
- 1069 0022 DC01 movw r26,r24
- 1070 0024 8D91 ld r24,X+
- 1071 0026 9C91 ld r25,X
- 1072 0028 EC01 movw r28,r24
- 1073 002a E988 ldd r14,Y+17
- 1074 002c FA88 ldd r15,Y+18
- 1075 002e 6115 cp r22,__zero_reg__
- 1076 0030 7105 cpc r23,__zero_reg__
- 1077 0032 01F4 brne .L97
- 1078 0034 0E94 0000 call St7565rUpdateFb
- 1079 0038 00C0 rjmp .L122
- 1080 .L97:
- 1081 003a F701 movw r30,r14
- 1082 003c 0281 ldd r16,Z+2
- 1083 003e 1381 ldd r17,Z+3
- GAS LISTING /tmp/ccOYgVUX.s page 20
- 1084 0040 8481 ldd r24,Z+4
- 1085 0042 9581 ldd r25,Z+5
- 1086 0044 089F mul r16,r24
- 1087 0046 E001 movw r28,r0
- 1088 0048 099F mul r16,r25
- 1089 004a D00D add r29,r0
- 1090 004c 189F mul r17,r24
- 1091 004e D00D add r29,r0
- 1092 0050 1124 clr r1
- 1093 0052 D7FD sbrc r29,7
- 1094 0054 2796 adiw r28,7
- 1095 .L99:
- 1096 0056 2E01 movw r4,r28
- 1097 0058 93E0 ldi r25,3
- 1098 1:
- 1099 005a 5594 asr r5
- 1100 005c 4794 ror r4
- 1101 005e 9A95 dec r25
- 1102 0060 01F4 brne 1b
- 1103 0062 4415 cp r20,r4
- 1104 0064 5505 cpc r21,r5
- 1105 0066 04F4 brge .L100
- 1106 0068 2A01 movw r4,r20
- 1107 .L100:
- 1108 006a D701 movw r26,r14
- 1109 006c 1696 adiw r26,6
- 1110 006e AD90 ld r10,X+
- 1111 0070 BC90 ld r11,X
- 1112 0072 1797 sbiw r26,6+1
- 1113 0074 A114 cp r10,__zero_reg__
- 1114 0076 B104 cpc r11,__zero_reg__
- 1115 0078 01F4 brne .+2
- 1116 007a 00C0 rjmp .L122
- 1117 007c 17FF sbrs r17,7
- 1118 007e 00C0 rjmp .L101
- 1119 0080 095F subi r16,-7
- 1120 0082 1F4F sbci r17,-1
- 1121 .L101:
- 1122 0084 83E0 ldi r24,3
- 1123 1:
- 1124 0086 1595 asr r17
- 1125 0088 0795 ror r16
- 1126 008a 8A95 dec r24
- 1127 008c 01F4 brne 1b
- 1128 008e FB01 movw r30,r22
- 1129 0090 C801 movw r24,r16
- 1130 0092 C12C mov r12,__zero_reg__
- 1131 0094 D12C mov r13,__zero_reg__
- 1132 0096 21E0 ldi r18,lo8(1)
- 1133 0098 3EEF ldi r19,lo8(-2)
- 1134 .L102:
- 1135 009a C414 cp r12,r4
- 1136 009c D504 cpc r13,r5
- 1137 009e 04F0 brlt .+2
- 1138 00a0 00C0 rjmp .L130
- 1139 00a2 0197 sbiw r24,1
- 1140 00a4 4F01 movw r8,r30
- GAS LISTING /tmp/ccOYgVUX.s page 21
- 1141 00a6 5081 ld r21,Z
- 1142 00a8 D501 movw r26,r10
- 1143 00aa 1196 adiw r26,1
- 1144 00ac E501 movw r28,r10
- 1145 00ae 4881 ld r20,Y
- 1146 00b0 50FF sbrs r21,0
- 1147 00b2 00C0 rjmp .L103
- 1148 00b4 422B or r20,r18
- 1149 00b6 00C0 rjmp .L123
- 1150 .L103:
- 1151 00b8 4323 and r20,r19
- 1152 00ba E501 movw r28,r10
- 1153 .L123:
- 1154 00bc 4883 st Y,r20
- 1155 00be 5081 ld r21,Z
- 1156 00c0 BD01 movw r22,r26
- 1157 00c2 6F5F subi r22,-1
- 1158 00c4 7F4F sbci r23,-1
- 1159 00c6 4C91 ld r20,X
- 1160 00c8 51FF sbrs r21,1
- 1161 00ca 00C0 rjmp .L105
- 1162 00cc 422B or r20,r18
- 1163 00ce 00C0 rjmp .L124
- 1164 .L105:
- 1165 00d0 4323 and r20,r19
- 1166 .L124:
- 1167 00d2 4C93 st X,r20
- 1168 00d4 A080 ld r10,Z
- 1169 00d6 AB01 movw r20,r22
- 1170 00d8 4F5F subi r20,-1
- 1171 00da 5F4F sbci r21,-1
- 1172 00dc 1196 adiw r26,1
- 1173 00de BC90 ld r11,X
- 1174 00e0 1197 sbiw r26,1
- 1175 00e2 A2FE sbrs r10,2
- 1176 00e4 00C0 rjmp .L107
- 1177 00e6 B22A or r11,r18
- 1178 00e8 00C0 rjmp .L125
- 1179 .L107:
- 1180 00ea B322 and r11,r19
- 1181 .L125:
- 1182 00ec 1196 adiw r26,1
- 1183 00ee BC92 st X,r11
- 1184 00f0 A080 ld r10,Z
- 1185 00f2 DA01 movw r26,r20
- 1186 00f4 1196 adiw r26,1
- 1187 00f6 EB01 movw r28,r22
- 1188 00f8 B980 ldd r11,Y+1
- 1189 00fa A3FE sbrs r10,3
- 1190 00fc 00C0 rjmp .L109
- 1191 00fe B22A or r11,r18
- 1192 0100 00C0 rjmp .L126
- 1193 .L109:
- 1194 0102 B322 and r11,r19
- 1195 0104 EB01 movw r28,r22
- 1196 .L126:
- 1197 0106 B982 std Y+1,r11
- GAS LISTING /tmp/ccOYgVUX.s page 22
- 1198 0108 A080 ld r10,Z
- 1199 010a BD01 movw r22,r26
- 1200 010c 6F5F subi r22,-1
- 1201 010e 7F4F sbci r23,-1
- 1202 0110 EA01 movw r28,r20
- 1203 0112 B980 ldd r11,Y+1
- 1204 0114 A4FE sbrs r10,4
- 1205 0116 00C0 rjmp .L111
- 1206 0118 B22A or r11,r18
- 1207 011a 00C0 rjmp .L127
- 1208 .L111:
- 1209 011c B322 and r11,r19
- 1210 011e EA01 movw r28,r20
- 1211 .L127:
- 1212 0120 B982 std Y+1,r11
- 1213 0122 A080 ld r10,Z
- 1214 0124 AB01 movw r20,r22
- 1215 0126 4F5F subi r20,-1
- 1216 0128 5F4F sbci r21,-1
- 1217 012a 1196 adiw r26,1
- 1218 012c BC90 ld r11,X
- 1219 012e 1197 sbiw r26,1
- 1220 0130 A5FE sbrs r10,5
- 1221 0132 00C0 rjmp .L113
- 1222 0134 B22A or r11,r18
- 1223 0136 00C0 rjmp .L128
- 1224 .L113:
- 1225 0138 B322 and r11,r19
- 1226 .L128:
- 1227 013a 1196 adiw r26,1
- 1228 013c BC92 st X,r11
- 1229 013e A080 ld r10,Z
- 1230 0140 DA01 movw r26,r20
- 1231 0142 1196 adiw r26,1
- 1232 0144 EB01 movw r28,r22
- 1233 0146 B980 ldd r11,Y+1
- 1234 0148 A6FE sbrs r10,6
- 1235 014a 00C0 rjmp .L115
- 1236 014c B22A or r11,r18
- 1237 014e 00C0 rjmp .L129
- 1238 .L115:
- 1239 0150 B322 and r11,r19
- 1240 0152 EB01 movw r28,r22
- 1241 .L129:
- 1242 0154 B982 std Y+1,r11
- 1243 0156 DFEF ldi r29,-1
- 1244 0158 CD1A sub r12,r29
- 1245 015a DD0A sbc r13,r29
- 1246 015c 3196 adiw r30,1
- 1247 015e E401 movw r28,r8
- 1248 0160 7881 ld r23,Y
- 1249 0162 1196 adiw r26,1
- 1250 0164 EA01 movw r28,r20
- 1251 0166 6981 ldd r22,Y+1
- 1252 0168 5D01 movw r10,r26
- 1253 016a 77FF sbrs r23,7
- 1254 016c 00C0 rjmp .L117
- GAS LISTING /tmp/ccOYgVUX.s page 23
- 1255 016e 622B or r22,r18
- 1256 0170 6983 std Y+1,r22
- 1257 0172 00C0 rjmp .L118
- 1258 .L117:
- 1259 0174 6323 and r22,r19
- 1260 0176 6983 std Y+1,r22
- 1261 .L118:
- 1262 0178 0097 sbiw r24,0
- 1263 017a 01F0 breq .+2
- 1264 017c 00C0 rjmp .L102
- 1265 017e 220F lsl r18
- 1266 0180 01F4 brne .L120
- 1267 0182 21E0 ldi r18,lo8(1)
- 1268 .L120:
- 1269 0184 322F mov r19,r18
- 1270 0186 3095 com r19
- 1271 0188 E701 movw r28,r14
- 1272 018a 8A80 ldd r8,Y+2
- 1273 018c 9B80 ldd r9,Y+3
- 1274 018e C601 movw r24,r12
- 1275 0190 B401 movw r22,r8
- 1276 0192 0E94 0000 call __divmodhi4
- 1277 0196 689D mul r22,r8
- 1278 0198 C001 movw r24,r0
- 1279 019a 699D mul r22,r9
- 1280 019c 900D add r25,r0
- 1281 019e 789D mul r23,r8
- 1282 01a0 900D add r25,r0
- 1283 01a2 1124 clr r1
- 1284 01a4 AE80 ldd r10,Y+6
- 1285 01a6 BF80 ldd r11,Y+7
- 1286 01a8 A80E add r10,r24
- 1287 01aa B91E adc r11,r25
- 1288 01ac C801 movw r24,r16
- 1289 01ae 00C0 rjmp .L102
- 1290 .L130:
- 1291 01b0 F301 movw r30,r6
- 1292 01b2 8081 ld r24,Z
- 1293 01b4 9181 ldd r25,Z+1
- 1294 01b6 0E94 0000 call St7565rUpdateFb
- 1295 01ba C201 movw r24,r4
- 1296 01bc 00C0 rjmp .L98
- 1297 .L122:
- 1298 01be 80E0 ldi r24,0
- 1299 01c0 90E0 ldi r25,0
- 1300 .L98:
- 1301 /* epilogue start */
- 1302 01c2 DF91 pop r29
- 1303 01c4 CF91 pop r28
- 1304 01c6 1F91 pop r17
- 1305 01c8 0F91 pop r16
- 1306 01ca FF90 pop r15
- 1307 01cc EF90 pop r14
- 1308 01ce DF90 pop r13
- 1309 01d0 CF90 pop r12
- 1310 01d2 BF90 pop r11
- 1311 01d4 AF90 pop r10
- GAS LISTING /tmp/ccOYgVUX.s page 24
- 1312 01d6 9F90 pop r9
- 1313 01d8 8F90 pop r8
- 1314 01da 7F90 pop r7
- 1315 01dc 6F90 pop r6
- 1316 01de 5F90 pop r5
- 1317 01e0 4F90 pop r4
- 1318 01e2 0895 ret
- 1319 .size St7565rWrite, .-St7565rWrite
- 1320 .global devSt7565rFb0
- 1321 .data
- 1322 .type devSt7565rFb0, @object
- 1323 .size devSt7565rFb0, 37
- 1324 devSt7565rFb0:
- 1325 0000 0000 .word 0
- 1326 0002 46 .byte 70
- 1327 0003 42 .byte 66
- 1328 0004 30 .byte 48
- 1329 0005 00 .byte 0
- 1330 0006 00 .byte 0
- 1331 0007 00 .byte 0
- 1332 0008 00 .byte 0
- 1333 0009 00 .byte 0
- 1334 000a 00 .byte 0
- 1335 000b 08 .byte 8
- 1336 000c 0000 .word 0
- 1337 000e 00 .byte 0
- 1338 000f 0000 .word nodeSt7565r0
- 1339 0011 0000 .word 0
- 1340 0013 0000 .word gs(St7565rInit)
- 1341 0015 0000 .word gs(St7565rIOCtl)
- 1342 0017 0000 .word gs(St7565rRead)
- 1343 0019 0000 .word gs(St7565rWrite)
- 1344 001b 0000 .word 0
- 1345 001d 0000 .word gs(St7565rOpen)
- 1346 001f 0000 .word gs(St7565rClose)
- 1347 0021 0000 .word 0
- 1348 0023 0000 .word 0
- 1349 .global nodeSt7565r0
- 1350 .type nodeSt7565r0, @object
- 1351 .size nodeSt7565r0, 14
- 1352 nodeSt7565r0:
- 1353 0025 0000 .word 0
- 1354 0027 0000 .word 0
- 1355 0029 00 .byte 0
- 1356 002a 2D .byte 45
- 1357 002b 31 .byte 49
- 1358 002c 01 .byte 1
- 1359 002d 0300 .word 3
- 1360 002f 08 .byte 8
- 1361 0030 00 .byte 0
- 1362 0031 0000 .word 0
- 1363 .ident "GCC: (GNU) 5.3.0"
- 1364 .global __do_copy_data
- GAS LISTING /tmp/ccOYgVUX.s page 25
- DEFINED SYMBOLS
- *ABS*:0000000000000000 spi_lcd_st7565r.c
- /tmp/ccOYgVUX.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccOYgVUX.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccOYgVUX.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccOYgVUX.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccOYgVUX.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccOYgVUX.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccOYgVUX.s:10 .text.St7565rIOCtl:0000000000000000 St7565rIOCtl
- /tmp/ccOYgVUX.s:21 .text.St7565rRead:0000000000000000 St7565rRead
- /tmp/ccOYgVUX.s:233 .text.St7565rWriteCmd:0000000000000000 St7565rWriteCmd
- /tmp/ccOYgVUX.s:327 .text.St7565rClose:0000000000000000 St7565rClose
- /tmp/ccOYgVUX.s:345 .text.St7565rOpen:0000000000000000 St7565rOpen
- /tmp/ccOYgVUX.s:376 .text.St7565rNodeLock:0000000000000000 St7565rNodeLock
- /tmp/ccOYgVUX.s:396 .text.St7565rNodeUnlock:0000000000000000 St7565rNodeUnlock
- /tmp/ccOYgVUX.s:413 .text.St7565rSetMode:0000000000000000 St7565rSetMode
- /tmp/ccOYgVUX.s:433 .text.St7565rSetPageAddress:0000000000000000 St7565rSetPageAddress
- /tmp/ccOYgVUX.s:448 .text.St7565rSetColAddress:0000000000000000 St7565rSetColAddress
- /tmp/ccOYgVUX.s:485 .text.St7565rSetDisplayStartLineAddress:0000000000000000 St7565rSetDisplayStartLineAddress
- /tmp/ccOYgVUX.s:500 .text.St7565rDisplayEnable:0000000000000000 St7565rDisplayEnable
- /tmp/ccOYgVUX.s:520 .text.St7565rSetContrast:0000000000000000 St7565rSetContrast
- /tmp/ccOYgVUX.s:565 .text.St7565rDisplayInvert:0000000000000000 St7565rDisplayInvert
- /tmp/ccOYgVUX.s:584 .text.St7565rInit:0000000000000000 St7565rInit
- /tmp/ccOYgVUX.s:813 .text.St7565rDebugPixelsAllOn:0000000000000000 St7565rDebugPixelsAllOn
- /tmp/ccOYgVUX.s:833 .text.St7565rUpdateFb:0000000000000000 St7565rUpdateFb
- /tmp/ccOYgVUX.s:1047 .text.St7565rWrite:0000000000000000 St7565rWrite
- /tmp/ccOYgVUX.s:1324 .data:0000000000000000 devSt7565rFb0
- /tmp/ccOYgVUX.s:1352 .data:0000000000000025 nodeSt7565r0
- UNDEFINED SYMBOLS
- __divmodhi4
- GpioPinSetLow
- free
- malloc
- NutEventWait
- NutEventPost
- memset
- GpioPinConfigSet
- GpioPinSetHigh
- NutMicroDelay
- __do_copy_data
|