| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- GAS LISTING /tmp/ccdqneNU.s page 1
- 1 .file "open.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._open,"ax",@progbits
- 9 .global _open
- 10 .type _open, @function
- 11 _open:
- 12 0000 AF92 push r10
- 13 0002 BF92 push r11
- 14 0004 CF92 push r12
- 15 0006 DF92 push r13
- 16 0008 EF92 push r14
- 17 000a FF92 push r15
- 18 000c 0F93 push r16
- 19 000e 1F93 push r17
- 20 0010 CF93 push r28
- 21 0012 DF93 push r29
- 22 0014 CDB7 in r28,__SP_L__
- 23 0016 DEB7 in r29,__SP_H__
- 24 0018 2997 sbiw r28,9
- 25 001a 0FB6 in __tmp_reg__,__SREG__
- 26 001c F894 cli
- 27 001e DEBF out __SP_H__,r29
- 28 0020 0FBE out __SREG__,__tmp_reg__
- 29 0022 CDBF out __SP_L__,r28
- 30 /* prologue: function */
- 31 /* frame size = 9 */
- 32 /* stack size = 19 */
- 33 .L__stack_usage = 19
- 34 0024 5B01 movw r10,r22
- 35 0026 FC01 movw r30,r24
- 36 0028 DE01 movw r26,r28
- 37 002a 1196 adiw r26,1
- 38 002c 90E0 ldi r25,0
- 39 002e AD01 movw r20,r26
- 40 .L2:
- 41 0030 6F01 movw r12,r30
- 42 0032 2191 ld r18,Z+
- 43 0034 2223 tst r18
- 44 0036 01F0 breq .L3
- 45 0038 2A33 cpi r18,lo8(58)
- 46 003a 01F0 breq .L3
- 47 003c 9830 cpi r25,lo8(8)
- 48 003e 01F0 breq .L3
- 49 0040 2D93 st X+,r18
- 50 0042 9F5F subi r25,lo8(-(1))
- 51 0044 00C0 rjmp .L2
- 52 .L3:
- 53 0046 FA01 movw r30,r20
- 54 0048 E90F add r30,r25
- 55 004a F11D adc r31,__zero_reg__
- 56 004c 1082 st Z,__zero_reg__
- 57 004e CA01 movw r24,r20
- GAS LISTING /tmp/ccdqneNU.s page 2
- 58 0050 0E94 0000 call NutDeviceLookup
- 59 0054 0097 sbiw r24,0
- 60 0056 01F4 brne .L5
- 61 0058 82E0 ldi r24,lo8(2)
- 62 005a 90E0 ldi r25,0
- 63 005c 00C0 rjmp .L19
- 64 .L5:
- 65 005e E0E0 ldi r30,lo8(__fds)
- 66 0060 F0E0 ldi r31,hi8(__fds)
- 67 0062 E12C mov r14,__zero_reg__
- 68 0064 F12C mov r15,__zero_reg__
- 69 .L7:
- 70 0066 2191 ld r18,Z+
- 71 0068 3191 ld r19,Z+
- 72 006a 232B or r18,r19
- 73 006c 01F0 breq .L22
- 74 006e 2FEF ldi r18,-1
- 75 0070 E21A sub r14,r18
- 76 0072 F20A sbc r15,r18
- 77 0074 A8E0 ldi r26,8
- 78 0076 EA16 cp r14,r26
- 79 0078 F104 cpc r15,__zero_reg__
- 80 007a 01F4 brne .L7
- 81 007c 88E1 ldi r24,lo8(24)
- 82 007e 90E0 ldi r25,0
- 83 .L19:
- 84 0080 9093 0000 sts errno+1,r25
- 85 0084 8093 0000 sts errno,r24
- 86 .L20:
- 87 0088 8FEF ldi r24,lo8(-1)
- 88 008a 9FEF ldi r25,lo8(-1)
- 89 008c 00C0 rjmp .L6
- 90 .L22:
- 91 008e 8701 movw r16,r14
- 92 0090 000F lsl r16
- 93 0092 111F rol r17
- 94 0094 F801 movw r30,r16
- 95 0096 E050 subi r30,lo8(-(__fds))
- 96 0098 F040 sbci r31,hi8(-(__fds))
- 97 009a 2FEF ldi r18,lo8(-1)
- 98 009c 3FEF ldi r19,lo8(-1)
- 99 009e 3183 std Z+1,r19
- 100 00a0 2083 st Z,r18
- 101 00a2 F601 movw r30,r12
- 102 00a4 2081 ld r18,Z
- 103 00a6 2A33 cpi r18,lo8(58)
- 104 00a8 01F4 brne .L11
- 105 00aa B601 movw r22,r12
- 106 00ac 6F5F subi r22,-1
- 107 00ae 7F4F sbci r23,-1
- 108 00b0 00C0 rjmp .L9
- 109 .L11:
- 110 00b2 60E0 ldi r22,0
- 111 00b4 70E0 ldi r23,0
- 112 .L9:
- 113 00b6 DC01 movw r26,r24
- 114 00b8 5D96 adiw r26,29
- GAS LISTING /tmp/ccdqneNU.s page 3
- 115 00ba ED91 ld r30,X+
- 116 00bc FC91 ld r31,X
- 117 00be 5E97 sbiw r26,29+1
- 118 00c0 20E0 ldi r18,0
- 119 00c2 30E0 ldi r19,0
- 120 00c4 A501 movw r20,r10
- 121 00c6 1995 eicall
- 122 00c8 F801 movw r30,r16
- 123 00ca E050 subi r30,lo8(-(__fds))
- 124 00cc F040 sbci r31,hi8(-(__fds))
- 125 00ce 8F3F cpi r24,-1
- 126 00d0 BFEF ldi r27,-1
- 127 00d2 9B07 cpc r25,r27
- 128 00d4 01F4 brne .L10
- 129 00d6 1182 std Z+1,__zero_reg__
- 130 00d8 1082 st Z,__zero_reg__
- 131 00da 00C0 rjmp .L20
- 132 .L10:
- 133 00dc 9183 std Z+1,r25
- 134 00de 8083 st Z,r24
- 135 00e0 C701 movw r24,r14
- 136 .L6:
- 137 /* epilogue start */
- 138 00e2 2996 adiw r28,9
- 139 00e4 0FB6 in __tmp_reg__,__SREG__
- 140 00e6 F894 cli
- 141 00e8 DEBF out __SP_H__,r29
- 142 00ea 0FBE out __SREG__,__tmp_reg__
- 143 00ec CDBF out __SP_L__,r28
- 144 00ee DF91 pop r29
- 145 00f0 CF91 pop r28
- 146 00f2 1F91 pop r17
- 147 00f4 0F91 pop r16
- 148 00f6 FF90 pop r15
- 149 00f8 EF90 pop r14
- 150 00fa DF90 pop r13
- 151 00fc CF90 pop r12
- 152 00fe BF90 pop r11
- 153 0100 AF90 pop r10
- 154 0102 0895 ret
- 155 .size _open, .-_open
- 156 .global __fds
- 157 .section .bss
- 158 .type __fds, @object
- 159 .size __fds, 16
- 160 __fds:
- 161 0000 0000 0000 .zero 16
- 161 0000 0000
- 161 0000 0000
- 161 0000 0000
- 162 .ident "GCC: (GNU) 5.3.0"
- 163 .global __do_clear_bss
- GAS LISTING /tmp/ccdqneNU.s page 4
- DEFINED SYMBOLS
- *ABS*:0000000000000000 open.c
- /tmp/ccdqneNU.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccdqneNU.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccdqneNU.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccdqneNU.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccdqneNU.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccdqneNU.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccdqneNU.s:11 .text._open:0000000000000000 _open
- /tmp/ccdqneNU.s:160 .bss:0000000000000000 __fds
- UNDEFINED SYMBOLS
- NutDeviceLookup
- errno
- __do_clear_bss
|