📄 zdprofile.lst
字号:
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 15
\ 000005 ; Auto size: 4
\ 000005 74FC MOV A,#-0x4
\ 000007 12.... LCALL ?ALLOC_XSTACK8
\ 00000A 8A.. MOV ?V0 + 0,R2
\ 00000C 8B.. MOV ?V0 + 1,R3
\ 00000E 7413 MOV A,#0x13
\ 000010 12.... LCALL ?XSTACK_DISP0_8
\ 000013 12.... LCALL ?Subroutine33 & 0xFFFF
120 #if ( AF_V1_SUPPORT )
121
122 byte proVer = NLME_GetProtocolVersion();
123 #endif
124 afAddrType_t afAddr;
125
126 ZADDR_TO_AFADDR( addr, afAddr );
\ ??CrossCallReturnLabel_74:
\ 000016 7403 MOV A,#0x3
\ 000018 12.... LCALL ?XSTACK_DISP0_8
\ 00001B E4 CLR A
\ 00001C F0 MOVX @DPTR,A
\ 00001D 8C82 MOV DPL,R4
\ 00001F 8D83 MOV DPH,R5
\ 000021 A3 INC DPTR
\ 000022 A3 INC DPTR
\ 000023 A3 INC DPTR
\ 000024 A3 INC DPTR
\ 000025 A3 INC DPTR
\ 000026 A3 INC DPTR
\ 000027 A3 INC DPTR
\ 000028 A3 INC DPTR
\ 000029 E0 MOVX A,@DPTR
\ 00002A C0E0 PUSH A
\ 00002C 7402 MOV A,#0x2
\ 00002E 12.... LCALL ?XSTACK_DISP0_8
\ 000031 D0E0 POP A
\ 000033 F0 MOVX @DPTR,A
\ 000034 8C82 MOV DPL,R4
\ 000036 8D83 MOV DPH,R5
\ 000038 E0 MOVX A,@DPTR
\ 000039 FA MOV R2,A
\ 00003A A3 INC DPTR
\ 00003B E0 MOVX A,@DPTR
\ 00003C FB MOV R3,A
\ 00003D 85..82 MOV DPL,?XSP + 0
\ 000040 85..83 MOV DPH,?XSP + 1
\ 000043 EA MOV A,R2
\ 000044 F0 MOVX @DPTR,A
\ 000045 A3 INC DPTR
\ 000046 EB MOV A,R3
\ 000047 F0 MOVX @DPTR,A
127
128 #if ( AF_V1_SUPPORT )
129 if ( proVer == ZB_PROT_V1_0 )
130 {
131 return ( afFillAndSendMessage( &afAddr, ZDP_AF_ENDPOINT, clusterID,
132 1, FRAMETYPE_MSG, transSeq,
133 NULL, NULL, NULL, NULL, len, ZDP_TmpBuf,
134 ZDP_TxOptions, FALSE, AF_DEFAULT_RADIUS ) );
135 }
136 else
137 #endif
138 {
139 *(ZDP_TmpBuf-1) = *transSeq;
\ 000048 90.... MOV DPTR,#??ZDP_TmpBuf
\ 00004B E0 MOVX A,@DPTR
\ 00004C 24FF ADD A,#-0x1
\ 00004E F5.. MOV ?V0 + 4,A
\ 000050 A3 INC DPTR
\ 000051 E0 MOVX A,@DPTR
\ 000052 34FF ADDC A,#-0x1
\ 000054 F5.. MOV ?V0 + 5,A
\ 000056 85..82 MOV DPL,?V0 + 0
\ 000059 85..83 MOV DPH,?V0 + 1
\ 00005C E0 MOVX A,@DPTR
\ 00005D 85..82 MOV DPL,?V0 + 4
\ 000060 85..83 MOV DPH,?V0 + 5
\ 000063 F0 MOVX @DPTR,A
140
141 return AF_DataRequest( &afAddr, &ZDApp_epDesc, clusterID,
142 (uint16)(len+1), (uint8*)(ZDP_TmpBuf-1),
143 transSeq, ZDP_TxOptions, AF_DEFAULT_RADIUS );
\ 000064 ; Setup parameters for call to function AF_DataRequest
\ 000064 75..0A MOV ?V0 + 6,#0xa
\ 000067 78.. MOV R0,#?V0 + 6
\ 000069 12.... LCALL ?PUSH_XSTACK_I_ONE
\ 00006C 78.. MOV R0,#?V0 + 0
\ 00006E 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 000071 78.. MOV R0,#?V0 + 4
\ 000073 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 000076 89.. MOV ?V0 + 0,R1
\ 000078 7401 MOV A,#0x1
\ 00007A 25.. ADD A,?V0 + 0
\ 00007C F5.. MOV ?V0 + 0,A
\ 00007E E4 CLR A
\ 00007F 3400 ADDC A,#0x0
\ 000081 F5.. MOV ?V0 + 1,A
\ 000083 78.. MOV R0,#?V0 + 0
\ 000085 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 000088 78.. MOV R0,#?V0 + 2
\ 00008A 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 00008D 90.... MOV DPTR,#??ZDP_TxOptions
\ 000090 E0 MOVX A,@DPTR
\ 000091 F9 MOV R1,A
\ 000092 7C.. MOV R4,#(ZDApp_epDesc & 0xff)
\ 000094 7D.. MOV R5,#((ZDApp_epDesc >> 8) & 0xff)
\ 000096 7409 MOV A,#0x9
\ 000098 12.... LCALL ?XSTACK_DISP0_8
\ 00009B AA82 MOV R2,DPL
\ 00009D AB83 MOV R3,DPH
\ 00009F 90.... MOV DPTR,#(AF_DataRequest & 0xffff)
\ 0000A2 74.. MOV A,#((AF_DataRequest >> 16) & 0xff)
\ 0000A4 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 0000A7 7409 MOV A,#0x9
\ 0000A9 12.... LCALL ?DEALLOC_XSTACK8
\ 0000AC 7404 MOV A,#0x4
\ 0000AE REQUIRE ?Subroutine45
\ 0000AE ; // Fall through to label ?Subroutine45
144 }
145 }
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine45:
\ 000000 12.... LCALL ?DEALLOC_XSTACK8
\ 000003 7F07 MOV R7,#0x7
\ 000005 02.... LJMP ?BANKED_LEAVE_XDATA
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine33:
\ 000000 E0 MOVX A,@DPTR
\ 000001 F5.. MOV ?V0 + 2,A
\ 000003 A3 INC DPTR
\ 000004 E0 MOVX A,@DPTR
\ 000005 F5.. MOV ?V0 + 3,A
\ 000007 22 RET
146
147 /*********************************************************************
148 * @fn ZDP_SendData
149 *
150 * @brief This builds and send a request message that has
151 * NWKAddrOfInterest as its only parameter.
152 *
153 * @param dstAddr - destination address
154 * @param cmd - clusterID
155 * @param dataLen - number of bytes of data
156 * @param data - pointer to the data
157 * @param SecurityEnable - Security Options
158 *
159 * @return afStatus_t
160 */
\ In segment BANKED_CODE, align 1, keep-with-next
161 afStatus_t ZDP_SendData( byte *TransSeq, zAddrType_t *dstAddr, uint16 cmd,
\ ZDP_SendData:
162 byte len, byte *buf, byte SecurityEnable )
163 {
\ 000000 74F2 MOV A,#-0xe
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 14
\ 000005 ; Auto size: 0
\ 000005 89.. MOV ?V0 + 2,R1
\ 000007 740E MOV A,#0xe
\ 000009 12.... LCALL ?XSTACK_DISP0_8
\ 00000C 12.... LCALL ?Subroutine14 & 0xFFFF
\ ??CrossCallReturnLabel_37:
\ 00000F 7410 MOV A,#0x10
\ 000011 12.... LCALL ?XSTACK_DISP0_8
\ 000014 12.... LCALL ?Subroutine20 & 0xFFFF
\ ??CrossCallReturnLabel_45:
\ 000017 7412 MOV A,#0x12
\ 000019 12.... LCALL ?XSTACK_DISP0_8
\ 00001C E0 MOVX A,@DPTR
\ 00001D F5.. MOV ?V0 + 3,A
164 byte *pBuf = ZDP_TmpBuf;
\ 00001F 12.... LCALL ?Subroutine11 & 0xFFFF
165 byte cnt = len;
\ ??CrossCallReturnLabel_26:
\ 000022 85.... MOV ?V0 + 4,?V0 + 2
\ 000025 8010 SJMP ??ZDP_SendData_0
166
167 while ( cnt-- )
168 {
169 *pBuf++ = *buf++;
\ ??ZDP_SendData_1:
\ 000027 12.... LCALL ?Subroutine17 & 0xFFFF
\ ??CrossCallReturnLabel_102:
\ 00002A AE82 MOV R6,DPL
\ 00002C AF83 MOV R7,DPH
\ 00002E 8882 MOV DPL,R0
\ 000030 8983 MOV DPH,R1
\ 000032 A3 INC DPTR
\ 000033 A882 MOV R0,DPL
\ 000035 A983 MOV R1,DPH
170 }
\ ??ZDP_SendData_0:
\ 000037 85.... MOV ?V0 + 5,?V0 + 4
\ 00003A 74FF MOV A,#-0x1
\ 00003C 25.. ADD A,?V0 + 5
\ 00003E F5.. MOV ?V0 + 4,A
\ 000040 E5.. MOV A,?V0 + 5
\ 000042 70E3 JNZ ??ZDP_SendData_1
171
172 FillAndSendTxOptions( TransSeq, dstAddr, cmd, len,
173 (AF_DEFAULT_RADIUS | ((SecurityEnable) ? AF_EN_SECURITY : 0)) );
\ 000044 E5.. MOV A,?V0 + 3
\ 000046 6004 JZ ??ZDP_SendData_2
\ 000048 7840 MOV R0,#0x40
\ 00004A 8002 SJMP ??ZDP_SendData_3
\ ??ZDP_SendData_2:
\ 00004C 7800 MOV R0,#0x0
\ ??ZDP_SendData_3:
\ 00004E E8 MOV A,R0
\ 00004F 440A ORL A,#0xa
\ 000051 90.... MOV DPTR,#??ZDP_TxOptions
\ 000054 F0 MOVX @DPTR,A
\ 000055 ; Setup parameters for call to function fillAndSend
\ 000055 78.. MOV R0,#?V0 + 0
\ 000057 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 00005A A9.. MOV R1,?V0 + 2
\ 00005C 90.... MOV DPTR,#(??fillAndSend & 0xffff)
\ 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
\ ?Subroutine20:
\ 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
\ ?Subroutine14:
\ 000000 E0 MOVX A,@DPTR
\ 000001 F5.. MOV ?V0 + 0,A
\ 000003 A3 INC DPTR
\ 000004 E0 MOVX A,@DPTR
\ 000005 F5.. MOV ?V0 + 1,A
\ 000007 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine48:
\ 000000 8E82 MOV DPL,R6
\ 000002 8F83 MOV DPH,R7
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -