| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231 |
- GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s page 1
- 1 .file "uart0driver.c"
- 2 .arch atmega2561
- 3 __SREG__ = 0x3f
- 4 __SP_H__ = 0x3e
- 5 __SP_L__ = 0x3d
- 6 __tmp_reg__ = 0
- 7 __zero_reg__ = 1
- 8 .global __do_copy_data
- 9 .global __do_clear_bss
- 10 .text
- 11 .global Uart0DriverGetStream
- 12 .type Uart0DriverGetStream, @function
- 13 Uart0DriverGetStream:
- 14 /* prologue: frame size=0 */
- 15 /* prologue end (size=0) */
- 16 0000 8091 0000 lds r24,stream
- 17 0004 9091 0000 lds r25,(stream)+1
- 18 /* epilogue: frame size=0 */
- 19 0008 0895 ret
- 20 /* epilogue end (size=1) */
- 21 /* function Uart0DriverGetStream size 5 (4) */
- 22 .size Uart0DriverGetStream, .-Uart0DriverGetStream
- 23 .global Uart0DriverStop
- 24 .type Uart0DriverStop, @function
- 25 Uart0DriverStop:
- 26 /* prologue: frame size=0 */
- 27 /* prologue end (size=0) */
- 28 000a 8091 0000 lds r24,stream
- 29 000e 9091 0000 lds r25,(stream)+1
- 30 0012 0097 sbiw r24,0
- 31 0014 01F0 breq .L6
- 32 0016 0E94 0000 call fclose
- 33 001a 1092 0000 sts (stream)+1,__zero_reg__
- 34 001e 1092 0000 sts stream,__zero_reg__
- 35 .L6:
- 36 0022 0895 ret
- 37 /* epilogue: frame size=0 */
- 38 /* epilogue: noreturn */
- 39 /* epilogue end (size=0) */
- 40 /* function Uart0DriverStop size 13 (13) */
- 41 .size Uart0DriverStop, .-Uart0DriverStop
- 42 .global Uart0DriverSetCookedMode
- 43 .type Uart0DriverSetCookedMode, @function
- 44 Uart0DriverSetCookedMode:
- 45 /* prologue: frame size=4 */
- 46 0024 CF93 push r28
- 47 0026 DF93 push r29
- 48 0028 CDB7 in r28,__SP_L__
- 49 002a DEB7 in r29,__SP_H__
- 50 002c 2497 sbiw r28,4
- 51 002e 0FB6 in __tmp_reg__,__SREG__
- 52 0030 F894 cli
- 53 0032 DEBF out __SP_H__,r29
- 54 0034 0FBE out __SREG__,__tmp_reg__
- 55 0036 CDBF out __SP_L__,r28
- 56 /* prologue end (size=10) */
- 57 0038 6983 std Y+1,r22
- GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s page 2
- 58 003a 7A83 std Y+2,r23
- 59 003c 8B83 std Y+3,r24
- 60 003e 9C83 std Y+4,r25
- 61 0040 8091 0000 lds r24,stream
- 62 0044 9091 0000 lds r25,(stream)+1
- 63 0048 0E94 0000 call _fileno
- 64 004c AE01 movw r20,r28
- 65 004e 4F5F subi r20,lo8(-(1))
- 66 0050 5F4F sbci r21,hi8(-(1))
- 67 0052 63E1 ldi r22,lo8(275)
- 68 0054 71E0 ldi r23,hi8(275)
- 69 0056 0E94 0000 call _ioctl
- 70 /* epilogue: frame size=4 */
- 71 005a 2496 adiw r28,4
- 72 005c 0FB6 in __tmp_reg__,__SREG__
- 73 005e F894 cli
- 74 0060 DEBF out __SP_H__,r29
- 75 0062 0FBE out __SREG__,__tmp_reg__
- 76 0064 CDBF out __SP_L__,r28
- 77 0066 DF91 pop r29
- 78 0068 CF91 pop r28
- 79 006a 0895 ret
- 80 /* epilogue end (size=9) */
- 81 /* function Uart0DriverSetCookedMode size 36 (17) */
- 82 .size Uart0DriverSetCookedMode, .-Uart0DriverSetCookedMode
- 83 .global Uart0DriverStart
- 84 .type Uart0DriverStart, @function
- 85 Uart0DriverStart:
- 86 /* prologue: frame size=13 */
- 87 006c EF92 push r14
- 88 006e FF92 push r15
- 89 0070 0F93 push r16
- 90 0072 1F93 push r17
- 91 0074 CF93 push r28
- 92 0076 DF93 push r29
- 93 0078 CDB7 in r28,__SP_L__
- 94 007a DEB7 in r29,__SP_H__
- 95 007c 2D97 sbiw r28,13
- 96 007e 0FB6 in __tmp_reg__,__SREG__
- 97 0080 F894 cli
- 98 0082 DEBF out __SP_H__,r29
- 99 0084 0FBE out __SREG__,__tmp_reg__
- 100 0086 CDBF out __SP_L__,r28
- 101 /* prologue end (size=14) */
- 102 0088 80E0 ldi r24,lo8(115200)
- 103 008a 92EC ldi r25,hi8(115200)
- 104 008c A1E0 ldi r26,hlo8(115200)
- 105 008e B0E0 ldi r27,hhi8(115200)
- 106 0090 8C83 std Y+4,r24
- 107 0092 9D83 std Y+5,r25
- 108 0094 AE83 std Y+6,r26
- 109 0096 BF83 std Y+7,r27
- 110 0098 88E0 ldi r24,lo8(8)
- 111 009a E82E mov r14,r24
- 112 009c F12C mov r15,__zero_reg__
- 113 009e EC0E add r14,r28
- 114 00a0 FD1E adc r15,r29
- GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s page 3
- 115 00a2 60E0 ldi r22,lo8(__c.2308)
- 116 00a4 70E0 ldi r23,hi8(__c.2308)
- 117 00a6 C701 movw r24,r14
- 118 00a8 0E94 0000 call strcpy_P
- 119 00ac 60E0 ldi r22,lo8(__c.2310)
- 120 00ae 70E0 ldi r23,hi8(__c.2310)
- 121 00b0 8E01 movw r16,r28
- 122 00b2 0F5F subi r16,lo8(-(1))
- 123 00b4 1F4F sbci r17,hi8(-(1))
- 124 00b6 C801 movw r24,r16
- 125 00b8 0E94 0000 call strcpy_P
- 126 00bc 4091 0000 lds r20,__iob+2
- 127 00c0 5091 0000 lds r21,(__iob+2)+1
- 128 00c4 B801 movw r22,r16
- 129 00c6 C701 movw r24,r14
- 130 00c8 0E94 0000 call freopen
- 131 00cc 9093 0000 sts (stream)+1,r25
- 132 00d0 8093 0000 sts stream,r24
- 133 00d4 0097 sbiw r24,0
- 134 00d6 01F0 breq .L12
- 135 00d8 0E94 0000 call _fileno
- 136 00dc AE01 movw r20,r28
- 137 00de 4C5F subi r20,lo8(-(4))
- 138 00e0 5F4F sbci r21,hi8(-(4))
- 139 00e2 61E0 ldi r22,lo8(257)
- 140 00e4 71E0 ldi r23,hi8(257)
- 141 00e6 0E94 0000 call _ioctl
- 142 .L12:
- 143 /* epilogue: frame size=13 */
- 144 00ea 2D96 adiw r28,13
- 145 00ec 0FB6 in __tmp_reg__,__SREG__
- 146 00ee F894 cli
- 147 00f0 DEBF out __SP_H__,r29
- 148 00f2 0FBE out __SREG__,__tmp_reg__
- 149 00f4 CDBF out __SP_L__,r28
- 150 00f6 DF91 pop r29
- 151 00f8 CF91 pop r28
- 152 00fa 1F91 pop r17
- 153 00fc 0F91 pop r16
- 154 00fe FF90 pop r15
- 155 0100 EF90 pop r14
- 156 0102 0895 ret
- 157 /* epilogue end (size=13) */
- 158 /* function Uart0DriverStart size 76 (49) */
- 159 .size Uart0DriverStart, .-Uart0DriverStart
- 160 .global Uart0DriverInit
- 161 .type Uart0DriverInit, @function
- 162 Uart0DriverInit:
- 163 /* prologue: frame size=0 */
- 164 /* prologue end (size=0) */
- 165 0104 1092 0000 sts (stream)+1,__zero_reg__
- 166 0108 1092 0000 sts stream,__zero_reg__
- 167 010c 40E0 ldi r20,lo8(0)
- 168 010e 60E0 ldi r22,lo8(0)
- 169 0110 70E0 ldi r23,hi8(0)
- 170 0112 80E0 ldi r24,lo8(devUart0)
- 171 0114 90E0 ldi r25,hi8(devUart0)
- GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s page 4
- 172 0116 0E94 0000 call NutRegisterDevice
- 173 /* epilogue: frame size=0 */
- 174 011a 0895 ret
- 175 /* epilogue end (size=1) */
- 176 /* function Uart0DriverInit size 12 (11) */
- 177 .size Uart0DriverInit, .-Uart0DriverInit
- 178 .lcomm stream,2
- 179 .section .progmem.data,"a",@progbits
- 180 .type __c.2310, @object
- 181 .size __c.2310, 2
- 182 __c.2310:
- 183 0000 7700 .string "w"
- 184 .type __c.2308, @object
- 185 .size __c.2308, 6
- 186 __c.2308:
- 187 0002 7561 7274 .string "uart0"
- 187 3000
- 188 /* File "source/uart0driver.c": code 142 = 0x008e ( 94), prologues 24, epilogues 24 */
- GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s page 5
- DEFINED SYMBOLS
- *ABS*:00000000 uart0driver.c
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:3 *ABS*:0000003f __SREG__
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:4 *ABS*:0000003e __SP_H__
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:5 *ABS*:0000003d __SP_L__
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:6 *ABS*:00000000 __tmp_reg__
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:7 *ABS*:00000001 __zero_reg__
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:13 .text:00000000 Uart0DriverGetStream
- .bss:00000000 stream
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:25 .text:0000000a Uart0DriverStop
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:44 .text:00000024 Uart0DriverSetCookedMode
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:85 .text:0000006c Uart0DriverStart
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:186 .progmem.data:00000002 __c.2308
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:182 .progmem.data:00000000 __c.2310
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccK5nWjT.s:162 .text:00000104 Uart0DriverInit
- UNDEFINED SYMBOLS
- __do_copy_data
- __do_clear_bss
- fclose
- _fileno
- _ioctl
- strcpy_P
- __iob
- freopen
- devUart0
- NutRegisterDevice
|