| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444 |
- GAS LISTING /tmp/ccQmRu1i.s page 1
- 1 .file "usart0avr.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.AvrUsartEnable,"ax",@progbits
- 9 .type AvrUsartEnable, @function
- 10 AvrUsartEnable:
- 11 /* prologue: function */
- 12 /* frame size = 0 */
- 13 /* stack size = 0 */
- 14 .L__stack_usage = 0
- 15 /* #APP */
- 16 ; 460 "../../nut/arch/avr/dev/usartavr.c" 1
- 17 0000 0FB6 in __tmp_reg__, __SREG__
- 18 0002 F894 cli
- 19 0004 0F92 push __tmp_reg__
- 20
- 21 ; 0 "" 2
- 22 /* #NOAPP */
- 23 0006 88EB ldi r24,lo8(-72)
- 24 0008 8093 C100 sts 193,r24
- 25 /* #APP */
- 26 ; 471 "../../nut/arch/avr/dev/usartavr.c" 1
- 27 000c 0F90 pop __tmp_reg__
- 28 000e 0FBE out __SREG__, __tmp_reg__
- 29
- 30 ; 0 "" 2
- 31 /* #NOAPP */
- 32 0010 0895 ret
- 33 .size AvrUsartEnable, .-AvrUsartEnable
- 34 .section .text.AvrUsartGetStopBits,"ax",@progbits
- 35 .type AvrUsartGetStopBits, @function
- 36 AvrUsartGetStopBits:
- 37 /* prologue: function */
- 38 /* frame size = 0 */
- 39 /* stack size = 0 */
- 40 .L__stack_usage = 0
- 41 0000 8091 C200 lds r24,194
- 42 0004 83FD sbrc r24,3
- 43 0006 00C0 rjmp .L4
- 44 0008 81E0 ldi r24,lo8(1)
- 45 000a 0895 ret
- 46 .L4:
- 47 000c 82E0 ldi r24,lo8(2)
- 48 000e 0895 ret
- 49 .size AvrUsartGetStopBits, .-AvrUsartGetStopBits
- 50 .section .text.AvrUsartGetStatus,"ax",@progbits
- 51 .type AvrUsartGetStatus, @function
- 52 AvrUsartGetStatus:
- 53 /* prologue: function */
- 54 /* frame size = 0 */
- 55 /* stack size = 0 */
- 56 .L__stack_usage = 0
- 57 0000 2091 0000 lds r18,rx_errors
- GAS LISTING /tmp/ccQmRu1i.s page 2
- 58 0004 24FB bst r18,4
- 59 0006 8827 clr r24
- 60 0008 80F9 bld r24,0
- 61 000a 90E0 ldi r25,0
- 62 000c A0E0 ldi r26,0
- 63 000e B0E0 ldi r27,0
- 64 0010 23FD sbrc r18,3
- 65 0012 8260 ori r24,2
- 66 .L7:
- 67 0014 22FD sbrc r18,2
- 68 0016 8460 ori r24,4
- 69 .L8:
- 70 0018 2091 0000 lds r18,flow_control
- 71 001c 2223 tst r18
- 72 001e 01F0 breq .L9
- 73 0020 26FD sbrc r18,6
- 74 0022 A260 ori r26,2
- 75 .L10:
- 76 0024 27FD sbrc r18,7
- 77 0026 A860 ori r26,8
- 78 .L9:
- 79 0028 A1FF sbrs r26,1
- 80 002a A160 ori r26,1
- 81 .L11:
- 82 002c A3FF sbrs r26,3
- 83 002e A460 ori r26,4
- 84 .L12:
- 85 0030 2091 0000 lds r18,tx_aframe
- 86 0034 2223 tst r18
- 87 0036 01F0 breq .L13
- 88 0038 A064 ori r26,64
- 89 003a 00C0 rjmp .L14
- 90 .L13:
- 91 003c A068 ori r26,128
- 92 .L14:
- 93 003e 2091 C000 lds r18,192
- 94 0042 BC01 movw r22,r24
- 95 0044 CD01 movw r24,r26
- 96 0046 20FF sbrs r18,0
- 97 0048 00C0 rjmp .L15
- 98 004a 8061 ori r24,16
- 99 004c 0895 ret
- 100 .L15:
- 101 004e 8062 ori r24,32
- 102 0050 0895 ret
- 103 .size AvrUsartGetStatus, .-AvrUsartGetStatus
- 104 .section .text.AvrUsartSetStatus,"ax",@progbits
- 105 .type AvrUsartSetStatus, @function
- 106 AvrUsartSetStatus:
- 107 0000 CF92 push r12
- 108 0002 DF92 push r13
- 109 0004 EF92 push r14
- 110 0006 FF92 push r15
- 111 /* prologue: function */
- 112 /* frame size = 0 */
- 113 /* stack size = 4 */
- 114 .L__stack_usage = 4
- GAS LISTING /tmp/ccQmRu1i.s page 3
- 115 0008 6B01 movw r12,r22
- 116 000a 7C01 movw r14,r24
- 117 000c 8091 0000 lds r24,flow_control
- 118 0010 8823 tst r24
- 119 0012 01F0 breq .L30
- 120 /* #APP */
- 121 ; 882 "../../nut/arch/avr/dev/usartavr.c" 1
- 122 0014 0FB6 in __tmp_reg__, __SREG__
- 123 0016 F894 cli
- 124 0018 0F92 push __tmp_reg__
- 125
- 126 ; 0 "" 2
- 127 /* #NOAPP */
- 128 001a E0FE sbrs r14,0
- 129 001c 00C0 rjmp .L31
- 130 001e 8F7B andi r24,lo8(-65)
- 131 0020 00C0 rjmp .L73
- 132 .L31:
- 133 0022 E1FE sbrs r14,1
- 134 0024 00C0 rjmp .L32
- 135 0026 8064 ori r24,lo8(64)
- 136 .L73:
- 137 0028 8093 0000 sts flow_control,r24
- 138 .L32:
- 139 002c E2FE sbrs r14,2
- 140 002e 00C0 rjmp .L33
- 141 0030 8091 0000 lds r24,flow_control
- 142 0034 8F77 andi r24,lo8(127)
- 143 0036 00C0 rjmp .L74
- 144 .L33:
- 145 0038 E3FE sbrs r14,3
- 146 003a 00C0 rjmp .L34
- 147 003c 8091 0000 lds r24,flow_control
- 148 0040 8068 ori r24,lo8(-128)
- 149 .L74:
- 150 0042 8093 0000 sts flow_control,r24
- 151 .L34:
- 152 /* #APP */
- 153 ; 903 "../../nut/arch/avr/dev/usartavr.c" 1
- 154 0046 0F90 pop __tmp_reg__
- 155 0048 0FBE out __SREG__, __tmp_reg__
- 156
- 157 ; 0 "" 2
- 158 /* #NOAPP */
- 159 .L30:
- 160 004a E6FE sbrs r14,6
- 161 004c 00C0 rjmp .L35
- 162 004e 81E0 ldi r24,lo8(1)
- 163 0050 8093 0000 sts tx_aframe,r24
- 164 .L35:
- 165 0054 E7FC sbrc r14,7
- 166 0056 1092 0000 sts tx_aframe,__zero_reg__
- 167 .L36:
- 168 005a E4FE sbrs r14,4
- 169 005c 00C0 rjmp .L37
- 170 005e 8091 C000 lds r24,192
- 171 0062 8160 ori r24,lo8(1)
- GAS LISTING /tmp/ccQmRu1i.s page 4
- 172 0064 8093 C000 sts 192,r24
- 173 .L37:
- 174 0068 E5FE sbrs r14,5
- 175 006a 00C0 rjmp .L38
- 176 006c 8091 C000 lds r24,192
- 177 0070 8E7F andi r24,lo8(-2)
- 178 0072 8093 C000 sts 192,r24
- 179 .L38:
- 180 0076 C0FE sbrs r12,0
- 181 0078 00C0 rjmp .L39
- 182 007a 8091 0000 lds r24,rx_errors
- 183 007e 8F7E andi r24,lo8(-17)
- 184 0080 8093 0000 sts rx_errors,r24
- 185 .L39:
- 186 0084 C1FE sbrs r12,1
- 187 0086 00C0 rjmp .L40
- 188 0088 8091 0000 lds r24,rx_errors
- 189 008c 877F andi r24,lo8(-9)
- 190 008e 8093 0000 sts rx_errors,r24
- 191 .L40:
- 192 0092 C2FE sbrs r12,2
- 193 0094 00C0 rjmp .L41
- 194 0096 8091 0000 lds r24,rx_errors
- 195 009a 8B7F andi r24,lo8(-5)
- 196 009c 8093 0000 sts rx_errors,r24
- 197 .L41:
- 198 00a0 0E94 0000 call AvrUsartGetStatus
- 199 00a4 DC01 movw r26,r24
- 200 00a6 CB01 movw r24,r22
- 201 00a8 887F andi r24,248
- 202 00aa 21E0 ldi r18,lo8(1)
- 203 00ac 30E0 ldi r19,0
- 204 00ae 8C15 cp r24,r12
- 205 00b0 9D05 cpc r25,r13
- 206 00b2 AE05 cpc r26,r14
- 207 00b4 BF05 cpc r27,r15
- 208 00b6 01F4 brne .L42
- 209 00b8 20E0 ldi r18,0
- 210 00ba 30E0 ldi r19,0
- 211 .L42:
- 212 00bc 8827 clr r24
- 213 00be 9927 clr r25
- 214 00c0 821B sub r24,r18
- 215 00c2 930B sbc r25,r19
- 216 /* epilogue start */
- 217 00c4 FF90 pop r15
- 218 00c6 EF90 pop r14
- 219 00c8 DF90 pop r13
- 220 00ca CF90 pop r12
- 221 00cc 0895 ret
- 222 .size AvrUsartSetStatus, .-AvrUsartSetStatus
- 223 .section .text.AvrUsartGetFlowControl,"ax",@progbits
- 224 .type AvrUsartGetFlowControl, @function
- 225 AvrUsartGetFlowControl:
- 226 /* prologue: function */
- 227 /* frame size = 0 */
- 228 /* stack size = 0 */
- GAS LISTING /tmp/ccQmRu1i.s page 5
- 229 .L__stack_usage = 0
- 230 0000 8091 0000 lds r24,flow_control
- 231 0004 8111 cpse r24,__zero_reg__
- 232 0006 00C0 rjmp .L77
- 233 0008 60E0 ldi r22,0
- 234 000a 70E0 ldi r23,0
- 235 000c CB01 movw r24,r22
- 236 000e 0895 ret
- 237 .L77:
- 238 0010 60E2 ldi r22,lo8(32)
- 239 0012 70E0 ldi r23,0
- 240 0014 80E0 ldi r24,0
- 241 0016 90E0 ldi r25,0
- 242 0018 0895 ret
- 243 .size AvrUsartGetFlowControl, .-AvrUsartGetFlowControl
- 244 .section .text.AvrUsartSetFlowControl,"ax",@progbits
- 245 .type AvrUsartSetFlowControl, @function
- 246 AvrUsartSetFlowControl:
- 247 0000 CF92 push r12
- 248 0002 DF92 push r13
- 249 0004 EF92 push r14
- 250 0006 FF92 push r15
- 251 /* prologue: function */
- 252 /* frame size = 0 */
- 253 /* stack size = 4 */
- 254 .L__stack_usage = 4
- 255 0008 6B01 movw r12,r22
- 256 000a 7C01 movw r14,r24
- 257 000c 65FF sbrs r22,5
- 258 000e 00C0 rjmp .L79
- 259 0010 8091 0000 lds r24,flow_control
- 260 0014 8111 cpse r24,__zero_reg__
- 261 0016 00C0 rjmp .L80
- 262 /* #APP */
- 263 ; 1138 "../../nut/arch/avr/dev/usartavr.c" 1
- 264 0018 0FB6 in __tmp_reg__, __SREG__
- 265 001a F894 cli
- 266 001c 0F92 push __tmp_reg__
- 267
- 268 ; 0 "" 2
- 269 /* #NOAPP */
- 270 001e 81E4 ldi r24,lo8(65)
- 271 0020 8093 0000 sts flow_control,r24
- 272 0024 00C0 rjmp .L82
- 273 .L79:
- 274 /* #APP */
- 275 ; 1143 "../../nut/arch/avr/dev/usartavr.c" 1
- 276 0026 0FB6 in __tmp_reg__, __SREG__
- 277 0028 F894 cli
- 278 002a 0F92 push __tmp_reg__
- 279
- 280 ; 0 "" 2
- 281 /* #NOAPP */
- 282 002c 1092 0000 sts flow_control,__zero_reg__
- 283 .L82:
- 284 /* #APP */
- 285 ; 1145 "../../nut/arch/avr/dev/usartavr.c" 1
- GAS LISTING /tmp/ccQmRu1i.s page 6
- 286 0030 0F90 pop __tmp_reg__
- 287 0032 0FBE out __SREG__, __tmp_reg__
- 288
- 289 ; 0 "" 2
- 290 /* #NOAPP */
- 291 .L80:
- 292 0034 0E94 0000 call AvrUsartGetFlowControl
- 293 0038 21E0 ldi r18,lo8(1)
- 294 003a 30E0 ldi r19,0
- 295 003c C616 cp r12,r22
- 296 003e D706 cpc r13,r23
- 297 0040 E806 cpc r14,r24
- 298 0042 F906 cpc r15,r25
- 299 0044 01F4 brne .L81
- 300 0046 20E0 ldi r18,0
- 301 0048 30E0 ldi r19,0
- 302 .L81:
- 303 004a 8827 clr r24
- 304 004c 9927 clr r25
- 305 004e 821B sub r24,r18
- 306 0050 930B sbc r25,r19
- 307 /* epilogue start */
- 308 0052 FF90 pop r15
- 309 0054 EF90 pop r14
- 310 0056 DF90 pop r13
- 311 0058 CF90 pop r12
- 312 005a 0895 ret
- 313 .size AvrUsartSetFlowControl, .-AvrUsartSetFlowControl
- 314 .section .text.AvrUsartTxStart,"ax",@progbits
- 315 .type AvrUsartTxStart, @function
- 316 AvrUsartTxStart:
- 317 /* prologue: function */
- 318 /* frame size = 0 */
- 319 /* stack size = 0 */
- 320 .L__stack_usage = 0
- 321 0000 E1EC ldi r30,lo8(-63)
- 322 0002 F0E0 ldi r31,0
- 323 0004 8081 ld r24,Z
- 324 0006 8062 ori r24,lo8(32)
- 325 0008 8083 st Z,r24
- 326 000a 0895 ret
- 327 .size AvrUsartTxStart, .-AvrUsartTxStart
- 328 .section .text.AvrUsartDisable,"ax",@progbits
- 329 .type AvrUsartDisable, @function
- 330 AvrUsartDisable:
- 331 0000 CF93 push r28
- 332 0002 DF93 push r29
- 333 /* prologue: function */
- 334 /* frame size = 0 */
- 335 /* stack size = 2 */
- 336 .L__stack_usage = 2
- 337 /* #APP */
- 338 ; 482 "../../nut/arch/avr/dev/usartavr.c" 1
- 339 0004 0FB6 in __tmp_reg__, __SREG__
- 340 0006 F894 cli
- 341 0008 0F92 push __tmp_reg__
- 342
- GAS LISTING /tmp/ccQmRu1i.s page 7
- 343 ; 0 "" 2
- 344 /* #NOAPP */
- 345 000a C1EC ldi r28,lo8(-63)
- 346 000c D0E0 ldi r29,0
- 347 000e 8881 ld r24,Y
- 348 0010 8F77 andi r24,lo8(127)
- 349 0012 8883 st Y,r24
- 350 0014 8881 ld r24,Y
- 351 0016 8F7B andi r24,lo8(-65)
- 352 0018 8883 st Y,r24
- 353 001a 8881 ld r24,Y
- 354 001c 8F7D andi r24,lo8(-33)
- 355 001e 8883 st Y,r24
- 356 /* #APP */
- 357 ; 486 "../../nut/arch/avr/dev/usartavr.c" 1
- 358 0020 0F90 pop __tmp_reg__
- 359 0022 0FBE out __SREG__, __tmp_reg__
- 360
- 361 ; 0 "" 2
- 362 /* #NOAPP */
- 363 0024 8AE0 ldi r24,lo8(10)
- 364 0026 0E94 0000 call NutDelay
- 365 002a 8881 ld r24,Y
- 366 002c 8F7E andi r24,lo8(-17)
- 367 002e 8883 st Y,r24
- 368 0030 8881 ld r24,Y
- 369 0032 877F andi r24,lo8(-9)
- 370 0034 8883 st Y,r24
- 371 /* epilogue start */
- 372 0036 DF91 pop r29
- 373 0038 CF91 pop r28
- 374 003a 0895 ret
- 375 .size AvrUsartDisable, .-AvrUsartDisable
- 376 .section .text.AvrUsartSetStopBits,"ax",@progbits
- 377 .type AvrUsartSetStopBits, @function
- 378 AvrUsartSetStopBits:
- 379 0000 CF93 push r28
- 380 /* prologue: function */
- 381 /* frame size = 0 */
- 382 /* stack size = 1 */
- 383 .L__stack_usage = 1
- 384 0002 C82F mov r28,r24
- 385 0004 0E94 0000 call AvrUsartDisable
- 386 0008 C130 cpi r28,lo8(1)
- 387 000a 01F4 brne .L86
- 388 000c 8091 C200 lds r24,194
- 389 0010 877F andi r24,lo8(-9)
- 390 0012 00C0 rjmp .L89
- 391 .L86:
- 392 0014 C230 cpi r28,lo8(2)
- 393 0016 01F4 brne .L87
- 394 0018 8091 C200 lds r24,194
- 395 001c 8860 ori r24,lo8(8)
- 396 .L89:
- 397 001e 8093 C200 sts 194,r24
- 398 .L87:
- 399 0022 0E94 0000 call AvrUsartEnable
- GAS LISTING /tmp/ccQmRu1i.s page 8
- 400 0026 0E94 0000 call AvrUsartGetStopBits
- 401 002a 21E0 ldi r18,lo8(1)
- 402 002c 30E0 ldi r19,0
- 403 002e C813 cpse r28,r24
- 404 0030 00C0 rjmp .L88
- 405 0032 20E0 ldi r18,0
- 406 0034 30E0 ldi r19,0
- 407 .L88:
- 408 0036 8827 clr r24
- 409 0038 9927 clr r25
- 410 003a 821B sub r24,r18
- 411 003c 930B sbc r25,r19
- 412 /* epilogue start */
- 413 003e CF91 pop r28
- 414 0040 0895 ret
- 415 .size AvrUsartSetStopBits, .-AvrUsartSetStopBits
- 416 .section .text.AvrUsartGetSpeed,"ax",@progbits
- 417 .type AvrUsartGetSpeed, @function
- 418 AvrUsartGetSpeed:
- 419 0000 8F92 push r8
- 420 0002 9F92 push r9
- 421 0004 AF92 push r10
- 422 0006 BF92 push r11
- 423 0008 CF92 push r12
- 424 000a DF92 push r13
- 425 000c EF92 push r14
- 426 000e FF92 push r15
- 427 0010 CF93 push r28
- 428 0012 DF93 push r29
- 429 /* prologue: function */
- 430 /* frame size = 0 */
- 431 /* stack size = 10 */
- 432 .L__stack_usage = 10
- 433 0014 2091 C400 lds r18,196
- 434 0018 8091 C500 lds r24,197
- 435 001c 30E0 ldi r19,0
- 436 001e E901 movw r28,r18
- 437 0020 D82B or r29,r24
- 438 0022 8091 C200 lds r24,194
- 439 0026 86FD sbrc r24,6
- 440 0028 00C0 rjmp .L92
- 441 002a 8091 C000 lds r24,192
- 442 002e 81FD sbrc r24,1
- 443 0030 00C0 rjmp .L93
- 444 0032 20E1 ldi r18,lo8(16)
- 445 0034 C22E mov r12,r18
- 446 0036 D12C mov r13,__zero_reg__
- 447 0038 E12C mov r14,__zero_reg__
- 448 003a F12C mov r15,__zero_reg__
- 449 003c 00C0 rjmp .L91
- 450 .L92:
- 451 003e 92E0 ldi r25,lo8(2)
- 452 0040 C92E mov r12,r25
- 453 0042 D12C mov r13,__zero_reg__
- 454 0044 E12C mov r14,__zero_reg__
- 455 0046 F12C mov r15,__zero_reg__
- 456 0048 00C0 rjmp .L91
- GAS LISTING /tmp/ccQmRu1i.s page 9
- 457 .L93:
- 458 004a 88E0 ldi r24,lo8(8)
- 459 004c C82E mov r12,r24
- 460 004e D12C mov r13,__zero_reg__
- 461 0050 E12C mov r14,__zero_reg__
- 462 0052 F12C mov r15,__zero_reg__
- 463 .L91:
- 464 0054 0E94 0000 call NutGetCpuClock
- 465 0058 4B01 movw r8,r22
- 466 005a 5C01 movw r10,r24
- 467 005c CE01 movw r24,r28
- 468 005e A0E0 ldi r26,0
- 469 0060 B0E0 ldi r27,0
- 470 0062 9C01 movw r18,r24
- 471 0064 AD01 movw r20,r26
- 472 0066 2F5F subi r18,-1
- 473 0068 3F4F sbci r19,-1
- 474 006a 4F4F sbci r20,-1
- 475 006c 5F4F sbci r21,-1
- 476 006e C701 movw r24,r14
- 477 0070 B601 movw r22,r12
- 478 0072 0E94 0000 call __mulsi3
- 479 0076 9B01 movw r18,r22
- 480 0078 AC01 movw r20,r24
- 481 007a C501 movw r24,r10
- 482 007c B401 movw r22,r8
- 483 007e 0E94 0000 call __udivmodsi4
- 484 0082 CA01 movw r24,r20
- 485 0084 B901 movw r22,r18
- 486 /* epilogue start */
- 487 0086 DF91 pop r29
- 488 0088 CF91 pop r28
- 489 008a FF90 pop r15
- 490 008c EF90 pop r14
- 491 008e DF90 pop r13
- 492 0090 CF90 pop r12
- 493 0092 BF90 pop r11
- 494 0094 AF90 pop r10
- 495 0096 9F90 pop r9
- 496 0098 8F90 pop r8
- 497 009a 0895 ret
- 498 .size AvrUsartGetSpeed, .-AvrUsartGetSpeed
- 499 .section .text.AvrUsartSetSpeed,"ax",@progbits
- 500 .type AvrUsartSetSpeed, @function
- 501 AvrUsartSetSpeed:
- 502 0000 CF93 push r28
- 503 0002 DF93 push r29
- 504 0004 00D0 rcall .
- 505 0006 1F92 push __zero_reg__
- 506 0008 CDB7 in r28,__SP_L__
- 507 000a DEB7 in r29,__SP_H__
- 508 /* prologue: function */
- 509 /* frame size = 4 */
- 510 /* stack size = 6 */
- 511 .L__stack_usage = 6
- 512 000c 9B01 movw r18,r22
- 513 000e AC01 movw r20,r24
- GAS LISTING /tmp/ccQmRu1i.s page 10
- 514 0010 6983 std Y+1,r22
- 515 0012 3A83 std Y+2,r19
- 516 0014 4B83 std Y+3,r20
- 517 0016 5C83 std Y+4,r21
- 518 0018 0E94 0000 call AvrUsartDisable
- 519 001c 8091 C200 lds r24,194
- 520 0020 2981 ldd r18,Y+1
- 521 0022 3A81 ldd r19,Y+2
- 522 0024 4B81 ldd r20,Y+3
- 523 0026 5C81 ldd r21,Y+4
- 524 0028 86FD sbrc r24,6
- 525 002a 00C0 rjmp .L95
- 526 002c 8091 C000 lds r24,192
- 527 0030 81FF sbrs r24,1
- 528 0032 00C0 rjmp .L96
- 529 0034 72E0 ldi r23,2
- 530 1:
- 531 0036 220F lsl r18
- 532 0038 331F rol r19
- 533 003a 441F rol r20
- 534 003c 551F rol r21
- 535 003e 7A95 dec r23
- 536 0040 01F4 brne 1b
- 537 0042 00C0 rjmp .L95
- 538 .L96:
- 539 0044 63E0 ldi r22,3
- 540 1:
- 541 0046 220F lsl r18
- 542 0048 331F rol r19
- 543 004a 441F rol r20
- 544 004c 551F rol r21
- 545 004e 6A95 dec r22
- 546 0050 01F4 brne 1b
- 547 .L95:
- 548 0052 2983 std Y+1,r18
- 549 0054 3A83 std Y+2,r19
- 550 0056 4B83 std Y+3,r20
- 551 0058 5C83 std Y+4,r21
- 552 005a 0E94 0000 call NutGetCpuClock
- 553 005e 2981 ldd r18,Y+1
- 554 0060 3A81 ldd r19,Y+2
- 555 0062 4B81 ldd r20,Y+3
- 556 0064 5C81 ldd r21,Y+4
- 557 0066 0E94 0000 call __udivmodsi4
- 558 006a DA01 movw r26,r20
- 559 006c C901 movw r24,r18
- 560 006e 0196 adiw r24,1
- 561 0070 A11D adc r26,__zero_reg__
- 562 0072 B11D adc r27,__zero_reg__
- 563 0074 B695 lsr r27
- 564 0076 A795 ror r26
- 565 0078 9795 ror r25
- 566 007a 8795 ror r24
- 567 007c 9C01 movw r18,r24
- 568 007e 2150 subi r18,1
- 569 0080 3109 sbc r19,__zero_reg__
- 570 0082 2093 C400 sts 196,r18
- GAS LISTING /tmp/ccQmRu1i.s page 11
- 571 0086 3093 C500 sts 197,r19
- 572 008a 0E94 0000 call AvrUsartEnable
- 573 008e 80E0 ldi r24,0
- 574 0090 90E0 ldi r25,0
- 575 /* epilogue start */
- 576 0092 0F90 pop __tmp_reg__
- 577 0094 0F90 pop __tmp_reg__
- 578 0096 0F90 pop __tmp_reg__
- 579 0098 0F90 pop __tmp_reg__
- 580 009a DF91 pop r29
- 581 009c CF91 pop r28
- 582 009e 0895 ret
- 583 .size AvrUsartSetSpeed, .-AvrUsartSetSpeed
- 584 .section .text.AvrUsartDeinit,"ax",@progbits
- 585 .type AvrUsartDeinit, @function
- 586 AvrUsartDeinit:
- 587 /* prologue: function */
- 588 /* frame size = 0 */
- 589 /* stack size = 0 */
- 590 .L__stack_usage = 0
- 591 0000 40E0 ldi r20,0
- 592 0002 50E0 ldi r21,0
- 593 0004 60E0 ldi r22,0
- 594 0006 70E0 ldi r23,0
- 595 0008 80E0 ldi r24,lo8(sig_UART0_RECV)
- 596 000a 90E0 ldi r25,hi8(sig_UART0_RECV)
- 597 000c 0E94 0000 call NutRegisterIrqHandler
- 598 0010 40E0 ldi r20,0
- 599 0012 50E0 ldi r21,0
- 600 0014 60E0 ldi r22,0
- 601 0016 70E0 ldi r23,0
- 602 0018 80E0 ldi r24,lo8(sig_UART0_DATA)
- 603 001a 90E0 ldi r25,hi8(sig_UART0_DATA)
- 604 001c 0E94 0000 call NutRegisterIrqHandler
- 605 0020 80E0 ldi r24,0
- 606 0022 90E0 ldi r25,0
- 607 0024 0895 ret
- 608 .size AvrUsartDeinit, .-AvrUsartDeinit
- 609 .section .text.AvrUsartTxEmpty,"ax",@progbits
- 610 .type AvrUsartTxEmpty, @function
- 611 AvrUsartTxEmpty:
- 612 /* prologue: function */
- 613 /* frame size = 0 */
- 614 /* stack size = 0 */
- 615 .L__stack_usage = 0
- 616 0000 FC01 movw r30,r24
- 617 0002 A281 ldd r26,Z+2
- 618 0004 B381 ldd r27,Z+3
- 619 0006 8091 0000 lds r24,flow_control
- 620 000a 982F mov r25,r24
- 621 000c 9073 andi r25,lo8(48)
- 622 000e 01F0 breq .L99
- 623 0010 84FF sbrs r24,4
- 624 0012 00C0 rjmp .L100
- 625 0014 83E1 ldi r24,lo8(19)
- 626 0016 8093 C600 sts 198,r24
- 627 001a 8091 0000 lds r24,flow_control
- GAS LISTING /tmp/ccQmRu1i.s page 12
- 628 001e 8064 ori r24,lo8(64)
- 629 0020 00C0 rjmp .L118
- 630 .L100:
- 631 0022 81E1 ldi r24,lo8(17)
- 632 0024 8093 C600 sts 198,r24
- 633 0028 8091 0000 lds r24,flow_control
- 634 002c 8F7B andi r24,lo8(-65)
- 635 .L118:
- 636 002e 8093 0000 sts flow_control,r24
- 637 0032 8091 0000 lds r24,flow_control
- 638 0036 8F7C andi r24,lo8(-49)
- 639 0038 8093 0000 sts flow_control,r24
- 640 003c 0895 ret
- 641 .L99:
- 642 003e 87FF sbrs r24,7
- 643 0040 00C0 rjmp .L103
- 644 0042 8091 C100 lds r24,193
- 645 0046 8F7D andi r24,lo8(-33)
- 646 0048 8093 C100 sts 193,r24
- 647 004c 0895 ret
- 648 .L103:
- 649 004e 8285 ldd r24,Z+10
- 650 0050 9385 ldd r25,Z+11
- 651 0052 892B or r24,r25
- 652 0054 01F0 breq .L104
- 653 0056 8285 ldd r24,Z+10
- 654 0058 9385 ldd r25,Z+11
- 655 005a 0197 sbiw r24,1
- 656 005c 9387 std Z+11,r25
- 657 005e 8287 std Z+10,r24
- 658 0060 8091 0000 lds r24,tx_aframe
- 659 0064 8823 tst r24
- 660 0066 01F0 breq .L105
- 661 0068 8091 C100 lds r24,193
- 662 006c 8160 ori r24,lo8(1)
- 663 006e 00C0 rjmp .L119
- 664 .L105:
- 665 0070 8091 C100 lds r24,193
- 666 0074 8E7F andi r24,lo8(-2)
- 667 .L119:
- 668 0076 8093 C100 sts 193,r24
- 669 007a 8D91 ld r24,X+
- 670 007c 8093 C600 sts 198,r24
- 671 0080 8681 ldd r24,Z+6
- 672 0082 9781 ldd r25,Z+7
- 673 0084 A817 cp r26,r24
- 674 0086 B907 cpc r27,r25
- 675 0088 01F4 brne .L107
- 676 008a A481 ldd r26,Z+4
- 677 008c B581 ldd r27,Z+5
- 678 .L107:
- 679 008e B383 std Z+3,r27
- 680 0090 A283 std Z+2,r26
- 681 0092 2285 ldd r18,Z+10
- 682 0094 3385 ldd r19,Z+11
- 683 0096 8485 ldd r24,Z+12
- 684 0098 9585 ldd r25,Z+13
- GAS LISTING /tmp/ccQmRu1i.s page 13
- 685 009a 2817 cp r18,r24
- 686 009c 3907 cpc r19,r25
- 687 009e 01F4 brne .L98
- 688 00a0 00C0 rjmp .L124
- 689 .L104:
- 690 00a2 8091 C100 lds r24,193
- 691 00a6 8F7D andi r24,lo8(-33)
- 692 00a8 8093 C100 sts 193,r24
- 693 00ac 1386 std Z+11,__zero_reg__
- 694 00ae 1286 std Z+10,__zero_reg__
- 695 .L124:
- 696 00b0 A089 ldd r26,Z+16
- 697 00b2 B189 ldd r27,Z+17
- 698 00b4 1097 sbiw r26,0
- 699 00b6 01F4 brne .L110
- 700 00b8 8FEF ldi r24,lo8(-1)
- 701 00ba 9FEF ldi r25,lo8(-1)
- 702 00bc 918B std Z+17,r25
- 703 00be 808B std Z+16,r24
- 704 00c0 00C0 rjmp .L111
- 705 .L110:
- 706 00c2 AF3F cpi r26,-1
- 707 00c4 8FEF ldi r24,-1
- 708 00c6 B807 cpc r27,r24
- 709 00c8 01F0 breq .L111
- 710 00ca 1496 adiw r26,4
- 711 00cc 8D91 ld r24,X+
- 712 00ce 9C91 ld r25,X
- 713 00d0 1597 sbiw r26,4+1
- 714 00d2 0196 adiw r24,1
- 715 00d4 1596 adiw r26,4+1
- 716 00d6 9C93 st X,r25
- 717 00d8 8E93 st -X,r24
- 718 00da 1497 sbiw r26,4
- 719 .L111:
- 720 00dc 62E0 ldi r22,lo8(2)
- 721 00de 8689 ldd r24,Z+22
- 722 00e0 9789 ldd r25,Z+23
- 723 00e2 0C94 0000 jmp NutSelectWakeupFromIrq
- 724 .L98:
- 725 00e6 0895 ret
- 726 .size AvrUsartTxEmpty, .-AvrUsartTxEmpty
- 727 .section .text.AvrUsartRxComplete,"ax",@progbits
- 728 .type AvrUsartRxComplete, @function
- 729 AvrUsartRxComplete:
- 730 0000 EF92 push r14
- 731 0002 FF92 push r15
- 732 0004 1F93 push r17
- 733 0006 CF93 push r28
- 734 0008 DF93 push r29
- 735 /* prologue: function */
- 736 /* frame size = 0 */
- 737 /* stack size = 5 */
- 738 .L__stack_usage = 5
- 739 000a EC01 movw r28,r24
- 740 000c 9091 C000 lds r25,192
- 741 0010 8091 0000 lds r24,rx_errors
- GAS LISTING /tmp/ccQmRu1i.s page 14
- 742 0014 982B or r25,r24
- 743 0016 9093 0000 sts rx_errors,r25
- 744 001a 1091 C600 lds r17,198
- 745 001e 8091 0000 lds r24,flow_control
- 746 0022 8823 tst r24
- 747 0024 01F0 breq .L126
- 748 0026 1331 cpi r17,lo8(19)
- 749 0028 01F4 brne .L127
- 750 002a 8091 C100 lds r24,193
- 751 002e 8F7D andi r24,lo8(-33)
- 752 0030 8093 C100 sts 193,r24
- 753 0034 8091 0000 lds r24,flow_control
- 754 0038 8068 ori r24,lo8(-128)
- 755 003a 00C0 rjmp .L146
- 756 .L127:
- 757 003c 1131 cpi r17,lo8(17)
- 758 003e 01F4 brne .L126
- 759 0040 8091 C100 lds r24,193
- 760 0044 8062 ori r24,lo8(32)
- 761 0046 8093 C100 sts 193,r24
- 762 004a 8091 0000 lds r24,flow_control
- 763 004e 8F77 andi r24,lo8(127)
- 764 .L146:
- 765 0050 8093 0000 sts flow_control,r24
- 766 0054 00C0 rjmp .L125
- 767 .L126:
- 768 0056 2A85 ldd r18,Y+10
- 769 0058 3B85 ldd r19,Y+11
- 770 005a 4885 ldd r20,Y+8
- 771 005c 5985 ldd r21,Y+9
- 772 005e 2417 cp r18,r20
- 773 0060 3507 cpc r19,r21
- 774 0062 00F0 brlo .L129
- 775 0064 9860 ori r25,lo8(8)
- 776 0066 9093 0000 sts rx_errors,r25
- 777 006a 00C0 rjmp .L125
- 778 .L129:
- 779 006c 7901 movw r14,r18
- 780 006e 9FEF ldi r25,-1
- 781 0070 E91A sub r14,r25
- 782 0072 F90A sbc r15,r25
- 783 0074 232B or r18,r19
- 784 0076 01F4 brne .L130
- 785 0078 E889 ldd r30,Y+16
- 786 007a F989 ldd r31,Y+17
- 787 007c 3097 sbiw r30,0
- 788 007e 01F4 brne .L131
- 789 0080 8FEF ldi r24,lo8(-1)
- 790 0082 9FEF ldi r25,lo8(-1)
- 791 0084 998B std Y+17,r25
- 792 0086 888B std Y+16,r24
- 793 0088 00C0 rjmp .L132
- 794 .L131:
- 795 008a EF3F cpi r30,-1
- 796 008c 8FEF ldi r24,-1
- 797 008e F807 cpc r31,r24
- 798 0090 01F0 breq .L132
- GAS LISTING /tmp/ccQmRu1i.s page 15
- 799 0092 8481 ldd r24,Z+4
- 800 0094 9581 ldd r25,Z+5
- 801 0096 0196 adiw r24,1
- 802 0098 9583 std Z+5,r25
- 803 009a 8483 std Z+4,r24
- 804 .L132:
- 805 009c 61E0 ldi r22,lo8(1)
- 806 009e 8E89 ldd r24,Y+22
- 807 00a0 9F89 ldd r25,Y+23
- 808 00a2 0E94 0000 call NutSelectWakeupFromIrq
- 809 00a6 00C0 rjmp .L133
- 810 .L130:
- 811 00a8 8823 tst r24
- 812 00aa 01F0 breq .L133
- 813 00ac 2E85 ldd r18,Y+14
- 814 00ae 3F85 ldd r19,Y+15
- 815 00b0 E216 cp r14,r18
- 816 00b2 F306 cpc r15,r19
- 817 00b4 00F0 brlo .L133
- 818 00b6 86FD sbrc r24,6
- 819 00b8 00C0 rjmp .L133
- 820 00ba 9091 C000 lds r25,192
- 821 00be 95FF sbrs r25,5
- 822 00c0 00C0 rjmp .L134
- 823 00c2 83E1 ldi r24,lo8(19)
- 824 00c4 8093 C600 sts 198,r24
- 825 00c8 8091 0000 lds r24,flow_control
- 826 00cc 8F7D andi r24,lo8(-33)
- 827 00ce 8064 ori r24,lo8(64)
- 828 00d0 00C0 rjmp .L145
- 829 .L134:
- 830 00d2 8062 ori r24,lo8(32)
- 831 .L145:
- 832 00d4 8093 0000 sts flow_control,r24
- 833 .L133:
- 834 00d8 E881 ld r30,Y
- 835 00da F981 ldd r31,Y+1
- 836 00dc CF01 movw r24,r30
- 837 00de 0196 adiw r24,1
- 838 00e0 9983 std Y+1,r25
- 839 00e2 8883 st Y,r24
- 840 00e4 1083 st Z,r17
- 841 00e6 2881 ld r18,Y
- 842 00e8 3981 ldd r19,Y+1
- 843 00ea 8E81 ldd r24,Y+6
- 844 00ec 9F81 ldd r25,Y+7
- 845 00ee 2817 cp r18,r24
- 846 00f0 3907 cpc r19,r25
- 847 00f2 01F4 brne .L135
- 848 00f4 8C81 ldd r24,Y+4
- 849 00f6 9D81 ldd r25,Y+5
- 850 00f8 9983 std Y+1,r25
- 851 00fa 8883 st Y,r24
- 852 .L135:
- 853 00fc FB86 std Y+11,r15
- 854 00fe EA86 std Y+10,r14
- 855 .L125:
- GAS LISTING /tmp/ccQmRu1i.s page 16
- 856 /* epilogue start */
- 857 0100 DF91 pop r29
- 858 0102 CF91 pop r28
- 859 0104 1F91 pop r17
- 860 0106 FF90 pop r15
- 861 0108 EF90 pop r14
- 862 010a 0895 ret
- 863 .size AvrUsartRxComplete, .-AvrUsartRxComplete
- 864 .section .text.AvrUsartGetDataBits,"ax",@progbits
- 865 .type AvrUsartGetDataBits, @function
- 866 AvrUsartGetDataBits:
- 867 /* prologue: function */
- 868 /* frame size = 0 */
- 869 /* stack size = 0 */
- 870 .L__stack_usage = 0
- 871 0000 8091 C100 lds r24,193
- 872 0004 82FD sbrc r24,2
- 873 0006 00C0 rjmp .L150
- 874 0008 8091 C200 lds r24,194
- 875 000c 82FF sbrs r24,2
- 876 000e 00C0 rjmp .L149
- 877 0010 8091 C200 lds r24,194
- 878 0014 81FD sbrc r24,1
- 879 0016 00C0 rjmp .L151
- 880 0018 87E0 ldi r24,lo8(7)
- 881 001a 0895 ret
- 882 .L149:
- 883 001c 8091 C200 lds r24,194
- 884 0020 81FD sbrc r24,1
- 885 0022 00C0 rjmp .L152
- 886 0024 85E0 ldi r24,lo8(5)
- 887 0026 0895 ret
- 888 .L150:
- 889 0028 89E0 ldi r24,lo8(9)
- 890 002a 0895 ret
- 891 .L151:
- 892 002c 88E0 ldi r24,lo8(8)
- 893 002e 0895 ret
- 894 .L152:
- 895 0030 86E0 ldi r24,lo8(6)
- 896 0032 0895 ret
- 897 .size AvrUsartGetDataBits, .-AvrUsartGetDataBits
- 898 .section .text.AvrUsartSetDataBits,"ax",@progbits
- 899 .type AvrUsartSetDataBits, @function
- 900 AvrUsartSetDataBits:
- 901 0000 CF93 push r28
- 902 /* prologue: function */
- 903 /* frame size = 0 */
- 904 /* stack size = 1 */
- 905 .L__stack_usage = 1
- 906 0002 C82F mov r28,r24
- 907 0004 0E94 0000 call AvrUsartDisable
- 908 0008 8091 C100 lds r24,193
- 909 000c 8B7F andi r24,lo8(-5)
- 910 000e 8093 C100 sts 193,r24
- 911 0012 8091 C200 lds r24,194
- 912 0016 8D7F andi r24,lo8(-3)
- GAS LISTING /tmp/ccQmRu1i.s page 17
- 913 0018 8093 C200 sts 194,r24
- 914 001c 8091 C200 lds r24,194
- 915 0020 8B7F andi r24,lo8(-5)
- 916 0022 8093 C200 sts 194,r24
- 917 0026 C730 cpi r28,lo8(7)
- 918 0028 01F0 breq .L155
- 919 002a 00F4 brsh .L156
- 920 002c C630 cpi r28,lo8(6)
- 921 002e 01F4 brne .L154
- 922 0030 8091 C200 lds r24,194
- 923 0034 8260 ori r24,lo8(2)
- 924 0036 00C0 rjmp .L167
- 925 .L156:
- 926 0038 C830 cpi r28,lo8(8)
- 927 003a 01F0 breq .L158
- 928 003c C930 cpi r28,lo8(9)
- 929 003e 01F4 brne .L154
- 930 0040 8091 C100 lds r24,193
- 931 0044 8460 ori r24,lo8(4)
- 932 0046 8093 C100 sts 193,r24
- 933 .L158:
- 934 004a 8091 C200 lds r24,194
- 935 004e 8260 ori r24,lo8(2)
- 936 0050 8093 C200 sts 194,r24
- 937 .L155:
- 938 0054 8091 C200 lds r24,194
- 939 0058 8460 ori r24,lo8(4)
- 940 .L167:
- 941 005a 8093 C200 sts 194,r24
- 942 .L154:
- 943 005e 0E94 0000 call AvrUsartEnable
- 944 0062 0E94 0000 call AvrUsartGetDataBits
- 945 0066 21E0 ldi r18,lo8(1)
- 946 0068 30E0 ldi r19,0
- 947 006a C813 cpse r28,r24
- 948 006c 00C0 rjmp .L160
- 949 006e 20E0 ldi r18,0
- 950 0070 30E0 ldi r19,0
- 951 .L160:
- 952 0072 8827 clr r24
- 953 0074 9927 clr r25
- 954 0076 821B sub r24,r18
- 955 0078 930B sbc r25,r19
- 956 /* epilogue start */
- 957 007a CF91 pop r28
- 958 007c 0895 ret
- 959 .size AvrUsartSetDataBits, .-AvrUsartSetDataBits
- 960 .section .text.AvrUsartGetParity,"ax",@progbits
- 961 .type AvrUsartGetParity, @function
- 962 AvrUsartGetParity:
- 963 /* prologue: function */
- 964 /* frame size = 0 */
- 965 /* stack size = 0 */
- 966 .L__stack_usage = 0
- 967 0000 9091 C200 lds r25,194
- 968 0004 892F mov r24,r25
- 969 0006 8072 andi r24,lo8(32)
- GAS LISTING /tmp/ccQmRu1i.s page 18
- 970 0008 95FF sbrs r25,5
- 971 000a 00C0 rjmp .L169
- 972 000c 8091 C200 lds r24,194
- 973 0010 84FD sbrc r24,4
- 974 0012 00C0 rjmp .L170
- 975 0014 82E0 ldi r24,lo8(2)
- 976 0016 0895 ret
- 977 .L170:
- 978 0018 81E0 ldi r24,lo8(1)
- 979 .L169:
- 980 001a 0895 ret
- 981 .size AvrUsartGetParity, .-AvrUsartGetParity
- 982 .section .text.AvrUsartSetParity,"ax",@progbits
- 983 .type AvrUsartSetParity, @function
- 984 AvrUsartSetParity:
- 985 0000 CF93 push r28
- 986 /* prologue: function */
- 987 /* frame size = 0 */
- 988 /* stack size = 1 */
- 989 .L__stack_usage = 1
- 990 0002 C82F mov r28,r24
- 991 0004 0E94 0000 call AvrUsartDisable
- 992 0008 C130 cpi r28,lo8(1)
- 993 000a 01F0 breq .L176
- 994 000c 00F0 brlo .L177
- 995 000e C230 cpi r28,lo8(2)
- 996 0010 01F4 brne .L175
- 997 0012 8091 C200 lds r24,194
- 998 0016 8F7E andi r24,lo8(-17)
- 999 0018 00C0 rjmp .L181
- 1000 .L177:
- 1001 001a 8091 C200 lds r24,194
- 1002 001e 8F7E andi r24,lo8(-17)
- 1003 0020 8093 C200 sts 194,r24
- 1004 0024 8091 C200 lds r24,194
- 1005 0028 8F7D andi r24,lo8(-33)
- 1006 002a 00C0 rjmp .L180
- 1007 .L176:
- 1008 002c 8091 C200 lds r24,194
- 1009 0030 8061 ori r24,lo8(16)
- 1010 .L181:
- 1011 0032 8093 C200 sts 194,r24
- 1012 0036 8091 C200 lds r24,194
- 1013 003a 8062 ori r24,lo8(32)
- 1014 .L180:
- 1015 003c 8093 C200 sts 194,r24
- 1016 .L175:
- 1017 0040 0E94 0000 call AvrUsartEnable
- 1018 0044 0E94 0000 call AvrUsartGetParity
- 1019 0048 21E0 ldi r18,lo8(1)
- 1020 004a 30E0 ldi r19,0
- 1021 004c C813 cpse r28,r24
- 1022 004e 00C0 rjmp .L179
- 1023 0050 20E0 ldi r18,0
- 1024 0052 30E0 ldi r19,0
- 1025 .L179:
- 1026 0054 8827 clr r24
- GAS LISTING /tmp/ccQmRu1i.s page 19
- 1027 0056 9927 clr r25
- 1028 0058 821B sub r24,r18
- 1029 005a 930B sbc r25,r19
- 1030 /* epilogue start */
- 1031 005c CF91 pop r28
- 1032 005e 0895 ret
- 1033 .size AvrUsartSetParity, .-AvrUsartSetParity
- 1034 .section .text.AvrUsartGetClockMode,"ax",@progbits
- 1035 .type AvrUsartGetClockMode, @function
- 1036 AvrUsartGetClockMode:
- 1037 /* prologue: function */
- 1038 /* frame size = 0 */
- 1039 /* stack size = 0 */
- 1040 .L__stack_usage = 0
- 1041 0000 8091 C200 lds r24,194
- 1042 0004 86FF sbrs r24,6
- 1043 0006 00C0 rjmp .L183
- 1044 0008 6A9B sbis 0xd,2
- 1045 000a 00C0 rjmp .L186
- 1046 000c 83E0 ldi r24,lo8(3)
- 1047 000e 00C0 rjmp .L184
- 1048 .L186:
- 1049 0010 81E0 ldi r24,lo8(1)
- 1050 .L184:
- 1051 0012 9091 C200 lds r25,194
- 1052 0016 90FF sbrs r25,0
- 1053 0018 00C0 rjmp .L185
- 1054 001a 8460 ori r24,lo8(4)
- 1055 001c 0895 ret
- 1056 .L183:
- 1057 001e 8091 C000 lds r24,192
- 1058 0022 81FF sbrs r24,1
- 1059 0024 00C0 rjmp .L187
- 1060 0026 80E2 ldi r24,lo8(32)
- 1061 0028 0895 ret
- 1062 .L187:
- 1063 002a 80E0 ldi r24,0
- 1064 .L185:
- 1065 002c 0895 ret
- 1066 .size AvrUsartGetClockMode, .-AvrUsartGetClockMode
- 1067 .section .text.AvrUsartSetClockMode,"ax",@progbits
- 1068 .type AvrUsartSetClockMode, @function
- 1069 AvrUsartSetClockMode:
- 1070 0000 CF93 push r28
- 1071 /* prologue: function */
- 1072 /* frame size = 0 */
- 1073 /* stack size = 1 */
- 1074 .L__stack_usage = 1
- 1075 0002 C82F mov r28,r24
- 1076 0004 0E94 0000 call AvrUsartDisable
- 1077 0008 C0FF sbrs r28,0
- 1078 000a 00C0 rjmp .L192
- 1079 000c C1FF sbrs r28,1
- 1080 000e 00C0 rjmp .L193
- 1081 0010 6A9A sbi 0xd,2
- 1082 0012 00C0 rjmp .L194
- 1083 .L193:
- GAS LISTING /tmp/ccQmRu1i.s page 20
- 1084 0014 6A98 cbi 0xd,2
- 1085 .L194:
- 1086 0016 8091 C200 lds r24,194
- 1087 001a C2FF sbrs r28,2
- 1088 001c 00C0 rjmp .L195
- 1089 001e 8160 ori r24,lo8(1)
- 1090 0020 00C0 rjmp .L201
- 1091 .L195:
- 1092 0022 8E7F andi r24,lo8(-2)
- 1093 .L201:
- 1094 0024 8093 C200 sts 194,r24
- 1095 0028 8091 C000 lds r24,192
- 1096 002c 8D7F andi r24,lo8(-3)
- 1097 002e 8093 C000 sts 192,r24
- 1098 0032 8091 C200 lds r24,194
- 1099 0036 8064 ori r24,lo8(64)
- 1100 0038 00C0 rjmp .L203
- 1101 .L192:
- 1102 003a 8091 C000 lds r24,192
- 1103 003e C5FF sbrs r28,5
- 1104 0040 00C0 rjmp .L198
- 1105 0042 8260 ori r24,lo8(2)
- 1106 0044 00C0 rjmp .L202
- 1107 .L198:
- 1108 0046 8D7F andi r24,lo8(-3)
- 1109 .L202:
- 1110 0048 8093 C000 sts 192,r24
- 1111 004c 8091 C200 lds r24,194
- 1112 0050 8E7F andi r24,lo8(-2)
- 1113 0052 8093 C200 sts 194,r24
- 1114 0056 8091 C200 lds r24,194
- 1115 005a 8F7B andi r24,lo8(-65)
- 1116 .L203:
- 1117 005c 8093 C200 sts 194,r24
- 1118 0060 0E94 0000 call AvrUsartEnable
- 1119 0064 0E94 0000 call AvrUsartGetClockMode
- 1120 0068 21E0 ldi r18,lo8(1)
- 1121 006a 30E0 ldi r19,0
- 1122 006c C813 cpse r28,r24
- 1123 006e 00C0 rjmp .L200
- 1124 0070 20E0 ldi r18,0
- 1125 0072 30E0 ldi r19,0
- 1126 .L200:
- 1127 0074 8827 clr r24
- 1128 0076 9927 clr r25
- 1129 0078 821B sub r24,r18
- 1130 007a 930B sbc r25,r19
- 1131 /* epilogue start */
- 1132 007c CF91 pop r28
- 1133 007e 0895 ret
- 1134 .size AvrUsartSetClockMode, .-AvrUsartSetClockMode
- 1135 .section .text.AvrUsartRxStart,"ax",@progbits
- 1136 .type AvrUsartRxStart, @function
- 1137 AvrUsartRxStart:
- 1138 /* prologue: function */
- 1139 /* frame size = 0 */
- 1140 /* stack size = 0 */
- GAS LISTING /tmp/ccQmRu1i.s page 21
- 1141 .L__stack_usage = 0
- 1142 0000 8091 0000 lds r24,flow_control
- 1143 0004 8823 tst r24
- 1144 0006 01F0 breq .L204
- 1145 0008 86FF sbrs r24,6
- 1146 000a 00C0 rjmp .L204
- 1147 /* #APP */
- 1148 ; 1249 "../../nut/arch/avr/dev/usartavr.c" 1
- 1149 000c 0FB6 in __tmp_reg__, __SREG__
- 1150 000e F894 cli
- 1151 0010 0F92 push __tmp_reg__
- 1152
- 1153 ; 0 "" 2
- 1154 /* #NOAPP */
- 1155 0012 9091 C000 lds r25,192
- 1156 0016 95FF sbrs r25,5
- 1157 0018 00C0 rjmp .L206
- 1158 001a 81E1 ldi r24,lo8(17)
- 1159 001c 8093 C600 sts 198,r24
- 1160 0020 8091 0000 lds r24,flow_control
- 1161 0024 8F7E andi r24,lo8(-17)
- 1162 0026 00C0 rjmp .L214
- 1163 .L206:
- 1164 0028 8061 ori r24,lo8(16)
- 1165 .L214:
- 1166 002a 8093 0000 sts flow_control,r24
- 1167 002e 8091 0000 lds r24,flow_control
- 1168 0032 8F79 andi r24,lo8(-97)
- 1169 0034 8093 0000 sts flow_control,r24
- 1170 /* #APP */
- 1171 ; 1257 "../../nut/arch/avr/dev/usartavr.c" 1
- 1172 0038 0F90 pop __tmp_reg__
- 1173 003a 0FBE out __SREG__, __tmp_reg__
- 1174
- 1175 ; 0 "" 2
- 1176 /* #NOAPP */
- 1177 .L204:
- 1178 003c 0895 ret
- 1179 .size AvrUsartRxStart, .-AvrUsartRxStart
- 1180 .section .text.AvrUsartInit,"ax",@progbits
- 1181 .type AvrUsartInit, @function
- 1182 AvrUsartInit:
- 1183 /* prologue: function */
- 1184 /* frame size = 0 */
- 1185 /* stack size = 0 */
- 1186 .L__stack_usage = 0
- 1187 0000 40E0 ldi r20,lo8(dcb_usart0+40)
- 1188 0002 50E0 ldi r21,hi8(dcb_usart0+40)
- 1189 0004 60E0 ldi r22,lo8(gs(AvrUsartRxComplete))
- 1190 0006 70E0 ldi r23,hi8(gs(AvrUsartRxComplete))
- 1191 0008 80E0 ldi r24,lo8(sig_UART0_RECV)
- 1192 000a 90E0 ldi r25,hi8(sig_UART0_RECV)
- 1193 000c 0E94 0000 call NutRegisterIrqHandler
- 1194 0010 892B or r24,r25
- 1195 0012 01F4 brne .L217
- 1196 0014 40E0 ldi r20,lo8(dcb_usart0+16)
- 1197 0016 50E0 ldi r21,hi8(dcb_usart0+16)
- GAS LISTING /tmp/ccQmRu1i.s page 22
- 1198 0018 60E0 ldi r22,lo8(gs(AvrUsartTxEmpty))
- 1199 001a 70E0 ldi r23,hi8(gs(AvrUsartTxEmpty))
- 1200 001c 80E0 ldi r24,lo8(sig_UART0_DATA)
- 1201 001e 90E0 ldi r25,hi8(sig_UART0_DATA)
- 1202 0020 0E94 0000 call NutRegisterIrqHandler
- 1203 0024 0097 sbiw r24,0
- 1204 0026 01F0 breq .L216
- 1205 0028 40E0 ldi r20,0
- 1206 002a 50E0 ldi r21,0
- 1207 002c 60E0 ldi r22,0
- 1208 002e 70E0 ldi r23,0
- 1209 0030 80E0 ldi r24,lo8(sig_UART0_RECV)
- 1210 0032 90E0 ldi r25,hi8(sig_UART0_RECV)
- 1211 0034 0E94 0000 call NutRegisterIrqHandler
- 1212 .L217:
- 1213 0038 8FEF ldi r24,lo8(-1)
- 1214 003a 9FEF ldi r25,lo8(-1)
- 1215 .L216:
- 1216 003c 0895 ret
- 1217 .size AvrUsartInit, .-AvrUsartInit
- 1218 .local tx_aframe
- 1219 .comm tx_aframe,1,1
- 1220 .local flow_control
- 1221 .comm flow_control,1,1
- 1222 .local rx_errors
- 1223 .comm rx_errors,1,1
- 1224 .global devUsartAvr0
- 1225 .data
- 1226 .type devUsartAvr0, @object
- 1227 .size devUsartAvr0, 37
- 1228 devUsartAvr0:
- 1229 0000 0000 .word 0
- 1230 0002 75 .byte 117
- 1231 0003 61 .byte 97
- 1232 0004 72 .byte 114
- 1233 0005 74 .byte 116
- 1234 0006 30 .byte 48
- 1235 0007 00 .byte 0
- 1236 0008 00 .byte 0
- 1237 0009 00 .byte 0
- 1238 000a 00 .byte 0
- 1239 000b 05 .byte 5
- 1240 000c 0000 .word 0
- 1241 000e 00 .byte 0
- 1242 000f 0000 .word 0
- 1243 0011 0000 .word dcb_usart0
- 1244 0013 0000 .word gs(UsartInit)
- 1245 0015 0000 .word gs(UsartIOCtl)
- 1246 0017 0000 .word gs(UsartRead)
- 1247 0019 0000 .word gs(UsartWrite)
- 1248 001b 0000 .word gs(UsartWrite_P)
- 1249 001d 0000 .word gs(UsartOpen)
- 1250 001f 0000 .word gs(UsartClose)
- 1251 0021 0000 .word gs(UsartSize)
- 1252 0023 0000 .word gs(UsartSelect)
- 1253 .type dcb_usart0, @object
- 1254 .size dcb_usart0, 101
- GAS LISTING /tmp/ccQmRu1i.s page 23
- 1255 dcb_usart0:
- 1256 0025 00 .byte 0
- 1257 0026 00 .byte 0
- 1258 0027 00 .byte 0
- 1259 0028 00 .byte 0
- 1260 0029 00 .byte 0
- 1261 002a 00 .byte 0
- 1262 002b 00 .byte 0
- 1263 002c 00 .byte 0
- 1264 002d 00 .byte 0
- 1265 002e 00 .byte 0
- 1266 002f 00 .byte 0
- 1267 0030 00 .byte 0
- 1268 0031 00 .byte 0
- 1269 0032 00 .byte 0
- 1270 0033 00 .byte 0
- 1271 0034 00 .byte 0
- 1272 0035 0000 .word 0
- 1273 0037 0000 .word 0
- 1274 0039 0000 .word 0
- 1275 003b 0000 .word 0
- 1276 003d 0000 .word 0
- 1277 003f 0000 .word 0
- 1278 0041 0000 .word 0
- 1279 0043 0000 .word 0
- 1280 0045 0000 0000 .zero 8
- 1280 0000 0000
- 1281 004d 0000 .word 0
- 1282 004f 0000 .word 0
- 1283 0051 0000 .word 0
- 1284 0053 0000 .word 0
- 1285 0055 0000 .word 0
- 1286 0057 0000 .word 0
- 1287 0059 0000 .word 0
- 1288 005b 0000 .word 0
- 1289 005d 0000 0000 .zero 8
- 1289 0000 0000
- 1290 0065 00 .byte 0
- 1291 0066 0000 .word gs(AvrUsartInit)
- 1292 0068 0000 .word gs(AvrUsartDeinit)
- 1293 006a 0000 .word gs(AvrUsartTxStart)
- 1294 006c 0000 .word gs(AvrUsartRxStart)
- 1295 006e 0000 .word gs(AvrUsartSetFlowControl)
- 1296 0070 0000 .word gs(AvrUsartGetFlowControl)
- 1297 0072 0000 .word gs(AvrUsartSetSpeed)
- 1298 0074 0000 .word gs(AvrUsartGetSpeed)
- 1299 0076 0000 .word gs(AvrUsartSetDataBits)
- 1300 0078 0000 .word gs(AvrUsartGetDataBits)
- 1301 007a 0000 .word gs(AvrUsartSetParity)
- 1302 007c 0000 .word gs(AvrUsartGetParity)
- 1303 007e 0000 .word gs(AvrUsartSetStopBits)
- 1304 0080 0000 .word gs(AvrUsartGetStopBits)
- 1305 0082 0000 .word gs(AvrUsartSetStatus)
- 1306 0084 0000 .word gs(AvrUsartGetStatus)
- 1307 0086 0000 .word gs(AvrUsartSetClockMode)
- 1308 0088 0000 .word gs(AvrUsartGetClockMode)
- 1309 .ident "GCC: (GNU) 5.3.0"
- GAS LISTING /tmp/ccQmRu1i.s page 24
- 1310 .global __do_copy_data
- 1311 .global __do_clear_bss
- GAS LISTING /tmp/ccQmRu1i.s page 25
- DEFINED SYMBOLS
- *ABS*:0000000000000000 usart0avr.c
- /tmp/ccQmRu1i.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccQmRu1i.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccQmRu1i.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccQmRu1i.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccQmRu1i.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccQmRu1i.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccQmRu1i.s:10 .text.AvrUsartEnable:0000000000000000 AvrUsartEnable
- /tmp/ccQmRu1i.s:36 .text.AvrUsartGetStopBits:0000000000000000 AvrUsartGetStopBits
- /tmp/ccQmRu1i.s:52 .text.AvrUsartGetStatus:0000000000000000 AvrUsartGetStatus
- /tmp/ccQmRu1i.s:1221 .bss:0000000000000002 rx_errors
- /tmp/ccQmRu1i.s:1219 .bss:0000000000000001 flow_control
- .bss:0000000000000000 tx_aframe
- /tmp/ccQmRu1i.s:106 .text.AvrUsartSetStatus:0000000000000000 AvrUsartSetStatus
- /tmp/ccQmRu1i.s:225 .text.AvrUsartGetFlowControl:0000000000000000 AvrUsartGetFlowControl
- /tmp/ccQmRu1i.s:246 .text.AvrUsartSetFlowControl:0000000000000000 AvrUsartSetFlowControl
- /tmp/ccQmRu1i.s:316 .text.AvrUsartTxStart:0000000000000000 AvrUsartTxStart
- /tmp/ccQmRu1i.s:330 .text.AvrUsartDisable:0000000000000000 AvrUsartDisable
- /tmp/ccQmRu1i.s:378 .text.AvrUsartSetStopBits:0000000000000000 AvrUsartSetStopBits
- /tmp/ccQmRu1i.s:418 .text.AvrUsartGetSpeed:0000000000000000 AvrUsartGetSpeed
- /tmp/ccQmRu1i.s:501 .text.AvrUsartSetSpeed:0000000000000000 AvrUsartSetSpeed
- /tmp/ccQmRu1i.s:586 .text.AvrUsartDeinit:0000000000000000 AvrUsartDeinit
- /tmp/ccQmRu1i.s:611 .text.AvrUsartTxEmpty:0000000000000000 AvrUsartTxEmpty
- /tmp/ccQmRu1i.s:729 .text.AvrUsartRxComplete:0000000000000000 AvrUsartRxComplete
- /tmp/ccQmRu1i.s:866 .text.AvrUsartGetDataBits:0000000000000000 AvrUsartGetDataBits
- /tmp/ccQmRu1i.s:900 .text.AvrUsartSetDataBits:0000000000000000 AvrUsartSetDataBits
- /tmp/ccQmRu1i.s:962 .text.AvrUsartGetParity:0000000000000000 AvrUsartGetParity
- /tmp/ccQmRu1i.s:984 .text.AvrUsartSetParity:0000000000000000 AvrUsartSetParity
- /tmp/ccQmRu1i.s:1036 .text.AvrUsartGetClockMode:0000000000000000 AvrUsartGetClockMode
- /tmp/ccQmRu1i.s:1069 .text.AvrUsartSetClockMode:0000000000000000 AvrUsartSetClockMode
- /tmp/ccQmRu1i.s:1137 .text.AvrUsartRxStart:0000000000000000 AvrUsartRxStart
- /tmp/ccQmRu1i.s:1182 .text.AvrUsartInit:0000000000000000 AvrUsartInit
- /tmp/ccQmRu1i.s:1255 .data:0000000000000025 dcb_usart0
- /tmp/ccQmRu1i.s:1228 .data:0000000000000000 devUsartAvr0
- UNDEFINED SYMBOLS
- NutDelay
- NutGetCpuClock
- __mulsi3
- __udivmodsi4
- sig_UART0_RECV
- NutRegisterIrqHandler
- sig_UART0_DATA
- NutSelectWakeupFromIrq
- UsartInit
- UsartIOCtl
- UsartRead
- UsartWrite
- UsartWrite_P
- UsartOpen
- UsartClose
- UsartSize
- UsartSelect
- __do_copy_data
- __do_clear_bss
|