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