📄 zdprofile.lst
字号:
\ 00005F 74.. MOV A,#((??fillAndSend >> 16) & 0xff)
\ 000061 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000064 7402 MOV A,#0x2
\ 000066 12.... LCALL ?DEALLOC_XSTACK8
\ 000069 E4 CLR A
\ 00006A 90.... MOV DPTR,#??ZDP_TxOptions
\ 00006D F0 MOVX @DPTR,A
\ 00006E 7F06 MOV R7,#0x6
\ 000070 02.... LJMP ?BANKED_LEAVE_XDATA
174 }
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine22:
\ 000000 E0 MOVX A,@DPTR
\ 000001 FE MOV R6,A
\ 000002 A3 INC DPTR
\ 000003 E0 MOVX A,@DPTR
\ 000004 FF MOV R7,A
\ 000005 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine62:
\ 000000 8E82 MOV DPL,R6
\ 000002 8F83 MOV DPH,R7
\ 000004 A3 INC DPTR
\ 000005 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine19:
\ 000000 8E82 MOV DPL,R6
\ 000002 8F83 MOV DPH,R7
\ 000004 E0 MOVX A,@DPTR
\ 000005 8882 MOV DPL,R0
\ 000007 8983 MOV DPH,R1
\ 000009 F0 MOVX @DPTR,A
\ 00000A 02.... LJMP ?Subroutine62 & 0xFFFF
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine17:
\ 000000 90.... MOV DPTR,#??ZDP_TmpBuf
\ ??Subroutine17_0:
\ 000003 E0 MOVX A,@DPTR
\ 000004 F5.. MOV ?V0 + 0,A
\ 000006 A3 INC DPTR
\ 000007 E0 MOVX A,@DPTR
\ 000008 F5.. MOV ?V0 + 1,A
\ 00000A 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine13:
\ 000000 90.... MOV DPTR,#??ZDP_TmpBuf
\ ??Subroutine13_0:
\ 000003 E0 MOVX A,@DPTR
\ 000004 F8 MOV R0,A
\ 000005 A3 INC DPTR
\ 000006 E0 MOVX A,@DPTR
\ 000007 F9 MOV R1,A
\ 000008 22 RET
175
176 #if defined ( ZDO_NODEDESC_REQUEST ) || defined ( ZDO_POWERDESC_REQUEST ) ||\
177 defined ( ZDO_ACTIVEEP_REQUEST ) || defined ( ZDO_COMPLEXDESC_REQUEST ) ||\
178 defined ( ZDO_USERDESC_REQUEST )
179 /*********************************************************************
180 * @fn ZDP_NWKAddrOfInterestReq
181 *
182 * @brief This builds and send a request message that has
183 * NWKAddrOfInterest as its only parameter.
184 *
185 * @param dstAddr - destination address
186 * @param nwkAddr - 16 bit address
187 * @param SecurityEnable - Security Options
188 *
189 * @return afStatus_t
190 */
191 afStatus_t ZDP_NWKAddrOfInterestReq( zAddrType_t *dstAddr, uint16 nwkAddr,
192 byte cmd, byte SecurityEnable )
193 {
194 ZDP_TmpBuf[0] = LO_UINT16( nwkAddr );
195 ZDP_TmpBuf[1] = HI_UINT16( nwkAddr );
196
197 return fillAndSend( &ZDP_TransID, dstAddr, cmd, 2 );
198 }
199 #endif // ZDO_NODEDESC_REQUEST ZDO_POWERDESC_REQUEST ZDO_ACTIVEEP_REQUEST ZDO_COMPLEXDESC_REQUEST ZDO_USERDESC_REQUEST
200
201 /*********************************************************************
202 * Address Requests
203 */
204
205 #if defined ( ZDO_NWKADDR_REQUEST )
206 /*********************************************************************
207 * @fn ZDP_NwkAddrReq
208 *
209 * @brief This builds and send a NWK_addr_req message. This
210 * function sends a broadcast message looking for a 16
211 * bit address with a 64 bit address as bait.
212 *
213 * @param IEEEAddress - looking for this device
214 * @param SecurityEnable - Security Options
215 *
216 * @return afStatus_t
217 */
\ In segment BANKED_CODE, align 1, keep-with-next
218 afStatus_t ZDP_NwkAddrReq( byte *IEEEAddress, byte ReqType,
\ ZDP_NwkAddrReq:
219 byte StartIndex, byte SecurityEnable )
220 {
\ 000000 74F4 MOV A,#-0xc
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 12
\ 000005 ; Auto size: 9
\ 000005 74F7 MOV A,#-0x9
\ 000007 12.... LCALL ?ALLOC_XSTACK8
\ 00000A 8A.. MOV ?V0 + 2,R2
\ 00000C 8B.. MOV ?V0 + 3,R3
\ 00000E 89.. MOV ?V0 + 0,R1
\ 000010 8C.. MOV ?V0 + 1,R4
221 byte *pBuf = ZDP_TmpBuf;
\ 000012 90.... MOV DPTR,#??ZDP_TmpBuf
\ 000015 12.... LCALL ?Subroutine22 & 0xFFFF
222 byte len = Z_EXTADDR_LEN + 1 + 1; // IEEEAddress + ReqType + StartIndex.
223 zAddrType_t dstAddr;
224
225 if ( osal_ExtAddrEqual( saveExtAddr, IEEEAddress ) == FALSE )
\ ??CrossCallReturnLabel_52:
\ 000018 ; Setup parameters for call to function osal_ExtAddrEqual
\ 000018 AC.. MOV R4,?V0 + 2
\ 00001A AD.. MOV R5,?V0 + 3
\ 00001C 7A.. MOV R2,#(saveExtAddr & 0xff)
\ 00001E 7B.. MOV R3,#((saveExtAddr >> 8) & 0xff)
\ 000020 90.... MOV DPTR,#(osal_ExtAddrEqual & 0xffff)
\ 000023 74.. MOV A,#((osal_ExtAddrEqual >> 16) & 0xff)
\ 000025 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000028 E9 MOV A,R1
\ 000029 7014 JNZ ??ZDP_NwkAddrReq_0
226 {
227 dstAddr.addrMode = AddrBroadcast;
\ 00002B 7408 MOV A,#0x8
\ 00002D 12.... LCALL ?XSTACK_DISP0_8
\ 000030 740F MOV A,#0xf
\ 000032 F0 MOVX @DPTR,A
228 dstAddr.addr.shortAddr = NWK_BROADCAST_SHORTADDR;
\ 000033 85..82 MOV DPL,?XSP + 0
\ 000036 85..83 MOV DPH,?XSP + 1
\ 000039 74FF MOV A,#-0x1
\ 00003B F0 MOVX @DPTR,A
\ 00003C A3 INC DPTR
\ 00003D 800E SJMP ??CrossCallReturnLabel_26
229 }
230 else
231 {
232 dstAddr.addrMode = Addr16Bit;
\ ??ZDP_NwkAddrReq_0:
\ 00003F 7408 MOV A,#0x8
\ 000041 12.... LCALL ?XSTACK_DISP0_8
\ 000044 7402 MOV A,#0x2
\ 000046 F0 MOVX @DPTR,A
233 dstAddr.addr.shortAddr = ZDAppNwkAddr.addr.shortAddr;
\ 000047 90.... MOV DPTR,#ZDAppNwkAddr
\ 00004A 12.... LCALL ?Subroutine12 & 0xFFFF
\ ??CrossCallReturnLabel_26:
\ 00004D F0 MOVX @DPTR,A
234 }
235
236 pBuf = osal_cpyExtAddr( pBuf, IEEEAddress );
\ 00004E ; Setup parameters for call to function osal_cpyExtAddr
\ 00004E AC.. MOV R4,?V0 + 2
\ 000050 AD.. MOV R5,?V0 + 3
\ 000052 EE MOV A,R6
\ 000053 FA MOV R2,A
\ 000054 EF MOV A,R7
\ 000055 FB MOV R3,A
\ 000056 90.... MOV DPTR,#(osal_cpyExtAddr & 0xffff)
\ 000059 74.. MOV A,#((osal_cpyExtAddr >> 16) & 0xff)
\ 00005B 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 00005E 8A.. MOV ?V0 + 2,R2
\ 000060 8B.. MOV ?V0 + 3,R3
\ 000062 AE.. MOV R6,?V0 + 2
\ 000064 AF.. MOV R7,?V0 + 3
237
238 *pBuf++ = ReqType;
\ 000066 8E82 MOV DPL,R6
\ 000068 8F83 MOV DPH,R7
\ 00006A E5.. MOV A,?V0 + 0
\ 00006C F0 MOVX @DPTR,A
239 *pBuf++ = StartIndex;
\ 00006D A3 INC DPTR
\ 00006E E5.. MOV A,?V0 + 1
\ 000070 F0 MOVX @DPTR,A
240
241 return fillAndSend( &ZDP_TransID, &dstAddr, NWK_addr_req, len );
\ 000071 ; Setup parameters for call to function fillAndSend
\ 000071 75..00 MOV ?V0 + 0,#0x0
\ 000074 75..00 MOV ?V0 + 1,#0x0
\ 000077 78.. MOV R0,#?V0 + 0
\ 000079 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 00007C 790A MOV R1,#0xa
\ 00007E 7402 MOV A,#0x2
\ 000080 12.... LCALL ?XSTACK_DISP0_8
\ 000083 AC82 MOV R4,DPL
\ 000085 AD83 MOV R5,DPH
\ 000087 7A.. MOV R2,#(ZDP_TransID & 0xff)
\ 000089 7B.. MOV R3,#((ZDP_TransID >> 8) & 0xff)
\ 00008B 90.... MOV DPTR,#(??fillAndSend & 0xffff)
\ 00008E 74.. MOV A,#((??fillAndSend >> 16) & 0xff)
\ 000090 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000093 7402 MOV A,#0x2
\ 000095 12.... LCALL ?DEALLOC_XSTACK8
\ 000098 7409 MOV A,#0x9
\ 00009A REQUIRE ?Subroutine59
\ 00009A ; // Fall through to label ?Subroutine59
242 }
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine59:
\ 000000 12.... LCALL ?DEALLOC_XSTACK8
\ 000003 7F04 MOV R7,#0x4
\ 000005 02.... LJMP ?BANKED_LEAVE_XDATA
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine12:
\ 000000 E0 MOVX A,@DPTR
\ 000001 F8 MOV R0,A
\ 000002 A3 INC DPTR
\ 000003 E0 MOVX A,@DPTR
\ 000004 F9 MOV R1,A
\ 000005 85..82 MOV DPL,?XSP + 0
\ 000008 85..83 MOV DPH,?XSP + 1
\ 00000B E8 MOV A,R0
\ 00000C F0 MOVX @DPTR,A
\ 00000D A3 INC DPTR
\ 00000E E9 MOV A,R1
\ 00000F 22 RET
243 #endif
244
245 #if defined ( ZDO_IEEEADDR_REQUEST )
246 /*********************************************************************
247 * @fn ZDP_IEEEAddrReq
248 *
249 * @brief This builds and send a IEEE_addr_req message. This
250 * function sends a unicast message looking for a 64
251 * bit IEEE address with a 16 bit address as bait.
252 *
253 * @param ReqType - ZDP_IEEEADDR_REQTYPE_SINGLE or
254 * ZDP_IEEEADDR_REQTYPE_EXTENDED
255 * @param SecurityEnable - Security Options
256 *
257 * @return afStatus_t
258 */
\ In segment BANKED_CODE, align 1, keep-with-next
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -