📄 testbase.lst
字号:
1 .file "testBase.c"
2 .arch atmega128
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:
72 .global testBaseInit
74 testBaseInit:
1:testBase.c ****
2:testBase.c **** #include "testBase.h"
3:testBase.c **** #include "led.h"
4:testBase.c **** #include "os.h"
5:testBase.c **** #include "MAC.h"
6:testBase.c **** #include "message.h"
7:testBase.c **** #include "uartPacket.h"
8:testBase.c ****
9:testBase.c **** uint8_t rxSeqNo; // 接收数据包的序号
10:testBase.c **** uint8_t fromAddr; // 接收数据包的地源地址
11:testBase.c **** static OSMACMsg dataPkt; // 待发送的数据包
12:testBase.c ****
13:testBase.c **** typedef struct {
14:testBase.c **** uint8_t addr;
15:testBase.c **** uint8_t seq;
16:testBase.c **** } SensorNode;
17:testBase.c ****
18:testBase.c **** extern uint8_t OS_LOCAL_ADDRESS;
19:testBase.c **** extern uint8_t OS_BCAST_ADDR;
20:testBase.c ****
21:testBase.c **** /*************************************************************************
22:testBase.c **** *功能描述:初始化测试变量,调用MAC协议栈初始化
23:testBase.c **** *参数说明:
24:testBase.c **** *返回值:
25:testBase.c **** **************************************************************************/
26:testBase.c **** result_t testBaseInit()
27:testBase.c **** {
76 .LM1:
77 /* prologue: frame size=0 */
78 /* prologue end (size=0) */
28:testBase.c **** rxSeqNo = 0;
80 .LM2:
81 0000 1092 0000 sts rxSeqNo,__zero_reg__
29:testBase.c **** MACInit();
83 .LM3:
84 0004 0E94 0000 call MACInit
30:testBase.c **** LedYellowOn();
86 .LM4:
87 0008 0E94 0000 call LedYellowOn
31:testBase.c **** return SUCCESS;
32:testBase.c **** }
89 .LM5:
90 000c 81E0 ldi r24,lo8(1)
91 000e 90E0 ldi r25,hi8(1)
92 /* epilogue: frame size=0 */
93 0010 0895 ret
94 /* epilogue end (size=1) */
95 /* function testBaseInit size 9 (8) */
99 .global testBaseBroadcastDone
101 testBaseBroadcastDone:
33:testBase.c ****
34:testBase.c **** /*************************************************************************
35:testBase.c **** *功能描述:广播包发送完成,由MAC层调用
36:testBase.c **** *参数说明:包地址
37:testBase.c **** *返回值:
38:testBase.c **** **************************************************************************/
39:testBase.c **** result_t testBaseBroadcastDone(void* msg)
40:testBase.c **** {
103 .LM6:
104 /* prologue: frame size=0 */
105 /* prologue end (size=0) */
41:testBase.c **** return SUCCESS;
42:testBase.c **** }
107 .LM7:
108 0012 81E0 ldi r24,lo8(1)
109 0014 90E0 ldi r25,hi8(1)
110 /* epilogue: frame size=0 */
111 0016 0895 ret
112 /* epilogue end (size=1) */
113 /* function testBaseBroadcastDone size 3 (2) */
117 .global testBaseUnicastDone
119 testBaseUnicastDone:
43:testBase.c ****
44:testBase.c ****
45:testBase.c **** /*************************************************************************
46:testBase.c **** * 功能描述:单播包发送完成,由MAC层调用
47:testBase.c **** * 参数说明:包地址,已经发送的分段数
48:testBase.c **** * 返回值:
49:testBase.c **** **************************************************************************/
50:testBase.c **** result_t testBaseUnicastDone(void* msg)
51:testBase.c **** {
121 .LM8:
122 /* prologue: frame size=0 */
123 /* prologue end (size=0) */
52:testBase.c **** return SUCCESS;
53:testBase.c **** }
125 .LM9:
126 0018 81E0 ldi r24,lo8(1)
127 001a 90E0 ldi r25,hi8(1)
128 /* epilogue: frame size=0 */
129 001c 0895 ret
130 /* epilogue end (size=1) */
131 /* function testBaseUnicastDone size 3 (2) */
135 .global testBaseRxMsgDone
137 testBaseRxMsgDone:
54:testBase.c ****
55:testBase.c **** /*************************************************************************
56:testBase.c **** *功能描述:包接收完成,由MAC层调用
57:testBase.c **** *参数说明:包地址
58:testBase.c **** *返回值: 包地址
59:testBase.c **** **************************************************************************/
60:testBase.c **** OSMACMsgPtr testBaseRxMsgDone(OSMACMsgPtr msg)
61:testBase.c **** {
139 .LM10:
140 /* prologue: frame size=0 */
141 001e 0F93 push r16
142 0020 1F93 push r17
143 /* prologue end (size=2) */
144 0022 8C01 movw r16,r24
62:testBase.c **** LedRedToggle();
146 .LM11:
147 0024 0E94 0000 call LedRedToggle
63:testBase.c **** dataPkt = *msg;
149 .LM12:
150 0028 84E6 ldi r24,lo8(100)
151 002a A0E0 ldi r26,lo8(dataPkt)
152 002c B0E0 ldi r27,hi8(dataPkt)
153 002e F801 movw r30,r16
154 0030 0190 ld __tmp_reg__,Z+
155 0032 0D92 st X+,__tmp_reg__
156 0034 8A95 dec r24
157 0036 E1F7 brne .-8
64:testBase.c **** uartDebug_txPacket(&dataPkt);
159 .LM13:
160 0038 80E0 ldi r24,lo8(dataPkt)
161 003a 90E0 ldi r25,hi8(dataPkt)
162 003c 0E94 0000 call uartDebug_txPacket
65:testBase.c **** return msg;
66:testBase.c **** }
164 .LM14:
165 0040 C801 movw r24,r16
166 /* epilogue: frame size=0 */
167 0042 1F91 pop r17
168 0044 0F91 pop r16
169 0046 0895 ret
170 /* epilogue end (size=3) */
171 /* function testBaseRxMsgDone size 21 (16) */
173 .comm rxSeqNo,1,1
174 .comm fromAddr,1,1
175 .lcomm dataPkt,100
179 .text
181 Letext:
182 /* File "testBase.c": code 36 = 0x0024 ( 28), prologues 2, epilogues 6 */
DEFINED SYMBOLS
*ABS*:00000000 testBase.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccyqbaaa.s:74 .text:00000000 testBaseInit
*COM*:00000001 rxSeqNo
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccyqbaaa.s:101 .text:00000012 testBaseBroadcastDone
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccyqbaaa.s:119 .text:00000018 testBaseUnicastDone
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccyqbaaa.s:137 .text:0000001e testBaseRxMsgDone
.bss:00000000 dataPkt
*COM*:00000001 fromAddr
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccyqbaaa.s:181 .text:00000048 Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
MACInit
LedYellowOn
LedRedToggle
uartDebug_txPacket
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -