📄 spimgr.lst
字号:
\ 00002B 90.... MOV DPTR,#(Hal_UART_RxBufLen & 0xffff)
\ 00002E 74.. MOV A,#((Hal_UART_RxBufLen >> 16) & 0xff)
\ 000030 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000033 EA MOV A,R2
\ 000034 7001 JNZ ??SPIMgr_ProcessZToolData_5
\ 000036 EB MOV A,R3
\ ??SPIMgr_ProcessZToolData_5:
\ 000037 60DB JZ ??SPIMgr_ProcessZToolData_0
\ 000039 ; Setup parameters for call to function HalUARTRead
\ 000039 7C04 MOV R4,#0x4
\ 00003B 7D00 MOV R5,#0x0
\ 00003D 85..82 MOV DPL,?XSP + 0
\ 000040 85..83 MOV DPH,?XSP + 1
\ 000043 AA82 MOV R2,DPL
\ 000045 AB83 MOV R3,DPH
\ 000047 7900 MOV R1,#0x0
\ 000049 90.... MOV DPTR,#(HalUARTRead & 0xffff)
\ 00004C 74.. MOV A,#((HalUARTRead >> 16) & 0xff)
\ 00004E 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000051 ; Setup parameters for call to function SendData
\ 000051 7902 MOV R1,#0x2
\ 000053 85..82 MOV DPL,?XSP + 0
\ 000056 85..83 MOV DPH,?XSP + 1
\ 000059 E0 MOVX A,@DPTR
\ 00005A FB MOV R3,A
\ 00005B 7401 MOV A,#0x1
\ 00005D 12.... LCALL ?XSTACK_DISP0_8
\ 000060 E0 MOVX A,@DPTR
\ 000061 FC MOV R4,A
\ 000062 EB MOV A,R3
\ 000063 FD MOV R5,A
\ 000064 E9 MOV A,R1
\ 000065 12.... LCALL ?XSTACK_DISP0_8
\ 000068 AA82 MOV R2,DPL
\ 00006A AB83 MOV R3,DPH
\ 00006C 90.... MOV DPTR,#(SendData & 0xffff)
\ 00006F 74.. MOV A,#((SendData >> 16) & 0xff)
\ 000071 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000074 90.... MOV DPTR,#state
\ 000077 E0 MOVX A,@DPTR
\ 000078 12.... LCALL ?UC_SWITCH_DENSE
\ `?<Jumptable for SPIMgr_ProcessZToolData>_0`:
\ 00007B 00 DB 0
\ 00007C 05 DB 5
\ 00007D .... DW ??SPIMgr_ProcessZToolData_1
\ 00007F .... DW ??SPIMgr_ProcessZToolData_6
\ 000081 .... DW ??SPIMgr_ProcessZToolData_2
\ 000083 .... DW ??SPIMgr_ProcessZToolData_7
\ 000085 .... DW ??SPIMgr_ProcessZToolData_8
\ 000087 .... DW ??SPIMgr_ProcessZToolData_9
\ 000089 .... DW ??SPIMgr_ProcessZToolData_10
\ ??SPIMgr_ProcessZToolData_6:
\ 00008B 7402 MOV A,#0x2
\ 00008D 6E XRL A,R6
\ 00008E 7099 JNZ ??SPIMgr_ProcessZToolData_1
\ 000090 7401 MOV A,#0x1
\ 000092 8091 SJMP ??SPIMgr_ProcessZToolData_3
217 break;
218
219 case CMD_STATE2:
220 CMD_Token[1] = ch;
\ ??SPIMgr_ProcessZToolData_7:
\ 000094 EE MOV A,R6
\ 000095 90.... MOV DPTR,#(CMD_Token + 1)
\ 000098 F0 MOVX @DPTR,A
221 state = LEN_STATE;
\ 000099 7403 MOV A,#0x3
\ 00009B 8088 SJMP ??SPIMgr_ProcessZToolData_3
222 break;
223
224 case LEN_STATE:
225 LEN_Token = ch;
\ ??SPIMgr_ProcessZToolData_8:
\ 00009D EE MOV A,R6
\ 00009E 90.... MOV DPTR,#LEN_Token
\ 0000A1 F0 MOVX @DPTR,A
226 if (ch == 0)
\ 0000A2 7004 JNZ ??SPIMgr_ProcessZToolData_11
227 state = FCS_STATE;
\ 0000A4 7405 MOV A,#0x5
\ 0000A6 8002 SJMP ??SPIMgr_ProcessZToolData_12
228 else
229 state = DATA_STATE;
\ ??SPIMgr_ProcessZToolData_11:
\ 0000A8 7404 MOV A,#0x4
\ ??SPIMgr_ProcessZToolData_12:
\ 0000AA 90.... MOV DPTR,#state
\ 0000AD F0 MOVX @DPTR,A
230
231 tempDataLen = 0;
\ 0000AE E4 CLR A
\ 0000AF 90.... MOV DPTR,#tempDataLen
\ 0000B2 F0 MOVX @DPTR,A
232
233 /* Allocate memory for the data */
234 SPI_Msg = (mtOSALSerialData_t *)osal_msg_allocate( sizeof ( mtOSALSerialData_t ) + 2+1+LEN_Token );
\ 0000B3 ; Setup parameters for call to function osal_msg_allocate
\ 0000B3 90.... MOV DPTR,#LEN_Token
\ 0000B6 E0 MOVX A,@DPTR
\ 0000B7 F8 MOV R0,A
\ 0000B8 7407 MOV A,#0x7
\ 0000BA 28 ADD A,R0
\ 0000BB FA MOV R2,A
\ 0000BC E4 CLR A
\ 0000BD 3400 ADDC A,#0x0
\ 0000BF FB MOV R3,A
\ 0000C0 90.... MOV DPTR,#(osal_msg_allocate & 0xffff)
\ 0000C3 74.. MOV A,#((osal_msg_allocate >> 16) & 0xff)
\ 0000C5 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 0000C8 90.... MOV DPTR,#SPI_Msg
\ 0000CB EA MOV A,R2
\ 0000CC F0 MOVX @DPTR,A
\ 0000CD A3 INC DPTR
\ 0000CE EB MOV A,R3
\ 0000CF F0 MOVX @DPTR,A
235
236 if (SPI_Msg)
\ 0000D0 90.... MOV DPTR,#SPI_Msg
\ 0000D3 E0 MOVX A,@DPTR
\ 0000D4 7002 JNZ ??SPIMgr_ProcessZToolData_13
\ 0000D6 A3 INC DPTR
\ 0000D7 E0 MOVX A,@DPTR
\ ??SPIMgr_ProcessZToolData_13:
\ 0000D8 6044 JZ ??SPIMgr_ProcessZToolData_14
237 {
238 /* Fill up what we can */
239 SPI_Msg->hdr.event = CMD_SERIAL_MSG;
\ 0000DA 12.... LCALL ?Subroutine4 & 0xFFFF
\ ??CrossCallReturnLabel_8:
\ 0000DD 7401 MOV A,#0x1
\ 0000DF F0 MOVX @DPTR,A
240 SPI_Msg->msg = (uint8*)(SPI_Msg+1);
\ 0000E0 90.... MOV DPTR,#SPI_Msg
\ 0000E3 E0 MOVX A,@DPTR
\ 0000E4 2404 ADD A,#0x4
\ 0000E6 F8 MOV R0,A
\ 0000E7 A3 INC DPTR
\ 0000E8 E0 MOVX A,@DPTR
\ 0000E9 3400 ADDC A,#0x0
\ 0000EB F9 MOV R1,A
\ 0000EC 12.... LCALL ?Subroutine2 & 0xFFFF
\ ??CrossCallReturnLabel_4:
\ 0000EF E8 MOV A,R0
\ 0000F0 F0 MOVX @DPTR,A
\ 0000F1 A3 INC DPTR
\ 0000F2 E9 MOV A,R1
\ 0000F3 F0 MOVX @DPTR,A
241 SPI_Msg->msg[0] = CMD_Token[0];
\ 0000F4 90.... MOV DPTR,#CMD_Token
\ 0000F7 E0 MOVX A,@DPTR
\ 0000F8 C0E0 PUSH A
\ 0000FA 12.... LCALL ?Subroutine1 & 0xFFFF
\ ??CrossCallReturnLabel_2:
\ 0000FD 12.... LCALL ??Subroutine4_0 & 0xFFFF
\ ??CrossCallReturnLabel_9:
\ 000100 D0E0 POP A
\ 000102 F0 MOVX @DPTR,A
242 SPI_Msg->msg[1] = CMD_Token[1];
\ 000103 90.... MOV DPTR,#(CMD_Token + 1)
\ 000106 E0 MOVX A,@DPTR
\ 000107 C0E0 PUSH A
\ 000109 12.... LCALL ?Subroutine0 & 0xFFFF
\ ??CrossCallReturnLabel_0:
\ 00010C D0E0 POP A
\ 00010E F0 MOVX @DPTR,A
243 SPI_Msg->msg[2] = LEN_Token;
\ 00010F 90.... MOV DPTR,#LEN_Token
\ 000112 E0 MOVX A,@DPTR
\ 000113 C0E0 PUSH A
\ 000115 12.... LCALL ?Subroutine0 & 0xFFFF
\ ??CrossCallReturnLabel_1:
\ 000118 A3 INC DPTR
\ 000119 D0E0 POP A
\ 00011B 02.... LJMP ??SPIMgr_ProcessZToolData_4 & 0xFFFF
244 }
245 else
246 {
247 state = SOP_STATE;
\ ??SPIMgr_ProcessZToolData_14:
\ 00011E E4 CLR A
\ 00011F 90.... MOV DPTR,#state
\ 000122 F0 MOVX @DPTR,A
248 return;
\ 000123 02.... LJMP ??SPIMgr_ProcessZToolData_0 & 0xFFFF
249 }
250
251 break;
252
253 case DATA_STATE:
254 SPI_Msg->msg[3 + tempDataLen++] = ch;
\ ??SPIMgr_ProcessZToolData_9:
\ 000126 90.... MOV DPTR,#tempDataLen
\ 000129 E0 MOVX A,@DPTR
\ 00012A F8 MOV R0,A
\ 00012B 12.... LCALL ?Subroutine2 & 0xFFFF
\ ??CrossCallReturnLabel_5:
\ 00012E E0 MOVX A,@DPTR
\ 00012F 28 ADD A,R0
\ 000130 FA MOV R2,A
\ 000131 A3 INC DPTR
\ 000132 E0 MOVX A,@DPTR
\ 000133 3400 ADDC A,#0x0
\ 000135 8A82 MOV DPL,R2
\ 000137 F583 MOV DPH,A
\ 000139 A3 INC DPTR
\ 00013A A3 INC DPTR
\ 00013B A3 INC DPTR
\ 00013C EE MOV A,R6
\ 00013D F0 MOVX @DPTR,A
\ 00013E 90.... MOV DPTR,#tempDataLen
\ 000141 E0 MOVX A,@DPTR
\ 000142 04 INC A
\ 000143 F0 MOVX @DPTR,A
255 if ( tempDataLen == LEN_Token )
\ 000144 FA MOV R2,A
\ 000145 90.... MOV DPTR,#LEN_Token
\ 000148 E0 MOVX A,@DPTR
\ 000149 6A XRL A,R2
\ 00014A 6003 JZ $+5
\ 00014C 02.... LJMP ??SPIMgr_ProcessZToolData_1 & 0xFFFF
256 state = FCS_STATE;
\ 00014F 7405 MOV A,#0x5
\ 000151 02.... LJMP ??SPIMgr_ProcessZToolData_3 & 0xFFFF
257 break;
258
259 case FCS_STATE:
260
261 FSC_Token = ch;
\ ??SPIMgr_ProcessZToolData_10:
\ 000154 EE MOV A,R6
\ 000155 90.... MOV DPTR,#FSC_Token
\ 000158 F0 MOVX @DPTR,A
262
263 /* Make sure it's correct */
264 if ((SPIMgr_CalcFCS ((uint8*)&SPI_Msg->msg[0], 2 + 1 + LEN_Token) == FSC_Token))
\ 000159 ; Setup parameters for call to function SPIMgr_CalcFCS
\ 000159 90.... MOV DPTR,#LEN_Token
\ 00015C E0 MOVX A,@DPTR
\ 00015D 2403 ADD A,#0x3
\ 00015F F9 MOV R1,A
\ 000160 12.... LCALL ?Subroutine1 & 0xFFFF
\ ??CrossCallReturnLabel_3:
\ 000163 FA MOV R2,A
\ 000164 A3 INC DPTR
\ 000165 E0 MOVX A,@DPTR
\ 000166 FB MOV R3,A
\ 000167 90.... MOV DPTR,#(SPIMgr_CalcFCS & 0xffff)
\ 00016A 74.. MOV A,#((SPIMgr_CalcFCS >> 16) & 0xff)
\ 00016C 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 00016F E9 MOV A,R1
\ 000170 FA MOV R2,A
\ 000171 90.... MOV DPTR,#FSC_Token
\ 000174 E0 MOVX A,@DPTR
\ 000175 6A XRL A,R2
\ 000176 90.... MOV DPTR,#SPI_Msg
\ 000179 7011 JNZ ??SPIMgr_ProcessZToolData_15
265 {
266 osal_msg_send( MT_TaskID, (byte *)SPI_Msg );
\ 00017B ; Setup parameters for call to function osal_msg_send
\ 00017B E0 MOVX A,@DPTR
\ 00017C FA MOV R2,A
\ 00017D A3 INC DPTR
\ 00017E E0 MOVX A,@DPTR
\ 00017F FB MOV R3,A
\ 000180 90.... MOV DPTR,#MT_TaskID
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -