📄 blind_node.lst
字号:
\ ??RunBlindNode_22:
\ 0002D6 8A82 MOV DPL,R2
\ 0002D8 8B83 MOV DPH,R3
\ 0002DA E0 MOVX A,@DPTR
\ 0002DB F5.. MOV ?V0 + 2,A
\ 0002DD A3 INC DPTR
\ 0002DE E0 MOVX A,@DPTR
\ 0002DF F5.. MOV ?V0 + 3,A
\ 0002E1 7403 MOV A,#0x3
\ 0002E3 78.. MOV R0,#?V0 + 2
\ 0002E5 12.... LCALL ?US_SHR
\ 0002E8 8A82 MOV DPL,R2
\ 0002EA 8B83 MOV DPH,R3
\ 0002EC E5.. MOV A,?V0 + 2
\ 0002EE F0 MOVX @DPTR,A
\ 0002EF A3 INC DPTR
\ 0002F0 E5.. MOV A,?V0 + 3
\ 0002F2 F0 MOVX @DPTR,A
238
239 // point to next ref node
240 refNodeRequested++;
\ 0002F3 0F INC R7
241 nbrOfRefNodesReceivedForCalculation++;
\ 0002F4 05.. INC ?V0 + 4
242 if(refNodeRequested < nbrOfNodesToUse)
\ 0002F6 EF MOV A,R7
\ 0002F7 C3 CLR C
\ 0002F8 95.. SUBB A,?V0 + 5
\ 0002FA 5004 JNC ??RunBlindNode_24
243 {
244 nbrOfPacketsReceivedFromNode = 0;
\ 0002FC 7E00 MOV R6,#0x0
245 blindNodeState = REQUEST_REF_NODE_PACKET;
\ 0002FE 80D1 SJMP ??RunBlindNode_23
246 }
247 else
248 {
249 blindNodeState = ESTIMATE_LOCATION;
\ ??RunBlindNode_24:
\ 000300 7407 MOV A,#0x7
\ 000302 90.... MOV DPTR,#blindNodeState
\ 000305 F0 MOVX @DPTR,A
250 INT_ENABLE(INUM_ST, INT_OFF);
\ 000306 C2AD CLR 0xa8.5
\ 000308 02.... LJMP ??RunBlindNode_4 & 0xFFFF
251 }
252 }
253 }
254 SET_BUFFER_EMPTY();
255 }
256 else if (nbrOfReqTimeOuts >= NBR_OF_TIMEOUTS_ALLOWED)
\ ??RunBlindNode_19:
\ 00030B 90.... MOV DPTR,#nbrOfReqTimeOuts
\ 00030E E0 MOVX A,@DPTR
\ 00030F C3 CLR C
\ 000310 9405 SUBB A,#0x5
\ 000312 5003 JNC $+5
\ 000314 02.... LJMP ??RunBlindNode_0 & 0xFFFF
257 {
258 // reference node not reply, point to next ref node
259 refNodeRequested++;
\ 000317 0F INC R7
260 if(refNodeRequested < nbrOfNodesToUse)
\ 000318 EF MOV A,R7
\ 000319 C3 CLR C
\ 00031A 95.. SUBB A,?V0 + 5
\ 00031C 5007 JNC ??RunBlindNode_25
261 {
262 nbrOfPacketsReceivedFromNode = 0;
\ 00031E 7E00 MOV R6,#0x0
263 blindNodeState = REQUEST_REF_NODE_PACKET;
\ 000320 7405 MOV A,#0x5
\ 000322 02.... LJMP ??RunBlindNode_16 & 0xFFFF
264 }
265 else
266 {
267 blindNodeState = ESTIMATE_LOCATION;
\ ??RunBlindNode_25:
\ 000325 7407 MOV A,#0x7
\ 000327 90.... MOV DPTR,#blindNodeState
\ 00032A F0 MOVX @DPTR,A
268 INT_ENABLE(INUM_ST, INT_OFF);
\ 00032B C2AD CLR 0xa8.5
\ 00032D 02.... LJMP ??RunBlindNode_0 & 0xFFFF
269 }
270 }
271 break;
272 case ESTIMATE_LOCATION:
273 CreateInputArrayToLocEngine(xUpperLeft, yUpperLeft);
\ ??RunBlindNode_13:
\ 000330 ; Setup parameters for call to function CreateInputArrayToLocEngine
\ 000330 7402 MOV A,#0x2
\ 000332 12.... LCALL ?XSTACK_DISP0_8
\ 000335 E0 MOVX A,@DPTR
\ 000336 FC MOV R4,A
\ 000337 A3 INC DPTR
\ 000338 E0 MOVX A,@DPTR
\ 000339 FD MOV R5,A
\ 00033A 85..82 MOV DPL,?XSP + 0
\ 00033D 85..83 MOV DPH,?XSP + 1
\ 000340 E0 MOVX A,@DPTR
\ 000341 FA MOV R2,A
\ 000342 A3 INC DPTR
\ 000343 E0 MOVX A,@DPTR
\ 000344 FB MOV R3,A
\ 000345 90.... MOV DPTR,#(CreateInputArrayToLocEngine & 0xffff)
\ 000348 74.. MOV A,#((CreateInputArrayToLocEngine >> 16) & 0xff)
\ 00034A 12.... LCALL ?BCALL ; Banked call to: DPTR()
274
275 CalculatePosition(refNodes, a_val, n_index, &xLocValue, &yLocValue);
\ 00034D ; Setup parameters for call to function CalculatePosition
\ 00034D 7405 MOV A,#0x5
\ 00034F 12.... LCALL ?XSTACK_DISP0_8
\ 000352 8582.. MOV ?V0 + 2,DPL
\ 000355 8583.. MOV ?V0 + 3,DPH
\ 000358 78.. MOV R0,#?V0 + 2
\ 00035A 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 00035D 7406 MOV A,#0x6
\ 00035F 12.... LCALL ?XSTACK_DISP0_8
\ 000362 8582.. MOV ?V0 + 2,DPL
\ 000365 8583.. MOV ?V0 + 3,DPH
\ 000368 78.. MOV R0,#?V0 + 2
\ 00036A 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 00036D 90.... MOV DPTR,#n_index
\ 000370 E0 MOVX A,@DPTR
\ 000371 FC MOV R4,A
\ 000372 90.... MOV DPTR,#a_val
\ 000375 E0 MOVX A,@DPTR
\ 000376 F9 MOV R1,A
\ 000377 7A.. MOV R2,#(refNodes & 0xff)
\ 000379 7B.. MOV R3,#((refNodes >> 8) & 0xff)
\ 00037B 90.... MOV DPTR,#(CalculatePosition & 0xffff)
\ 00037E 74.. MOV A,#((CalculatePosition >> 16) & 0xff)
\ 000380 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000383 7404 MOV A,#0x4
\ 000385 12.... LCALL ?DEALLOC_XSTACK8
276 x = (xLocValue << 1) + xUpperLeft; // convert to UINT8_2 and add offset
\ 000388 7404 MOV A,#0x4
\ 00038A 12.... LCALL ?XSTACK_DISP0_8
\ 00038D E0 MOVX A,@DPTR
\ 00038E C3 CLR C
\ 00038F 33 RLC A
\ 000390 F8 MOV R0,A
\ 000391 E4 CLR A
\ 000392 33 RLC A
\ 000393 F9 MOV R1,A
\ 000394 85..82 MOV DPL,?XSP + 0
\ 000397 85..83 MOV DPH,?XSP + 1
\ 00039A E0 MOVX A,@DPTR
\ 00039B 28 ADD A,R0
\ 00039C F8 MOV R0,A
\ 00039D A3 INC DPTR
\ 00039E E0 MOVX A,@DPTR
\ 00039F 39 ADDC A,R1
\ 0003A0 F9 MOV R1,A
\ 0003A1 90.... MOV DPTR,#x
\ 0003A4 E8 MOV A,R0
\ 0003A5 F0 MOVX @DPTR,A
\ 0003A6 A3 INC DPTR
\ 0003A7 E9 MOV A,R1
\ 0003A8 F0 MOVX @DPTR,A
277 y = (yLocValue << 1) + yUpperLeft; // convert to UINT8_2 and add offset
\ 0003A9 7405 MOV A,#0x5
\ 0003AB 12.... LCALL ?XSTACK_DISP0_8
\ 0003AE E0 MOVX A,@DPTR
\ 0003AF C3 CLR C
\ 0003B0 33 RLC A
\ 0003B1 F8 MOV R0,A
\ 0003B2 E4 CLR A
\ 0003B3 33 RLC A
\ 0003B4 F9 MOV R1,A
\ 0003B5 7402 MOV A,#0x2
\ 0003B7 12.... LCALL ?XSTACK_DISP0_8
\ 0003BA E0 MOVX A,@DPTR
\ 0003BB 28 ADD A,R0
\ 0003BC F8 MOV R0,A
\ 0003BD A3 INC DPTR
\ 0003BE E0 MOVX A,@DPTR
\ 0003BF 39 ADDC A,R1
\ 0003C0 F9 MOV R1,A
\ 0003C1 90.... MOV DPTR,#y
\ 0003C4 E8 MOV A,R0
\ 0003C5 F0 MOVX @DPTR,A
\ 0003C6 A3 INC DPTR
\ 0003C7 E9 MOV A,R1
\ 0003C8 F0 MOVX @DPTR,A
278
279 #ifdef CC2430EB
280 PrintXY();
281 #endif
282 if(DiscardResult(xStrongestNode, yStrongestNode, strongestRssi))
\ 0003C9 ; Setup parameters for call to function DiscardResult
\ 0003C9 7406 MOV A,#0x6
\ 0003CB 12.... LCALL ?XSTACK_DISP0_8
\ 0003CE E0 MOVX A,@DPTR
\ 0003CF F9 MOV R1,A
\ 0003D0 7409 MOV A,#0x9
\ 0003D2 12.... LCALL ?XSTACK_DISP0_8
\ 0003D5 E0 MOVX A,@DPTR
\ 0003D6 FC MOV R4,A
\ 0003D7 A3 INC DPTR
\ 0003D8 E0 MOVX A,@DPTR
\ 0003D9 FD MOV R5,A
\ 0003DA 7407 MOV A,#0x7
\ 0003DC 12.... LCALL ?XSTACK_DISP0_8
\ 0003DF E0 MOVX A,@DPTR
\ 0003E0 FA MOV R2,A
\ 0003E1 A3 INC DPTR
\ 0003E2 E0 MOVX A,@DPTR
\ 0003E3 FB MOV R3,A
\ 0003E4 90.... MOV DPTR,#(DiscardResult & 0xffff)
\ 0003E7 74.. MOV A,#((DiscardResult >> 16) & 0xff)
\ 0003E9 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 0003EC E9 MOV A,R1
\ 0003ED 601A JZ ??RunBlindNode_26
283 {
284 SendText("Result discarded");
\ 0003EF ; Setup parameters for call to function SendText
\ 0003EF 7A.. MOV R2,#(`?<Constant "Result discarded">` & 0xff)
\ 0003F1 7B.. MOV R3,#((`?<Constant "Result discarded">` >> 8) & 0xff)
\ 0003F3 90.... MOV DPTR,#(SendText & 0xffff)
\ 0003F6 74.. MOV A,#((SendText >> 16) & 0xff)
\ 0003F8 12.... LCALL ?BCALL ; Banked call to: DPTR()
285 x = y = UNINITIALIZED_XY_VALUE;
\ 0003FB 90.... MOV DPTR,#y
\ 0003FE 74FF MOV A,#-0x1
\ 000400 F0 MOVX @DPTR,A
\ 000401 A3 INC DPTR
\ 000402 F0 MOVX @DPTR,A
\ 000403 90.... MOV DPTR,#x
\ 000406 F0 MOVX @DPTR,A
\ 000407 A3 INC DPTR
\ 000408 F0 MOVX @DPTR,A
286 }
287 SendPosition(PC_SHORT);
\ ??RunBlindNode_26:
\ 000409 ; Setup parameters for call to function SendPosition
\ 000409 7A34 MOV R2,#0x34
\ 00040B 7B12 MOV R3,#0x12
\ 00040D 90.... MOV DPTR,#(SendPosition & 0xffff)
\ 000410 74.. MOV A,#((SendPosition >> 16) & 0xff)
\ 000412 12.... LCALL ?BCALL ; Banked call to: DPTR()
288 SendDebugInfo(xUpperLeft, yUpperLeft);
\ 000415 ; Setup parameters for call to function SendDebugInfo
\ 000415 7402 MOV A,#0x2
\ 000417 12.... LCALL ?XSTACK_DISP0_8
\ 00041A E0 MOVX A,@DPTR
\ 00041B FC MOV R4,A
\ 00041C A3 INC DPTR
\ 00041D E0 MOVX A,@DPTR
\ 00041E FD MOV R5,A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -