📄 mtel.lst
字号:
259 #if defined (ZTOOL_P1) || defined (ZTOOL_P2)
260 if ( events & MT_ZTOOL_SERIAL_RCV_BUFFER_FULL )
\ 000013 EE MOV A,R6
\ 000014 5404 ANL A,#0x4
\ 000016 6034 JZ ??MT_ProcessEvent_2
261 {
262 // Do sometype of error processing
263 MT_SendErrorNotification(RECEIVE_BUFFER_FULL);
\ 000018 ; Setup parameters for call to function MT_SendErrorNotification
\ 000018 7902 MOV R1,#0x2
\ 00001A 90.... MOV DPTR,#(MT_SendErrorNotification & 0xffff)
\ 00001D 74.. MOV A,#((MT_SendErrorNotification >> 16) & 0xff)
\ 00001F 12.... LCALL ?BCALL ; Banked call to: DPTR()
264
265 // Return unproccessed events
266 return (events ^ MT_ZTOOL_SERIAL_RCV_BUFFER_FULL);
\ 000022 7404 MOV A,#0x4
\ 000024 6E XRL A,R6
\ 000025 FA MOV R2,A
\ 000026 EF MOV A,R7
\ ??MT_ProcessEvent_3:
\ 000027 FB MOV R3,A
\ 000028 8026 SJMP ??MT_ProcessEvent_4
267 }
\ ??MT_ProcessEvent_5:
\ 00002A ; Setup parameters for call to function MT_ProcessCommand
\ 00002A 90.... MOV DPTR,#(MT_ProcessCommand & 0xffff)
\ 00002D 74.. MOV A,#((MT_ProcessCommand >> 16) & 0xff)
\ 00002F 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ ??MT_ProcessEvent_1:
\ 000032 ; Setup parameters for call to function osal_msg_receive
\ 000032 90.... MOV DPTR,#MT_TaskID
\ 000035 E0 MOVX A,@DPTR
\ 000036 F9 MOV R1,A
\ 000037 90.... MOV DPTR,#(osal_msg_receive & 0xffff)
\ 00003A 74.. MOV A,#((osal_msg_receive >> 16) & 0xff)
\ 00003C 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 00003F EA MOV A,R2
\ 000040 7001 JNZ ??MT_ProcessEvent_6
\ 000042 EB MOV A,R3
\ ??MT_ProcessEvent_6:
\ 000043 70E5 JNZ ??MT_ProcessEvent_5
\ 000045 EE MOV A,R6
\ 000046 FA MOV R2,A
\ 000047 7480 MOV A,#-0x80
\ 000049 6F XRL A,R7
\ 00004A 80DB SJMP ??MT_ProcessEvent_3
268 #endif
269
270 // Discard or make more handlers
271 return 0;
\ ??MT_ProcessEvent_2:
\ 00004C 7A00 MOV R2,#0x0
\ 00004E 7B00 MOV R3,#0x0
\ ??MT_ProcessEvent_4:
\ 000050 02.... LJMP ??Subroutine17_1 & 0xFFFF
272
273 } /* MT_ProcessEvent() */
274
275 #if defined (ZTOOL_P1) || defined (ZTOOL_P2)
276 /*********************************************************************
277 * @fn MT_BuildSPIMsg
278 *
279 * @brief
280 *
281 * Format an SPI message.
282 *
283 * @param UINT16 cmd - command id
284 * @param byte *msg - pointer to message buffer
285 * @param byte dataLen - length of data field
286 * @param byte *pData - pointer to data field
287 *
288 * @return void
289 */
\ In segment BANKED_CODE, align 1, keep-with-next
290 void MT_BuildSPIMsg( UINT16 cmd, byte *msg, byte dataLen, byte *pData )
\ MT_BuildSPIMsg:
291 {
\ 000000 74F2 MOV A,#-0xe
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 14
\ 000005 ; Auto size: 0
\ 000005 EC MOV A,R4
\ 000006 FE MOV R6,A
\ 000007 ED MOV A,R5
\ 000008 FF MOV R7,A
\ 000009 89.. MOV ?V0 + 3,R1
\ 00000B 740E MOV A,#0xe
\ 00000D 12.... LCALL ?XSTACK_DISP0_8
\ 000010 E0 MOVX A,@DPTR
\ 000011 F5.. MOV ?V0 + 0,A
\ 000013 A3 INC DPTR
\ 000014 E0 MOVX A,@DPTR
\ 000015 F5.. MOV ?V0 + 1,A
292 byte *msgPtr;
293
294 *msg++ = SOP_VALUE;
\ 000017 7402 MOV A,#0x2
\ 000019 8E82 MOV DPL,R6
\ 00001B 8F83 MOV DPH,R7
\ 00001D F0 MOVX @DPTR,A
\ 00001E A3 INC DPTR
\ 00001F AE82 MOV R6,DPL
\ 000021 AF83 MOV R7,DPH
295
296 msgPtr = msg;
\ 000023 8E.. MOV ?V0 + 4,R6
\ 000025 8F.. MOV ?V0 + 5,R7
297
298 *msg++ = (byte)(HI_UINT16( cmd ));
\ 000027 EB MOV A,R3
\ 000028 F0 MOVX @DPTR,A
\ 000029 A3 INC DPTR
299 *msg++ = (byte)(LO_UINT16( cmd ));
\ 00002A EA MOV A,R2
\ 00002B F0 MOVX @DPTR,A
\ 00002C A3 INC DPTR
\ 00002D 0E INC R6
\ 00002E 0E INC R6
\ 00002F AF83 MOV R7,DPH
300
301 if ( pData )
\ 000031 E5.. MOV A,?V0 + 0
\ 000033 7002 JNZ ??MT_BuildSPIMsg_0
\ 000035 E5.. MOV A,?V0 + 1
\ ??MT_BuildSPIMsg_0:
\ 000037 602E JZ ??MT_BuildSPIMsg_1
302 {
303 *msg++ = dataLen;
\ 000039 E9 MOV A,R1
\ 00003A F0 MOVX @DPTR,A
304
305 msg = osal_memcpy( msg, pData, dataLen );
\ 00003B ; Setup parameters for call to function osal_memcpy
\ 00003B 75..00 MOV ?V0 + 2,#0x0
\ 00003E 78.. MOV R0,#?V0 + 0
\ 000040 12.... LCALL ?PUSH_XSTACK_I_THREE
\ 000043 E9 MOV A,R1
\ 000044 FC MOV R4,A
\ 000045 7D00 MOV R5,#0x0
\ 000047 8E82 MOV DPL,R6
\ 000049 8F83 MOV DPH,R7
\ 00004B A3 INC DPTR
\ 00004C AA82 MOV R2,DPL
\ 00004E AB83 MOV R3,DPH
\ 000050 90.... MOV DPTR,#(osal_memcpy & 0xffff)
\ 000053 74.. MOV A,#((osal_memcpy >> 16) & 0xff)
\ 000055 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000058 7403 MOV A,#0x3
\ 00005A 12.... LCALL ?DEALLOC_XSTACK8
\ 00005D 8A.. MOV ?V0 + 0,R2
\ 00005F 8B.. MOV ?V0 + 1,R3
\ 000061 AE.. MOV R6,?V0 + 0
\ 000063 AF.. MOV R7,?V0 + 1
\ 000065 8006 SJMP ??MT_BuildSPIMsg_2
306 }
307 else
308 *msg++ = 0;
\ ??MT_BuildSPIMsg_1:
\ 000067 E4 CLR A
\ 000068 F0 MOVX @DPTR,A
\ 000069 A3 INC DPTR
\ 00006A 0E INC R6
\ 00006B AF83 MOV R7,DPH
309
310 *msg = SPIMgr_CalcFCS( msgPtr, (byte)(3 + dataLen) );
\ ??MT_BuildSPIMsg_2:
\ 00006D ; Setup parameters for call to function SPIMgr_CalcFCS
\ 00006D 7403 MOV A,#0x3
\ 00006F 25.. ADD A,?V0 + 3
\ 000071 F9 MOV R1,A
\ 000072 AA.. MOV R2,?V0 + 4
\ 000074 AB.. MOV R3,?V0 + 5
\ 000076 90.... MOV DPTR,#(SPIMgr_CalcFCS & 0xffff)
\ 000079 74.. MOV A,#((SPIMgr_CalcFCS >> 16) & 0xff)
\ 00007B 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 00007E E9 MOV A,R1
\ 00007F 8E82 MOV DPL,R6
\ 000081 8F83 MOV DPH,R7
\ 000083 F0 MOVX @DPTR,A
311 }
\ 000084 02.... LJMP ??Subroutine18_1 & 0xFFFF
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine18:
\ 000000 7401 MOV A,#0x1
\ ??Subroutine18_0:
\ 000002 12.... LCALL ?DEALLOC_XSTACK8
\ ??Subroutine18_1:
\ 000005 7F06 MOV R7,#0x6
\ 000007 02.... LJMP ?BANKED_LEAVE_XDATA
312 #endif
313
314 #if defined (ZTOOL_P1) || defined (ZTOOL_P2)
315 /*********************************************************************
316 * @fn MT_BuildAndSendZToolResponse
317 *
318 * @brief
319 *
320 * Build and send a ZTOOL msg
321 *
322 * @param byte err
323 *
324 * @return void
325 */
\ In segment BANKED_CODE, align 1, keep-with-next
326 void MT_BuildAndSendZToolResponse( byte msgLen, uint16 cmd,
\ MT_BuildAndSendZToolResponse:
327 byte dataLen, byte *pData )
328 {
\ 000000 74F0 MOV A,#-0x10
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 16
\ 000005 ; Auto size: 0
\ 000005 89.. MOV ?V0 + 2,R1
\ 000007 8A.. MOV ?V0 + 6,R2
\ 000009 8B.. MOV ?V0 + 7,R3
\ 00000B 8C.. MOV ?V0 + 3,R4
\ 00000D 7410 MOV A,#0x10
\ 00000F 12.... LCALL ?XSTACK_DISP0_8
\ 000012 E0 MOVX A,@DPTR
\ 000013 F5.. MOV ?V0 + 0,A
\ 000015 A3 INC DPTR
\ 000016 E0 MOVX A,@DPTR
\ 000017 F5.. MOV ?V0 + 1,A
329 byte *msg_ptr;
330
331 // Get a message buffer to build response message
332 msg_ptr = osal_mem_alloc( msgLen );
\ 000019 ; Setup parameters for call to function osal_mem_alloc
\ 000019 E9 MOV A,R1
\ 00001A FA MOV R2,A
\ 00001B 7B00 MOV R3,#0x0
\ 00001D 90.... MOV DPTR,#(osal_mem_alloc & 0xffff)
\ 000020 74.. MOV A,#((osal_mem_alloc >> 16) & 0xff)
\ 000022 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000025 8A.. MOV ?V0 + 4,R2
\ 000027 8B.. MOV ?V0 + 5,R3
\ 000029 AE.. MOV R6,?V0 + 4
\ 00002B AF.. MOV R7,?V0 + 5
333 if ( msg_ptr )
\ 00002D EE MOV A,R6
\ 00002E 7001 JNZ ??MT_BuildAndSendZToolResponse_0
\ 000030 EF MOV A,R7
\ ??MT_BuildAndSendZToolResponse_0:
\ 000031 603A JZ ??MT_BuildAndSendZToolResponse_1
334 {
335 #ifdef SPI_MGR_DEFAULT_PORT
336 MT_BuildSPIMsg( cmd, msg_ptr, dataLen, pData );
\ 000033 ; Setup parameters for call to function MT_BuildSPIMsg
\ 000033 78.. MOV R0,#?V0 + 0
\ 000035 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 000038 A9.. MOV R1,?V0 + 3
\ 00003A EE MOV A,R6
\ 00003B FC MOV R4,A
\ 00003C EF MOV A,R7
\ 00003D FD MOV R5,A
\ 00003E AA.. MOV R2,?V0 + 6
\ 000040 AB.. MOV R3,?V0 + 7
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -