📄 sendpack.s51
字号:
// 115 MACFlush();
; Setup parameters for call to function MACFlush
LCALL MACFlush
LJMP ??WirelessSendData_27
// 116
// 117 break;
// 118
// 119 case MSG_TAG_CALLINGACK:
// 120 SendData[1] = 0xff;
??WirelessSendData_19:
MOV A,#-0x1
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x1
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 121 SendData[2] = 0xff;
MOV A,#-0x1
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x2
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 122 SendData[3] = macInfo.longAddr.v[0];
MOV DPTR,#(macInfo + 1)
MOVX A,@DPTR
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x3
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 123 SendData[4] = macInfo.longAddr.v[0];
MOV DPTR,#(macInfo + 1)
MOVX A,@DPTR
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x4
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 124
// 125 SendData[5] = 0+1;//len;
MOV A,#0x1
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x5
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 126 for(i=0;i<=5;i++)cs+=SendData[i];
MOV ?V0 + 0,#0x0
??WirelessSendData_34:
MOV A,?V0 + 0
CLR C
SUBB A,#0x6
JNC ??WirelessSendData_35
MOV ?V0 + 2,?V0 + 0
MOV ?V0 + 3,#0x0
MOV DPL,?XSP + 0
MOV DPH,?XSP + 1
MOV A,DPL
ADD A,?V0 + 2
MOV DPL,A
MOV A,DPH
ADDC A,?V0 + 3
MOV DPH,A
MOVX A,@DPTR
ADD A,R6
MOV R6,A
INC ?V0 + 0
SJMP ??WirelessSendData_34
// 127 SendData[6] = cs;//checksum;
??WirelessSendData_35:
MOV A,R6
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x6
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 128 MACPutArray(SendData, 8);
; Setup parameters for call to function MACPutArray
MOV R1,#0x8
MOV DPL,?XSP + 0
MOV DPH,?XSP + 1
MOV R2,DPL
MOV R3,DPH
LCALL MACPutArray
// 129 MACFlush();
; Setup parameters for call to function MACFlush
LCALL MACFlush
LJMP ??WirelessSendData_27
// 130
// 131 break;
// 132
// 133 case MSG_TAG_RECVMEMBER:
// 134 SendData[1] = submacCurrentFrame.sub_source_addr.v[0];
??WirelessSendData_20:
MOV DPTR,#(submacCurrentFrame + 4)
MOVX A,@DPTR
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x1
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 135 SendData[2] = submacCurrentFrame.sub_source_addr.v[1];
MOV DPTR,#(submacCurrentFrame + 5)
MOVX A,@DPTR
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x2
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 136 SendData[3] = macInfo.longAddr.v[0];
MOV DPTR,#(macInfo + 1)
MOVX A,@DPTR
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x3
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 137 SendData[4] = macInfo.longAddr.v[1];
MOV DPTR,#(macInfo + 2)
MOVX A,@DPTR
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x4
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 138
// 139 SendData[5] = 0+1;//len;
MOV A,#0x1
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x5
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 140 for(i=0;i<=5;i++)cs+=SendData[i];
MOV ?V0 + 0,#0x0
??WirelessSendData_36:
MOV A,?V0 + 0
CLR C
SUBB A,#0x6
JNC ??WirelessSendData_37
MOV ?V0 + 2,?V0 + 0
MOV ?V0 + 3,#0x0
MOV DPL,?XSP + 0
MOV DPH,?XSP + 1
MOV A,DPL
ADD A,?V0 + 2
MOV DPL,A
MOV A,DPH
ADDC A,?V0 + 3
MOV DPH,A
MOVX A,@DPTR
ADD A,R6
MOV R6,A
INC ?V0 + 0
SJMP ??WirelessSendData_36
// 141 SendData[6] = cs;//checksum;
??WirelessSendData_37:
MOV A,R6
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x6
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 142
// 143 MACPutArray(SendData, 7);
; Setup parameters for call to function MACPutArray
MOV R1,#0x7
MOV DPL,?XSP + 0
MOV DPH,?XSP + 1
MOV R2,DPL
MOV R3,DPH
LCALL MACPutArray
// 144 MACFlush();
; Setup parameters for call to function MACFlush
LCALL MACFlush
LJMP ??WirelessSendData_27
// 145
// 146 break;
// 147
// 148 case MSG_CAPTAIN_IAMCAPTAIN:
// 149 //break;
// 150 SendData[1] = 0xff;
??WirelessSendData_3:
MOV A,#-0x1
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x1
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 151 SendData[2] = 0xff;
MOV A,#-0x1
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x2
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 152 SendData[3] = macInfo.longAddr.v[0];
MOV DPTR,#(macInfo + 1)
MOVX A,@DPTR
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x3
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 153 SendData[4] = macInfo.longAddr.v[1];
MOV DPTR,#(macInfo + 2)
MOVX A,@DPTR
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x4
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 154
// 155 SendData[5] = 4+1;//len;
MOV A,#0x5
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x5
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 156 for(i=0;i<=5;i++)cs+=SendData[i];
MOV ?V0 + 0,#0x0
??WirelessSendData_38:
MOV A,?V0 + 0
CLR C
SUBB A,#0x6
JNC ??WirelessSendData_39
MOV ?V0 + 2,?V0 + 0
MOV ?V0 + 3,#0x0
MOV DPL,?XSP + 0
MOV DPH,?XSP + 1
MOV A,DPL
ADD A,?V0 + 2
MOV DPL,A
MOV A,DPH
ADDC A,?V0 + 3
MOV DPH,A
MOVX A,@DPTR
ADD A,R6
MOV R6,A
INC ?V0 + 0
SJMP ??WirelessSendData_38
// 157 SendData[6] = cs;//checksum;
??WirelessSendData_39:
MOV A,R6
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x6
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 158
// 159 rssi=ThisNode.RSSI; rssi+=50; if(rssi>128) rssi=0; rssi/=3;
MOV DPTR,#(ThisNode + 7)
MOVX A,@DPTR
MOV R7,A
MOV A,#0x32
ADD A,R7
MOV R7,A
MOV A,R7
CLR C
SUBB A,#-0x7f
JC ??WirelessSendData_40
MOV R7,#0x0
??WirelessSendData_40:
MOV B,#0x3
MOV A,R7
DIV AB
MOV R7,A
// 160 SendData[7] = ((rssi <<3)&0xf8)|(ThisNode.RecSenMsgTimeVal&0x07);
MOV DPTR,#(ThisNode + 14)
MOVX A,@DPTR
ANL A,#0x7
PUSH A
CFI CFA_SP SP+-1
MOV A,R7
RLC A
RLC A
RLC A
ANL A,#0xf8
MOV R2,A
POP A
CFI CFA_SP SP+0
ORL A,R2
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x7
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 161
// 162 SendData[8] = GroupChannelIdx;
MOV DPTR,#GroupChannelIdx
MOVX A,@DPTR
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x8
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 163 SendData[9] = ThisNode.MEMBERNUM;
MOV DPTR,#(ThisNode + 3)
MOVX A,@DPTR
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x9
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 164 SendData[10] = MAX_GROUPMENBER_NUM;
MOV A,#0xf
PUSH A
CFI CFA_SP SP+-1
MOV A,#0xa
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 165 MACPutArray(SendData, 11);
; Setup parameters for call to function MACPutArray
MOV R1,#0xb
MOV DPL,?XSP + 0
MOV DPH,?XSP + 1
MOV R2,DPL
MOV R3,DPH
LCALL MACPutArray
// 166 MACFlush();
; Setup parameters for call to function MACFlush
LCALL MACFlush
LJMP ??WirelessSendData_27
// 167
// 168 break;
// 169
// 170
// 171 case MSG_CAPTAIN_LEAVEACCEPT:
// 172 //break;
// 173 SendData[1] = submacCurrentFrame.sub_source_addr.v[0];
??WirelessSendData_16:
MOV DPTR,#(submacCurrentFrame + 4)
MOVX A,@DPTR
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x1
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 174 SendData[2] = submacCurrentFrame.sub_source_addr.v[1];
MOV DPTR,#(submacCurrentFrame + 5)
MOVX A,@DPTR
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x2
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 175 SendData[3] = macInfo.longAddr.v[0];
MOV DPTR,#(macInfo + 1)
MOVX A,@DPTR
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x3
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 176 SendData[4] = macInfo.longAddr.v[1];
MOV DPTR,#(macInfo + 2)
MOVX A,@DPTR
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x4
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 177
// 178 SendData[5] = 4+1;//len;
MOV A,#0x5
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x5
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 179 for(i=0;i<=5;i++)cs+=SendData[i];
MOV ?V0 + 0,#0x0
??WirelessSendData_41:
MOV A,?V0 + 0
CLR C
SUBB A,#0x6
JNC ??WirelessSendData_42
MOV ?V0 + 2,?V0 + 0
MOV ?V0 + 3,#0x0
MOV DPL,?XSP + 0
MOV DPH,?XSP + 1
MOV A,DPL
ADD A,?V0 + 2
MOV DPL,A
MOV A,DPH
ADDC A,?V0 + 3
MOV DPH,A
MOVX A,@DPTR
ADD A,R6
MOV R6,A
INC ?V0 + 0
SJMP ??WirelessSendData_41
// 180 SendData[6] = cs;//checksum;
??WirelessSendData_42:
MOV A,R6
PUSH A
CFI CFA_SP SP+-1
MOV A,#0x6
LCALL ?XSTACK_DISP0_8
POP A
CFI CFA_SP SP+0
MOVX @DPTR,A
// 181
// 182 rssi=ThisNode.RSSI; rssi+=50; if(rssi>128) rssi=0; rssi/=3;
MOV DPTR,#(ThisNode + 7)
MOVX A,@DPTR
MOV R7,A
MOV A,#0x32
ADD A,R7
MOV R7,A
MOV A,R7
CLR C
SUBB A,#-0x7f
JC ??WirelessSendData_43
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -