| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- GAS LISTING /tmp/ccxp6UuW.s page 1
- 1 .file "devreg.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.NutDeviceLookup,"ax",@progbits
- 9 .global NutDeviceLookup
- 10 .type NutDeviceLookup, @function
- 11 NutDeviceLookup:
- 12 0000 0F93 push r16
- 13 0002 1F93 push r17
- 14 0004 CF93 push r28
- 15 0006 DF93 push r29
- 16 /* prologue: function */
- 17 /* frame size = 0 */
- 18 /* stack size = 4 */
- 19 .L__stack_usage = 4
- 20 0008 8C01 movw r16,r24
- 21 000a C091 0000 lds r28,nutDeviceList
- 22 000e D091 0000 lds r29,nutDeviceList+1
- 23 .L2:
- 24 0012 2097 sbiw r28,0
- 25 0014 01F0 breq .L3
- 26 0016 B801 movw r22,r16
- 27 0018 CE01 movw r24,r28
- 28 001a 0296 adiw r24,2
- 29 001c 0E94 0000 call strcmp
- 30 0020 892B or r24,r25
- 31 0022 01F0 breq .L3
- 32 0024 0990 ld __tmp_reg__,Y+
- 33 0026 D881 ld r29,Y
- 34 0028 C02D mov r28,__tmp_reg__
- 35 002a 00C0 rjmp .L2
- 36 .L3:
- 37 002c CE01 movw r24,r28
- 38 /* epilogue start */
- 39 002e DF91 pop r29
- 40 0030 CF91 pop r28
- 41 0032 1F91 pop r17
- 42 0034 0F91 pop r16
- 43 0036 0895 ret
- 44 .size NutDeviceLookup, .-NutDeviceLookup
- 45 .section .text.NutDeviceLookupType,"ax",@progbits
- 46 .global NutDeviceLookupType
- 47 .type NutDeviceLookupType, @function
- 48 NutDeviceLookupType:
- 49 /* prologue: function */
- 50 /* frame size = 0 */
- 51 /* stack size = 0 */
- 52 .L__stack_usage = 0
- 53 0000 0097 sbiw r24,0
- 54 0002 01F4 brne .L10
- 55 0004 8091 0000 lds r24,nutDeviceList
- 56 0008 9091 0000 lds r25,nutDeviceList+1
- 57 000c 00C0 rjmp .L12
- GAS LISTING /tmp/ccxp6UuW.s page 2
- 58 .L10:
- 59 000e FC01 movw r30,r24
- 60 0010 00C0 rjmp .L15
- 61 .L12:
- 62 0012 0097 sbiw r24,0
- 63 0014 01F0 breq .L13
- 64 0016 FC01 movw r30,r24
- 65 0018 2385 ldd r18,Z+11
- 66 001a 2617 cp r18,r22
- 67 001c 01F0 breq .L13
- 68 .L15:
- 69 001e 8081 ld r24,Z
- 70 0020 9181 ldd r25,Z+1
- 71 0022 00C0 rjmp .L12
- 72 .L13:
- 73 0024 0895 ret
- 74 .size NutDeviceLookupType, .-NutDeviceLookupType
- 75 .section .text.NutRegisterDevice,"ax",@progbits
- 76 .global NutRegisterDevice
- 77 .type NutRegisterDevice, @function
- 78 NutRegisterDevice:
- 79 0000 CF93 push r28
- 80 0002 DF93 push r29
- 81 /* prologue: function */
- 82 /* frame size = 0 */
- 83 /* stack size = 2 */
- 84 .L__stack_usage = 2
- 85 0004 EC01 movw r28,r24
- 86 0006 6115 cp r22,__zero_reg__
- 87 0008 7105 cpc r23,__zero_reg__
- 88 000a 01F0 breq .L17
- 89 000c 7D87 std Y+13,r23
- 90 000e 6C87 std Y+12,r22
- 91 .L17:
- 92 0010 4111 cpse r20,__zero_reg__
- 93 0012 4E87 std Y+14,r20
- 94 .L18:
- 95 0014 CE01 movw r24,r28
- 96 0016 0296 adiw r24,2
- 97 0018 0E94 0000 call NutDeviceLookup
- 98 001c 892B or r24,r25
- 99 001e 01F0 breq .L19
- 100 .L23:
- 101 0020 8FEF ldi r24,lo8(-1)
- 102 0022 9FEF ldi r25,lo8(-1)
- 103 0024 00C0 rjmp .L20
- 104 .L19:
- 105 0026 EB89 ldd r30,Y+19
- 106 0028 FC89 ldd r31,Y+20
- 107 002a 3097 sbiw r30,0
- 108 002c 01F4 brne .L21
- 109 .L22:
- 110 002e 8091 0000 lds r24,nutDeviceList
- 111 0032 9091 0000 lds r25,nutDeviceList+1
- 112 0036 9983 std Y+1,r25
- 113 0038 8883 st Y,r24
- 114 003a D093 0000 sts nutDeviceList+1,r29
- GAS LISTING /tmp/ccxp6UuW.s page 3
- 115 003e C093 0000 sts nutDeviceList,r28
- 116 0042 80E0 ldi r24,0
- 117 0044 90E0 ldi r25,0
- 118 0046 00C0 rjmp .L20
- 119 .L21:
- 120 0048 CE01 movw r24,r28
- 121 004a 1995 eicall
- 122 004c 892B or r24,r25
- 123 004e 01F0 breq .L22
- 124 0050 00C0 rjmp .L23
- 125 .L20:
- 126 /* epilogue start */
- 127 0052 DF91 pop r29
- 128 0054 CF91 pop r28
- 129 0056 0895 ret
- 130 .size NutRegisterDevice, .-NutRegisterDevice
- 131 .global nutDeviceList
- 132 .section .bss
- 133 .type nutDeviceList, @object
- 134 .size nutDeviceList, 2
- 135 nutDeviceList:
- 136 0000 0000 .zero 2
- 137 .ident "GCC: (GNU) 5.3.0"
- 138 .global __do_clear_bss
- GAS LISTING /tmp/ccxp6UuW.s page 4
- DEFINED SYMBOLS
- *ABS*:0000000000000000 devreg.c
- /tmp/ccxp6UuW.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccxp6UuW.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccxp6UuW.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccxp6UuW.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccxp6UuW.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccxp6UuW.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccxp6UuW.s:11 .text.NutDeviceLookup:0000000000000000 NutDeviceLookup
- /tmp/ccxp6UuW.s:135 .bss:0000000000000000 nutDeviceList
- /tmp/ccxp6UuW.s:48 .text.NutDeviceLookupType:0000000000000000 NutDeviceLookupType
- /tmp/ccxp6UuW.s:78 .text.NutRegisterDevice:0000000000000000 NutRegisterDevice
- UNDEFINED SYMBOLS
- strcmp
- __do_clear_bss
|