📄 ad9850_main.lst
字号:
1 .file "AD9850_main.c"
2 .arch atmega8
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
11 .text
12 .Ltext0:
55 .global AD9850WriteBytes
57 AD9850WriteBytes:
1:AD9850_main.c **** //文件名 :ad9850_main
2:AD9850_main.c **** //创建人 :尹延辉
3:AD9850_main.c **** //QQ:329314196欢迎交流
4:AD9850_main.c **** //创建日期 :2006/08/18
5:AD9850_main.c **** //FOSC :8000000
6:AD9850_main.c **** //BAUDRATE :9600
7:AD9850_main.c **** //哈尔滨工程大学E唯协会,电子爱好者的乐园!
8:AD9850_main.c ****
9:AD9850_main.c **** #include <avr/io.h>
10:AD9850_main.c **** #include <avr/interrupt.h>
11:AD9850_main.c ****
12:AD9850_main.c **** #define ConPort PORTC
13:AD9850_main.c **** #define ConDdr DDRC
14:AD9850_main.c **** #define DATA PC0
15:AD9850_main.c **** #define W_CLK PC1
16:AD9850_main.c **** #define FQ_UD PC2
17:AD9850_main.c **** #define SetDATA() ConPort|=1<<DATA
18:AD9850_main.c **** #define ClrDATA() ConPort&=~(1<<DATA)
19:AD9850_main.c **** #define SetW_CLK() ConPort|=1<<W_CLK
20:AD9850_main.c **** #define ClrW_CLK() ConPort&=~(1<<W_CLK)
21:AD9850_main.c **** #define SetFQ_UD() ConPort|=1<<FQ_UD
22:AD9850_main.c **** #define ClrFQ_UD() ConPort&=~(1<<FQ_UD)
23:AD9850_main.c ****
24:AD9850_main.c **** void AD9850WriteBytes(unsigned char *byte)
25:AD9850_main.c **** {
59 .LM1:
60 /* prologue: frame size=0 */
61 /* prologue end (size=0) */
26:AD9850_main.c **** unsigned char i,j,temp;
27:AD9850_main.c **** ClrW_CLK();
63 .LM2:
64 0000 A998 cbi 53-0x20,1
28:AD9850_main.c **** ClrFQ_UD();
66 .LM3:
67 0002 AA98 cbi 53-0x20,2
29:AD9850_main.c **** for(i=0;i<5;i++)
69 .LM4:
70 0004 30E0 ldi r19,lo8(0)
71 .L11:
30:AD9850_main.c **** {
31:AD9850_main.c **** temp=byte[i];
73 .LM5:
74 0006 FC01 movw r30,r24
75 0008 E30F add r30,r19
76 000a F11D adc r31,__zero_reg__
77 000c E081 ld r30,Z
78 000e 27E0 ldi r18,lo8(7)
79 .L10:
32:AD9850_main.c **** for(j=0;j<8;j++)
33:AD9850_main.c **** {
34:AD9850_main.c **** ClrW_CLK();
81 .LM6:
82 0010 A998 cbi 53-0x20,1
35:AD9850_main.c **** if(temp&0x01) SetDATA();
84 .LM7:
85 0012 E0FF sbrs r30,0
86 0014 02C0 rjmp .L8
87 0016 A89A sbi 53-0x20,0
88 0018 01C0 rjmp .L9
89 .L8:
36:AD9850_main.c **** else ClrDATA();
91 .LM8:
92 001a A898 cbi 53-0x20,0
93 .L9:
37:AD9850_main.c **** temp=temp>>1;
95 .LM9:
96 001c E695 lsr r30
38:AD9850_main.c **** SetW_CLK();
98 .LM10:
99 001e A99A sbi 53-0x20,1
101 .LM11:
102 0020 2150 subi r18,lo8(-(-1))
103 0022 27FF sbrs r18,7
104 0024 F5CF rjmp .L10
106 .LM12:
107 0026 3F5F subi r19,lo8(-(1))
108 0028 3530 cpi r19,lo8(5)
109 002a 68F3 brlo .L11
39:AD9850_main.c **** }
40:AD9850_main.c **** }
41:AD9850_main.c **** ClrW_CLK();
111 .LM13:
112 002c A998 cbi 53-0x20,1
42:AD9850_main.c **** SetFQ_UD();
114 .LM14:
115 002e AA9A sbi 53-0x20,2
43:AD9850_main.c **** SetFQ_UD();
117 .LM15:
118 0030 AA9A sbi 53-0x20,2
44:AD9850_main.c **** ClrFQ_UD();
120 .LM16:
121 0032 AA98 cbi 53-0x20,2
122 /* epilogue: frame size=0 */
123 0034 0895 ret
124 /* epilogue end (size=1) */
125 /* function AD9850WriteBytes size 27 (26) */
132 .Lscope0:
133 .data
134 .LC0:
135 0000 FF .byte -1
136 0001 FF .byte -1
137 0002 FF .byte -1
138 0003 53 .byte 83
139 0004 01 .byte 1
140 .text
142 .global main
144 main:
45:AD9850_main.c **** }
46:AD9850_main.c **** int main(void)
47:AD9850_main.c **** {
146 .LM17:
147 /* prologue: frame size=5 */
148 0036 C0E0 ldi r28,lo8(__stack - 5)
149 0038 D0E0 ldi r29,hi8(__stack - 5)
150 003a DEBF out __SP_H__,r29
151 003c CDBF out __SP_L__,r28
152 /* prologue end (size=4) */
48:AD9850_main.c **** unsigned char test[5]={0xff,0xff,0xff,0b01010011,0b00000001};//547ae147
154 .LM18:
155 003e 85E0 ldi r24,lo8(5)
156 0040 A0E0 ldi r26,lo8(.LC0)
157 0042 B0E0 ldi r27,hi8(.LC0)
158 0044 FE01 movw r30,r28
159 0046 3196 adiw r30,1
160 0048 0D90 ld __tmp_reg__,X+
161 004a 0192 st Z+,__tmp_reg__
162 004c 8A95 dec r24
163 004e E1F7 brne .-8
49:AD9850_main.c **** unsigned char i,j;
50:AD9850_main.c **** ConDdr=0xff;
165 .LM19:
166 0050 8FEF ldi r24,lo8(-1)
167 0052 84BB out 52-0x20,r24
51:AD9850_main.c **** for(i=0;i<200;i++)
169 .LM20:
170 0054 90E0 ldi r25,lo8(0)
171 .L24:
52:AD9850_main.c **** for(j=0;j<200;j++);
173 .LM21:
174 0056 80E0 ldi r24,lo8(0)
175 .L23:
176 0058 8E5C subi r24,lo8(-(50))
177 005a 883C cpi r24,lo8(-56)
178 005c E8F3 brlo .L23
180 .LM22:
181 005e 9F5F subi r25,lo8(-(1))
182 0060 983C cpi r25,lo8(-56)
183 0062 C8F3 brlo .L24
53:AD9850_main.c **** AD9850WriteBytes(test);
185 .LM23:
186 0064 CE01 movw r24,r28
187 0066 0196 adiw r24,1
188 0068 CBDF rcall AD9850WriteBytes
189 .L25:
54:AD9850_main.c **** // AD9850WriteBytes(test);
55:AD9850_main.c **** // AD9850WriteBytes(test);
56:AD9850_main.c **** while(1);
191 .LM24:
192 006a FFCF rjmp .L25
193 /* epilogue: frame size=5 */
194 /* epilogue: noreturn */
195 /* epilogue end (size=0) */
196 /* function main size 27 (23) */
203 .Lscope1:
204 .text
206 Letext:
207 /* File "AD9850_main.c": code 54 = 0x0036 ( 49), prologues 4, epilogues 1 */
DEFINED SYMBOLS
*ABS*:00000000 AD9850_main.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\DSP\LOCALS~1\Temp/ccC6aaaa.s:57 .text:00000000 AD9850WriteBytes
C:\DOCUME~1\DSP\LOCALS~1\Temp/ccC6aaaa.s:144 .text:00000036 main
C:\DOCUME~1\DSP\LOCALS~1\Temp/ccC6aaaa.s:206 .text:0000006c Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -