📄 ref_node.lst
字号:
\ 000140 79.. MOV R1,#?V0 + 0
\ 000142 12.... LCALL ?UL_GT
\ 000145 4068 JC ??RunRefNode_13
\ 000147 7404 MOV A,#0x4
\ 000149 12.... LCALL ?XSTACK_DISP0_8
\ 00014C C082 PUSH DPL
\ 00014E C083 PUSH DPH
\ 000150 85..82 MOV DPL,?XSP + 0
\ 000153 85..83 MOV DPH,?XSP + 1
\ 000156 78.. MOV R0,#?V0 + 4
\ 000158 12.... LCALL ?L_MOV_X
\ 00015B D083 POP DPH
\ 00015D D082 POP DPL
\ 00015F 78.. MOV R0,#?V0 + 4
\ 000161 12.... LCALL ?UL_GT_X
\ 000164 4049 JC ??RunRefNode_13
\ 000166 02.... LJMP ??RunRefNode_14
\ ??RunRefNode_12:
\ 000169 85..82 MOV DPL,?XSP + 0
\ 00016C 85..83 MOV DPH,?XSP + 1
\ 00016F 78.. MOV R0,#?V0 + 4
\ 000171 12.... LCALL ?L_MOV_X
\ 000174 78.. MOV R0,#?V0 + 4
\ 000176 79.. MOV R1,#?V0 + 0
\ 000178 12.... LCALL ?UL_GT
\ 00017B 5076 JNC ??RunRefNode_14
\ 00017D 7404 MOV A,#0x4
\ 00017F 12.... LCALL ?XSTACK_DISP0_8
\ 000182 78.. MOV R0,#?V0 + 4
\ 000184 12.... LCALL ?L_MOV_X
\ 000187 78.. MOV R0,#?V0 + 4
\ 000189 79.. MOV R1,#?V0 + 0
\ 00018B 12.... LCALL ?UL_GT
\ 00018E 5063 JNC ??RunRefNode_14
\ 000190 7404 MOV A,#0x4
\ 000192 12.... LCALL ?XSTACK_DISP0_8
\ 000195 C082 PUSH DPL
\ 000197 C083 PUSH DPH
\ 000199 85..82 MOV DPL,?XSP + 0
\ 00019C 85..83 MOV DPH,?XSP + 1
\ 00019F 78.. MOV R0,#?V0 + 4
\ 0001A1 12.... LCALL ?L_MOV_X
\ 0001A4 D083 POP DPH
\ 0001A6 D082 POP DPL
\ 0001A8 78.. MOV R0,#?V0 + 4
\ 0001AA 12.... LCALL ?UL_GT_X
\ 0001AD 5044 JNC ??RunRefNode_14
\ ??RunRefNode_13:
\ 0001AF ; Setup parameters for call to function SendPosition
\ 0001AF 7A34 MOV R2,#0x34
\ 0001B1 7B12 MOV R3,#0x12
\ 0001B3 90.... MOV DPTR,#(SendPosition & 0xffff)
\ 0001B6 74.. MOV A,#((SendPosition >> 16) & 0xff)
\ 0001B8 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 0001BB 7404 MOV A,#0x4
\ 0001BD 12.... LCALL ?XSTACK_DISP0_8
\ 0001C0 78.. MOV R0,#?V0 + 0
\ 0001C2 12.... LCALL ?L_MOV_X
\ 0001C5 85..82 MOV DPL,?XSP + 0
\ 0001C8 85..83 MOV DPH,?XSP + 1
\ 0001CB 78.. MOV R0,#?V0 + 0
\ 0001CD 12.... LCALL ?L_MOV_TO_X
\ 0001D0 85..82 MOV DPL,?XSP + 0
\ 0001D3 85..83 MOV DPH,?XSP + 1
\ 0001D6 C082 PUSH DPL
\ 0001D8 C083 PUSH DPH
\ 0001DA 90.... MOV DPTR,#__Constant_28488
\ 0001DD 78.. MOV R0,#?V0 + 0
\ 0001DF 12.... LCALL ?L_MOV_X
\ 0001E2 D083 POP DPH
\ 0001E4 D082 POP DPL
\ 0001E6 78.. MOV R0,#?V0 + 0
\ 0001E8 12.... LCALL ?L_ADD_X
\ 0001EB 90.... MOV DPTR,#__Constant_ffffff
\ 0001EE 78.. MOV R0,#?V0 + 0
\ 0001F0 12.... LCALL ?L_AND_X
\ ??RunRefNode_14:
\ 0001F3 90.... MOV DPTR,#refNodeState
\ 0001F6 E0 MOVX A,@DPTR
\ 0001F7 7003 JNZ $+5
\ 0001F9 02.... LJMP ??RunRefNode_4
200 else if(refNodeState == SLEEP_STATE)
\ 0001FC 6401 XRL A,#0x1
\ 0001FE 6003 JZ $+5
\ 000200 02.... LJMP ??RunRefNode_3
201 {
202 #if defined CC2430EB && defined USE_LED
203 LED3 = LED_OFF;
\ 000203 D293 SETB 0x90.3
204 #elif defined CC2430DB && defined USE_LED
205 LED2 = LED_OFF;
206 #endif
207
208 #ifdef USE_PM
209 // Go to sleep
210 mpmSetAndResumeMacAndCpuPowerMode (POWER_MODE_PM2, RESUME_MODE_PARTS_PRESERVED, FALSE);
\ 000205 ; Setup parameters for call to function mpmSetAndResumeMacAndCpuPowerMode
\ 000205 7B00 MOV R3,#0x0
\ 000207 7A01 MOV R2,#0x1
\ 000209 7901 MOV R1,#0x1
\ 00020B 12.... LCALL mpmSetAndResumeMacAndCpuPowerMode
\ 00020E 02.... LJMP ??RunRefNode_3
211 #endif
212 }
213 }
214 }
215
216 /******************************************************************************
217 *
218 * This function return the value for the sleep timer
219 ******************************************************************************/
\ In segment BANKED_CODE, align 1, keep-with-next
220 void GetSleepTimer(UINT32 *value){
\ GetSleepTimer:
\ 000000 74F4 MOV A,#-0xc
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 12
\ 000005 ; Auto size: 0
221 *value = ST0;
\ 000005 E595 MOV A,0x95
\ 000007 8A82 MOV DPL,R2
\ 000009 8B83 MOV DPH,R3
\ 00000B F0 MOVX @DPTR,A
\ 00000C A3 INC DPTR
\ 00000D E4 CLR A
\ 00000E F0 MOVX @DPTR,A
\ 00000F A3 INC DPTR
\ 000010 F0 MOVX @DPTR,A
\ 000011 A3 INC DPTR
\ 000012 F0 MOVX @DPTR,A
222 *value |= (UINT32)ST1 << 8;
\ 000013 8596.. MOV ?V0 + 0,0x96
\ 000016 F5.. MOV ?V0 + 1,A
\ 000018 F5.. MOV ?V0 + 2,A
\ 00001A F5.. MOV ?V0 + 3,A
\ 00001C 7408 MOV A,#0x8
\ 00001E 78.. MOV R0,#?V0 + 0
\ 000020 12.... LCALL ?L_SHL
\ 000023 8A82 MOV DPL,R2
\ 000025 8B83 MOV DPH,R3
\ 000027 78.. MOV R0,#?V0 + 0
\ 000029 12.... LCALL ?L_IOR_TO_X
223 *value |= (UINT32)ST2 << 16;
\ 00002C 8597.. MOV ?V0 + 0,0x97
\ 00002F 75..00 MOV ?V0 + 1,#0x0
\ 000032 7410 MOV A,#0x10
\ 000034 78.. MOV R0,#?V0 + 0
\ 000036 12.... LCALL ?L_SHL
\ 000039 8A82 MOV DPL,R2
\ 00003B 8B83 MOV DPH,R3
\ 00003D 78.. MOV R0,#?V0 + 0
\ 00003F 12.... LCALL ?L_IOR_TO_X
224 }
\ 000042 7F04 MOV R7,#0x4
\ 000044 02.... LJMP ?BANKED_LEAVE_XDATA
225
226 /******************************************************************************
227 *
228 * This function setup x and y when a packet is received.
229 ******************************************************************************/
\ In segment BANKED_CODE, align 1, keep-with-next
230 void SetupRefNode(BYTE *b){
\ SetupRefNode:
\ 000000 74F7 MOV A,#-0x9
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 9
\ 000005 ; Auto size: 0
231 UINT8 i;
232
233 for(i = 0; i < b[0]; i++){
\ 000005 7E00 MOV R6,#0x0
\ 000007 8017 SJMP ??SetupRefNode_0
234 switch( b[1 + i*3] )
235 {
236 case X:
237 x = BYTES_TO_WORD(b[2 + i*3], b[3 + i*3]);
238 break;
239 case Y:
240 y = BYTES_TO_WORD(b[2 + i*3], b[3 + i*3]);
\ ??SetupRefNode_1:
\ 000009 8C82 MOV DPL,R4
\ 00000B 8D83 MOV DPH,R5
\ 00000D E0 MOVX A,@DPTR
\ 00000E FD MOV R5,A
\ 00000F 8882 MOV DPL,R0
\ 000011 8983 MOV DPH,R1
\ 000013 E0 MOVX A,@DPTR
\ 000014 F8 MOV R0,A
\ 000015 ED MOV A,R5
\ 000016 F9 MOV R1,A
\ 000017 90.... MOV DPTR,#y
\ ??SetupRefNode_2:
\ 00001A E8 MOV A,R0
\ 00001B F0 MOVX @DPTR,A
\ 00001C A3 INC DPTR
\ 00001D E9 MOV A,R1
\ 00001E F0 MOVX @DPTR,A
\ ??SetupRefNode_3:
\ 00001F 0E INC R6
\ ??SetupRefNode_0:
\ 000020 8A82 MOV DPL,R2
\ 000022 8B83 MOV DPH,R3
\ 000024 E0 MOVX A,@DPTR
\ 000025 FC MOV R4,A
\ 000026 EE MOV A,R6
\ 000027 C3 CLR C
\ 000028 9C SUBB A,R4
\ 000029 5044 JNC ??SetupRefNode_4
\ 00002B EE MOV A,R6
\ 00002C 75F003 MOV B,#0x3
\ 00002F A4 MUL AB
\ 000030 F8 MOV R0,A
\ 000031 A9F0 MOV R1,B
\ 000033 EA MOV A,R2
\ 000034 28 ADD A,R0
\ 000035 F582 MOV DPL,A
\ 000037 EB MOV A,R3
\ 000038 39 ADDC A,R1
\ 000039 F583 MOV DPH,A
\ 00003B E582 MOV A,DPL
\ 00003D 2403 ADD A,#0x3
\ 00003F F8 MOV R0,A
\ 000040 E583 MOV A,DPH
\ 000042 3400 ADDC A,#0x0
\ 000044 F9 MOV R1,A
\ 000045 E582 MOV A,DPL
\ 000047 2402 ADD A,#0x2
\ 000049 FC MOV R4,A
\ 00004A E583 MOV A,DPH
\ 00004C 3400 ADDC A,#0x0
\ 00004E FD MOV R5,A
\ 00004F A3 INC DPTR
\ 000050 E0 MOVX A,@DPTR
\ 000051 12.... LCALL ?UC_SWITCH_DENSE
\ `?<Jumptable for SetupRefNode>_0`:
\ 000054 01 DB 1
\ 000055 01 DB 1
\ 000056 .... DW ??SetupRefNode_3
\ 000058 .... DW ??SetupRefNode_5
\ 00005A .... DW ??SetupRefNode_1
\ ??SetupRefNode_5:
\ 00005C 8C82 MOV DPL,R4
\ 00005E 8D83 MOV DPH,R5
\ 000060 E0 MOVX A,@DPTR
\ 000061 FD MOV R5,A
\ 000062 8882 MOV DPL,R0
\ 000064 8983 MOV DPH,R1
\ 000066 E0 MOVX A,@DPTR
\ 000067 F8 MOV R0,A
\ 000068 ED MOV A,R5
\ 000069 F9 MOV R1,A
\ 00006A 90.... MOV DPTR,#x
\ 00006D 80AB SJMP ??SetupRefNode_2
241 break;
242 case Z:
243 // unimplemented
244 break;
245 default:
246 break;
247 }
248 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -