📄 motor.lst
字号:
1 .file "motor.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
11 .text
12 .Ltext0:
39 .global motor
41 motor:
1:motor.c **** #include "motor.h"
2:motor.c ****
3:motor.c **** void motor(unsigned char address, short left_speed, short right_speed )
4:motor.c **** {
42 left_speed:P(0,8)",64,0,0,28
44 .global motor
46 0002 0F93 motor:
48 0006 CF93 .LM0:
49 0008 DF93 .LFBB1:
50 push r15
51 push r16
52 000a F82E push r17
53 000c EB01 push r28
54 000e 8A01 push r29
5:motor.c **** static union {
6:motor.c **** char string[4];
7:motor.c **** short left_right[2];
8:motor.c **** } TWI_speed;
9:motor.c **** static unsigned char TWI_string[5];
10:motor.c **** volatile static char TWI_flag = 0;
11:motor.c **** static struct TWI_master_data TWI_data = { 5, TWI_string, &TWI_flag, 0 };
12:motor.c **** static char time = 0;
13:motor.c **** char i;
14:motor.c **** if ( !time ) {
55 nction
56 motor:
58 0014 8823 .LM0:
59 0016 01F4 .LFBB1:
15:motor.c **** TWI_initialize();
60 speed:P(0,8)",64,0,0,16
61 .global motor
16:motor.c **** TWI_master_initialize( 400 );
65 001c 80E9 .global motor
67 0020 0E94 0000 motor:
17:motor.c **** time = 1;
68 left_speed:P(0,8)",64,0,0,28
70 0024 81E0 .global motor
72 motor:
18:motor.c **** }
19:motor.c **** while ( TWI_flag )
73 left_speed:P(0,8)",64,0,0,28
75 002a 8091 0000 .global motor
77 0030 01F4 motor:
20:motor.c **** ;
21:motor.c ****
22:motor.c **** TWI_string[0] = address;
78 left_speed:P(0,8)",64,0,0,28
80 0032 F092 0000 .global motor
23:motor.c **** TWI_speed.left_right[0] = -left_speed;
81 ress:P(0,11)",64,0,0,15
84 0038 9927 .global motor
86 003c 9D0B motor:
88 0042 8093 0000 .LM0:
24:motor.c **** TWI_speed.left_right[1] = right_speed;
89 s "right_speed:P(0,8)",64,0,0,16
90 .global motor
92 004a 0093 0000 motor:
94 0050 F0E0 .LM0:
95 0052 A0E0 .LFBB1:
96 0054 B0E0 push r15
97 push r16
25:motor.c ****
26:motor.c **** for( i = 0; i < 4; i++ )
27:motor.c **** TWI_string[ i + 1 ] = TWI_speed.string[i];
98 6
99 .global motor
101 0058 8D93 motor:
103 .LM0:
104 005a 80E0 .LFBB1:
105 005c E030 push r15
106 005e F807 push r16
107 0060 01F4 push r17
28:motor.c **** TWI_flag = 1;
108 otor
110 0062 81E0 motor:
29:motor.c **** TWI_master( &TWI_data );
112
114 0068 80E0 .global motor
116 006c 0E94 0000 motor:
30:motor.c **** }...
118
120 0070 DF91 .global motor
122 0074 1F91 motor:
124 0078 FF90 .LM0:
125 007a 0895 .LFBB1:
126 push r15
127 push r16
128 push r17
129 push r28
130 push r29
131 /* prologue: function */
132 /* frame size = 0 */
133 mov r15,r24
134 movw r28,r22
135 movw r16,r20
137 .LM1:
138 lds r24,time.1205
139 tst r24
140 0000 05 brne .L5
142 0003 0000 .LM2:
143 0005 0000 call TWI_initialize
145 .LM3:
146 ldi r24,lo8(400)
147 ldi r25,hi8(400)
148 call TWI_master_initialize
150 .LM4:
151 ldi r24,lo8(1)
152 sts time.1205,r24
153 .L5:
DEFINED SYMBOLS
*ABS*:00000000 motor.c
C:\DOCUME~1\wht\LOCALS~1\Temp/ccyHaJuv.s:2 *ABS*:0000003f __SREG__
C:\DOCUME~1\wht\LOCALS~1\Temp/ccyHaJuv.s:3 *ABS*:0000003e __SP_H__
C:\DOCUME~1\wht\LOCALS~1\Temp/ccyHaJuv.s:4 *ABS*:0000003d __SP_L__
C:\DOCUME~1\wht\LOCALS~1\Temp/ccyHaJuv.s:5 *ABS*:00000034 __CCP__
C:\DOCUME~1\wht\LOCALS~1\Temp/ccyHaJuv.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\wht\LOCALS~1\Temp/ccyHaJuv.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\wht\LOCALS~1\Temp/ccyHaJuv.s:41 .text:00000000 motor
.bss:00000000 time.1205
C:\DOCUME~1\wht\LOCALS~1\Temp/ccyHaJuv.s:135 .bss:00000001 TWI_flag.1203
C:\DOCUME~1\wht\LOCALS~1\Temp/ccyHaJuv.s:144 .bss:00000002 TWI_string.1202
C:\DOCUME~1\wht\LOCALS~1\Temp/ccyHaJuv.s:145 .bss:00000007 TWI_speed.1201
C:\DOCUME~1\wht\LOCALS~1\Temp/ccyHaJuv.s:139 .data:00000000 TWI_data.1204
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
TWI_initialize
TWI_master_initialize
TWI_master
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -