📄 mac_rx_onoff.lst
字号:
185 halIntState_t s;
186
187 HAL_ENTER_CRITICAL_SECTION(s);
\ 000005 A2AF MOV C,0xa8.7
\ 000007 E4 CLR A
\ 000008 92E0 MOV 0xE0 /* A */.0,C
\ 00000A FE MOV R6,A
\ 00000B C2AF CLR 0xa8.7
188 if (macRxEnableFlags)
\ 00000D 90.... MOV DPTR,#macRxEnableFlags
\ 000010 E0 MOVX A,@DPTR
\ 000011 6008 JZ ??macRxOnRequest_0
189 {
190 macRxOn();
\ 000013 ; Setup parameters for call to function macRxOn
\ 000013 90.... MOV DPTR,#(macRxOn & 0xffff)
\ 000016 74.. MOV A,#((macRxOn >> 16) & 0xff)
\ 000018 12.... LCALL ?BCALL ; Banked call to: DPTR()
191 }
192 HAL_EXIT_CRITICAL_SECTION(s);
\ ??macRxOnRequest_0:
\ 00001B 02.... LJMP ?Subroutine2 & 0xFFFF
193 }
194
195
196 /**************************************************************************************************
197 * @fn macRxOffRequest
198 *
199 * @brief Turn off receiver if permitted.
200 *
201 * @param none
202 *
203 * @return none
204 **************************************************************************************************
205 */
\ In segment BANKED_CODE, align 1, keep-with-next
206 void macRxOffRequest(void)
\ macRxOffRequest:
207 {
\ 000000 74F7 MOV A,#-0x9
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 9
\ 000005 ; Auto size: 0
208 halIntState_t s;
209
210 HAL_ENTER_CRITICAL_SECTION(s);
\ 000005 A2AF MOV C,0xa8.7
\ 000007 E4 CLR A
\ 000008 92E0 MOV 0xE0 /* A */.0,C
\ 00000A FE MOV R6,A
\ 00000B C2AF CLR 0xa8.7
211 if (!macRxEnableFlags)
\ 00000D 90.... MOV DPTR,#macRxEnableFlags
\ 000010 E0 MOVX A,@DPTR
\ 000011 701E JNZ ??macRxOffRequest_0
212 {
213 if (!MAC_RX_IS_PHYSICALLY_ACTIVE() && !MAC_TX_IS_PHYSICALLY_ACTIVE())
\ 000013 90.... MOV DPTR,#macRxActive
\ 000016 E0 MOVX A,@DPTR
\ 000017 A2E7 MOV C,0xE0 /* A */.7
\ 000019 4016 JC ??macRxOffRequest_0
\ 00001B 90.... MOV DPTR,#macRxOutgoingAckFlag
\ 00001E E0 MOVX A,@DPTR
\ 00001F 7010 JNZ ??macRxOffRequest_0
\ 000021 90.... MOV DPTR,#macTxActive
\ 000024 E0 MOVX A,@DPTR
\ 000025 A2E7 MOV C,0xE0 /* A */.7
\ 000027 4008 JC ??macRxOffRequest_0
214 {
215 macRxOff();
\ 000029 ; Setup parameters for call to function macRxOff
\ 000029 90.... MOV DPTR,#(macRxOff & 0xffff)
\ 00002C 74.. MOV A,#((macRxOff >> 16) & 0xff)
\ 00002E 12.... LCALL ?BCALL ; Banked call to: DPTR()
216 }
217 }
218 HAL_EXIT_CRITICAL_SECTION(s);
\ ??macRxOffRequest_0:
\ 000031 02.... LJMP ?Subroutine2 & 0xFFFF
219 }
220
221
222 /**************************************************************************************************
223 * @fn macRxOn
224 *
225 * @brief Turn on the receiver if it's not already on.
226 *
227 * @param none
228 *
229 * @return none
230 **************************************************************************************************
231 */
\ In segment BANKED_CODE, align 1, keep-with-next
232 void macRxOn(void)
\ macRxOn:
233 {
\ 000000 C082 PUSH DPL
\ 000002 C083 PUSH DPH
\ 000004 ; Saved register size: 2
\ 000004 ; Auto size: 0
234 halIntState_t s;
235
236 HAL_ENTER_CRITICAL_SECTION(s);
\ 000004 A2AF MOV C,0xa8.7
\ 000006 E4 CLR A
\ 000007 92E0 MOV 0xE0 /* A */.0,C
\ 000009 C2AF CLR 0xa8.7
237 if (!macRxOnFlag)
\ 00000B 90.... MOV DPTR,#macRxOnFlag
\ 00000E E0 MOVX A,@DPTR
\ 00000F 7006 JNZ ??macRxOn_0
238 {
239 macRxOnFlag = 1;
\ 000011 7401 MOV A,#0x1
\ 000013 F0 MOVX @DPTR,A
240 MAC_RADIO_RX_ON();
\ 000014 75E1E2 MOV 0xe1,#-0x1e
241 MAC_DEBUG_TURN_ON_RX_LED();
242 }
243 HAL_EXIT_CRITICAL_SECTION(s);
\ ??macRxOn_0:
\ 000017 02.... LJMP ?Subroutine1 & 0xFFFF
244 }
245
246
247 /**************************************************************************************************
248 * @fn macRxOff
249 *
250 * @brief Turn off the receiver if it's not already off.
251 *
252 * @param none
253 *
254 * @return none
255 **************************************************************************************************
256 */
\ In segment BANKED_CODE, align 1, keep-with-next
257 void macRxOff(void)
\ macRxOff:
258 {
\ 000000 C082 PUSH DPL
\ 000002 C083 PUSH DPH
\ 000004 ; Saved register size: 2
\ 000004 ; Auto size: 0
259 halIntState_t s;
260
261 HAL_ENTER_CRITICAL_SECTION(s);
\ 000004 A2AF MOV C,0xa8.7
\ 000006 E4 CLR A
\ 000007 92E0 MOV 0xE0 /* A */.0,C
\ 000009 C2AF CLR 0xa8.7
262 if (macRxOnFlag)
\ 00000B 90.... MOV DPTR,#macRxOnFlag
\ 00000E E0 MOVX A,@DPTR
\ 00000F 6007 JZ ??macRxOff_0
263 {
264 macRxOnFlag = 0;
\ 000011 E4 CLR A
\ 000012 12.... LCALL ?Subroutine0 & 0xFFFF
265 MAC_RADIO_RXTX_OFF();
266 MAC_DEBUG_TURN_OFF_RX_LED();
267
268 /* just in case a receive was about to start, flush the receive FIFO */
269 MAC_RADIO_FLUSH_RX_FIFO();
270
271 /* clear any receive interrupt that happened to squeak through */
272 MAC_RADIO_CLEAR_RX_THRESHOLD_INTERRUPT_FLAG();
\ ??CrossCallReturnLabel_1:
\ 000015 75E9DF MOV 0xe9,#-0x21
273
274 }
275 HAL_EXIT_CRITICAL_SECTION(s);
\ ??macRxOff_0:
\ 000018 02.... LJMP ?Subroutine1 & 0xFFFF
276 }
\ In segment SFR_AN, at 0xa8
\ union <unnamed> volatile __sfr _A_IEN0
\ _A_IEN0:
\ 000000 DS 1
277
278
279 /**************************************************************************************************
280 */
Maximum stack usage in bytes:
Function ISTACK PSTACK XSTACK
-------- ------ ------ ------
macRxDisable 0 0 9
-> halAssertHandler 0 0 18
-> macRxOffRequest 0 0 18
macRxEnable 0 0 9
-> halAssertHandler 0 0 18
-> macRxOn 0 0 18
macRxHardDisable 2 0 0
-> macRxHaltCleanup 4 0 0
macRxOff 2 0 9
macRxOffRequest 0 0 18
-> macRxOff 0 0 18
macRxOn 2 0 9
macRxOnOffInit 2 0 0
macRxOnRequest 0 0 9
-> macRxOn 0 0 18
macRxSoftEnable 0 0 9
-> halAssertHandler 0 0 18
Segment part sizes:
Function/Label Bytes
-------------- -----
RFST 1
RFIF 1
macRxOnFlag 1
macRxEnableFlags 1
macRxOnOffInit 15
?Subroutine1 9
macRxEnable 42
?Subroutine2 10
macRxSoftEnable 32
macRxDisable 45
macRxHardDisable 35
?Subroutine0 11
macRxOnRequest 30
macRxOffRequest 52
macRxOn 26
macRxOff 27
_A_IEN0 1
334 bytes in segment BANKED_CODE
3 bytes in segment SFR_AN
2 bytes in segment XDATA_Z
334 bytes of CODE memory
0 bytes of DATA memory (+ 3 bytes shared)
2 bytes of XDATA memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -