Project

General

Profile

Statistics
| Revision:

root / demos / john / projects / libdragonfly / spi.lst @ 1693

History | View | Annotate | Download (6.05 KB)

1 1693 emullini
   1               		.file	"spi.c"
2
   2               		.arch atmega128
3
   3               	__SREG__ = 0x3f
4
   4               	__SP_H__ = 0x3e
5
   5               	__SP_L__ = 0x3d
6
   6               	__tmp_reg__ = 0
7
   7               	__zero_reg__ = 1
8
   8               		.global __do_copy_data
9
   9               		.global __do_clear_bss
10
  17               	.Ltext0:
11
  18               	.global	spi_init
12
  20               	spi_init:
13
  21               	.LFB2:
14
  22               	.LM1:
15
  23               	/* prologue: frame size=0 */
16
  24               	/* prologue end (size=0) */
17
  25               	.LVL0:
18
  26               	.LM2:
19
  27 0000 23ED      		ldi r18,lo8(-45)
20
  28 0002 2DB9      		out 45-0x20,r18
21
  29               	.LM3:
22
  30 0004 21E0      		ldi r18,lo8(1)
23
  31 0006 2EB9      		out 46-0x20,r18
24
  32               	.LM4:
25
  33 0008 27B3      		in r18,55-0x20
26
  34 000a 2760      		ori r18,lo8(7)
27
  35 000c 27BB      		out 55-0x20,r18
28
  36               	.LM5:
29
  37 000e BB98      		cbi 55-0x20,3
30
  38               	.LM6:
31
  39 0010 C09A      		sbi 56-0x20,0
32
  40               	.LM7:
33
  41 0012 9093 0000 		sts (spi_recv_func)+1,r25
34
  42 0016 8093 0000 		sts spi_recv_func,r24
35
  43               	.LM8:
36
  44 001a 7093 0000 		sts (spi_recv_complete_func)+1,r23
37
  45 001e 6093 0000 		sts spi_recv_complete_func,r22
38
  46               	.LM9:
39
  47 0022 1092 0000 		sts spi_bytes,__zero_reg__
40
  48               	/* epilogue: frame size=0 */
41
  49 0026 0895      		ret
42
  50               	/* epilogue end (size=1) */
43
  51               	/* function spi_init size 20 (19) */
44
  52               	.LFE2:
45
  54               	.global	spi_transfer
46
  56               	spi_transfer:
47
  57               	.LFB3:
48
  58               	.LM10:
49
  59               	/* prologue: frame size=0 */
50
  60               	/* prologue end (size=0) */
51
  61               	.LVL1:
52
  62               	.LM11:
53
  63 0028 8093 0000 		sts spi_bytes,r24
54
  64               	.LM12:
55
  65 002c C098      		cbi 56-0x20,0
56
  66               	.LM13:
57
  67 002e 8FEF      		ldi r24,lo8(-1)
58
  68               	.LVL2:
59
  69 0030 8FB9      		out 47-0x20,r24
60
  70               	/* epilogue: frame size=0 */
61
  71 0032 0895      		ret
62
  72               	/* epilogue end (size=1) */
63
  73               	/* function spi_transfer size 6 (5) */
64
  74               	.LFE3:
65
  76               	.global	__vector_17
66
  78               	__vector_17:
67
  79               	.LFB4:
68
  80               	.LM14:
69
  81               	/* prologue: frame size=0 */
70
  82 0034 1F92      		push __zero_reg__
71
  83 0036 0F92      		push __tmp_reg__
72
  84 0038 0FB6      		in __tmp_reg__,__SREG__
73
  85 003a 0F92      		push __tmp_reg__
74
  86 003c 1124      		clr __zero_reg__
75
  87 003e 2F93      		push r18
76
  88 0040 3F93      		push r19
77
  89 0042 4F93      		push r20
78
  90 0044 5F93      		push r21
79
  91 0046 6F93      		push r22
80
  92 0048 7F93      		push r23
81
  93 004a 8F93      		push r24
82
  94 004c 9F93      		push r25
83
  95 004e AF93      		push r26
84
  96 0050 BF93      		push r27
85
  97 0052 EF93      		push r30
86
  98 0054 FF93      		push r31
87
  99               	/* prologue end (size=17) */
88
 100               	.LM15:
89
 101 0056 8091 0000 		lds r24,spi_bytes
90
 102 005a 8823      		tst r24
91
 103 005c 01F0      		breq .L11
92
 104               	.LM16:
93
 105 005e 8FB1      		in r24,47-0x20
94
 106 0060 E091 0000 		lds r30,spi_recv_func
95
 107 0064 F091 0000 		lds r31,(spi_recv_func)+1
96
 108 0068 0995      		icall
97
 109               	.LM17:
98
 110 006a 8091 0000 		lds r24,spi_bytes
99
 111 006e 8150      		subi r24,lo8(-(-1))
100
 112 0070 8093 0000 		sts spi_bytes,r24
101
 113 0074 8091 0000 		lds r24,spi_bytes
102
 114 0078 8823      		tst r24
103
 115 007a 01F4      		brne .L8
104
 116               	.LM18:
105
 117 007c C09A      		sbi 56-0x20,0
106
 118               	.LM19:
107
 119 007e E091 0000 		lds r30,spi_recv_complete_func
108
 120 0082 F091 0000 		lds r31,(spi_recv_complete_func)+1
109
 121 0086 3097      		sbiw r30,0
110
 122 0088 01F0      		breq .L11
111
 123               	.LM20:
112
 124 008a 0995      		icall
113
 125 008c 00C0      		rjmp .L11
114
 126               	.L8:
115
 127               	.LM21:
116
 128 008e 8FEF      		ldi r24,lo8(-1)
117
 129 0090 8FB9      		out 47-0x20,r24
118
 130               	.L11:
119
 131               	/* epilogue: frame size=0 */
120
 132 0092 FF91      		pop r31
121
 133 0094 EF91      		pop r30
122
 134 0096 BF91      		pop r27
123
 135 0098 AF91      		pop r26
124
 136 009a 9F91      		pop r25
125
 137 009c 8F91      		pop r24
126
 138 009e 7F91      		pop r23
127
 139 00a0 6F91      		pop r22
128
 140 00a2 5F91      		pop r21
129
 141 00a4 4F91      		pop r20
130
 142 00a6 3F91      		pop r19
131
 143 00a8 2F91      		pop r18
132
 144 00aa 0F90      		pop __tmp_reg__
133
 145 00ac 0FBE      		out __SREG__,__tmp_reg__
134
 146 00ae 0F90      		pop __tmp_reg__
135
 147 00b0 1F90      		pop __zero_reg__
136
 148 00b2 1895      		reti
137
 149               	/* epilogue end (size=17) */
138
 150               	/* function __vector_17 size 64 (30) */
139
 151               	.LFE4:
140
 153               		.lcomm spi_bytes,1
141
 154               		.lcomm spi_recv_func,2
142
 155               		.lcomm spi_recv_complete_func,2
143
 196               	.Letext0:
144
DEFINED SYMBOLS
145
                            *ABS*:00000000 spi.c
146
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccYvT9rf.s:3      *ABS*:0000003f __SREG__
147
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccYvT9rf.s:4      *ABS*:0000003e __SP_H__
148
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccYvT9rf.s:5      *ABS*:0000003d __SP_L__
149
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccYvT9rf.s:6      *ABS*:00000000 __tmp_reg__
150
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccYvT9rf.s:7      *ABS*:00000001 __zero_reg__
151
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccYvT9rf.s:20     .text:00000000 spi_init
152
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccYvT9rf.s:153    .bss:00000001 spi_recv_func
153
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccYvT9rf.s:154    .bss:00000003 spi_recv_complete_func
154
                             .bss:00000000 spi_bytes
155
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccYvT9rf.s:56     .text:00000028 spi_transfer
156
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccYvT9rf.s:78     .text:00000034 __vector_17
157
158
UNDEFINED SYMBOLS
159
__do_copy_data
160
__do_clear_bss