hal_led.lst
来自「TI的基于ZIGBEE2006的协议栈」· LST 代码 · 共 1,209 行 · 第 1/5 页
LST
1,209 行
\ 00015A 8E.. MOV ?V0 + 0,R6
\ 00015C 8F.. MOV ?V0 + 1,R7
\ 00015E 75..00 MOV ?V0 + 2,#0x0
\ 000161 75..00 MOV ?V0 + 3,#0x0
\ 000164 78.. MOV R0,#?V0 + 0
\ 000166 12.... LCALL ?L_ADD_X
\ 000169 7401 MOV A,#0x1
\ 00016B 12.... LCALL ?XSTACK_DISP0_8
\ 00016E 12.... LCALL ?Subroutine2 & 0xFFFF
\ ??CrossCallReturnLabel_1:
\ 000171 12.... LCALL ?L_MOV_TO_X
\ 000174 804F SJMP ??HalLedUpdate_8
294 }
295 else
296 {
297 /* no more blink, no more wait */
298 wait = 0;
\ ??HalLedUpdate_7:
\ 000176 7E00 MOV R6,#0x0
\ 000178 7F00 MOV R7,#0x0
299 /* After blinking, set the LED back to the state before it blinks */
300 HalLedSet (led, ((preBlinkState & led)!=0)?HAL_LED_MODE_ON:HAL_LED_MODE_OFF);
\ 00017A 85..82 MOV DPL,?XSP + 0
\ 00017D 85..83 MOV DPH,?XSP + 1
\ 000180 E0 MOVX A,@DPTR
\ 000181 90.... MOV DPTR,#??preBlinkState
\ 000184 FA MOV R2,A
\ 000185 E0 MOVX A,@DPTR
\ 000186 5A ANL A,R2
\ 000187 6004 JZ ??HalLedUpdate_9
\ 000189 7A01 MOV R2,#0x1
\ 00018B 8002 SJMP ??HalLedUpdate_10
\ ??HalLedUpdate_9:
\ 00018D 7A00 MOV R2,#0x0
\ ??HalLedUpdate_10:
\ 00018F ; Setup parameters for call to function HalLedSet
\ 00018F 85..82 MOV DPL,?XSP + 0
\ 000192 85..83 MOV DPH,?XSP + 1
\ 000195 E0 MOVX A,@DPTR
\ 000196 F9 MOV R1,A
\ 000197 90.... MOV DPTR,#(HalLedSet & 0xffff)
\ 00019A 74.. MOV A,#((HalLedSet >> 16) & 0xff)
\ 00019C 12.... LCALL ?BCALL ; Banked call to: DPTR()
301 /* Clear the saved bit */
302 preBlinkState &= ~led;
\ 00019F 85..82 MOV DPL,?XSP + 0
\ 0001A2 85..83 MOV DPH,?XSP + 1
\ 0001A5 E0 MOVX A,@DPTR
\ 0001A6 F4 CPL A
\ 0001A7 FA MOV R2,A
\ 0001A8 90.... MOV DPTR,#??preBlinkState
\ 0001AB E0 MOVX A,@DPTR
\ 0001AC 5A ANL A,R2
\ 0001AD F0 MOVX @DPTR,A
\ 0001AE 8015 SJMP ??HalLedUpdate_8
303 }
304 }
305 else
306 {
307 wait = sts->next - time; /* Time left */
\ ??HalLedUpdate_4:
\ 0001B0 7406 MOV A,#0x6
\ 0001B2 12.... LCALL ?XSTACK_DISP0_8
\ 0001B5 78.. MOV R0,#?V0 + 4
\ 0001B7 12.... LCALL ?L_MOV_X
\ 0001BA E5.. MOV A,?V0 + 0
\ 0001BC C3 CLR C
\ 0001BD 95.. SUBB A,?V0 + 4
\ 0001BF FE MOV R6,A
\ 0001C0 E5.. MOV A,?V0 + 1
\ 0001C2 95.. SUBB A,?V0 + 5
\ 0001C4 FF MOV R7,A
308 }
309
310 if (!next || ( wait && (wait < next) ))
\ ??HalLedUpdate_8:
\ 0001C5 7404 MOV A,#0x4
\ 0001C7 12.... LCALL ?XSTACK_DISP0_8
\ 0001CA E0 MOVX A,@DPTR
\ 0001CB 7002 JNZ ??HalLedUpdate_11
\ 0001CD A3 INC DPTR
\ 0001CE E0 MOVX A,@DPTR
\ ??HalLedUpdate_11:
\ 0001CF 6017 JZ ??HalLedUpdate_12
\ 0001D1 EE MOV A,R6
\ 0001D2 7001 JNZ ??HalLedUpdate_13
\ 0001D4 EF MOV A,R7
\ ??HalLedUpdate_13:
\ 0001D5 601B JZ ??HalLedUpdate_3
\ 0001D7 7404 MOV A,#0x4
\ 0001D9 12.... LCALL ?XSTACK_DISP0_8
\ 0001DC E0 MOVX A,@DPTR
\ 0001DD F8 MOV R0,A
\ 0001DE A3 INC DPTR
\ 0001DF E0 MOVX A,@DPTR
\ 0001E0 F9 MOV R1,A
\ 0001E1 C3 CLR C
\ 0001E2 EE MOV A,R6
\ 0001E3 98 SUBB A,R0
\ 0001E4 EF MOV A,R7
\ 0001E5 99 SUBB A,R1
\ 0001E6 500A JNC ??HalLedUpdate_3
311 {
312 next = wait;
\ ??HalLedUpdate_12:
\ 0001E8 7404 MOV A,#0x4
\ 0001EA 12.... LCALL ?XSTACK_DISP0_8
\ 0001ED EE MOV A,R6
\ 0001EE F0 MOVX @DPTR,A
\ 0001EF A3 INC DPTR
\ 0001F0 EF MOV A,R7
\ 0001F1 F0 MOVX @DPTR,A
313 }
314 }
315 leds ^= led;
\ ??HalLedUpdate_3:
\ 0001F2 85..82 MOV DPL,?XSP + 0
\ 0001F5 85..83 MOV DPH,?XSP + 1
\ 0001F8 E0 MOVX A,@DPTR
\ 0001F9 FA MOV R2,A
\ 0001FA 7403 MOV A,#0x3
\ 0001FC 12.... LCALL ?XSTACK_DISP0_8
\ 0001FF E0 MOVX A,@DPTR
\ 000200 6A XRL A,R2
\ 000201 F0 MOVX @DPTR,A
316 }
317 led <<= 1;
\ ??HalLedUpdate_2:
\ 000202 85..82 MOV DPL,?XSP + 0
\ 000205 85..83 MOV DPH,?XSP + 1
\ 000208 E0 MOVX A,@DPTR
\ 000209 C3 CLR C
\ 00020A 33 RLC A
\ 00020B F0 MOVX @DPTR,A
318 sts++;
\ 00020C 7401 MOV A,#0x1
\ 00020E 12.... LCALL ?XSTACK_DISP0_8
\ 000211 E0 MOVX A,@DPTR
\ 000212 2409 ADD A,#0x9
\ 000214 F8 MOV R0,A
\ 000215 A3 INC DPTR
\ 000216 E0 MOVX A,@DPTR
\ 000217 3400 ADDC A,#0x0
\ 000219 F9 MOV R1,A
\ 00021A 7401 MOV A,#0x1
\ 00021C 12.... LCALL ?XSTACK_DISP0_8
\ 00021F E8 MOV A,R0
\ 000220 F0 MOVX @DPTR,A
\ 000221 A3 INC DPTR
\ 000222 E9 MOV A,R1
\ 000223 F0 MOVX @DPTR,A
319 }
\ 000224 7403 MOV A,#0x3
\ 000226 12.... LCALL ?XSTACK_DISP0_8
\ 000229 E0 MOVX A,@DPTR
\ 00022A 6003 JZ $+5
\ 00022C 02.... LJMP ??HalLedUpdate_1 & 0xFFFF
320
321 if (next)
\ 00022F 7404 MOV A,#0x4
\ 000231 12.... LCALL ?XSTACK_DISP0_8
\ 000234 E0 MOVX A,@DPTR
\ 000235 7002 JNZ ??HalLedUpdate_14
\ 000237 A3 INC DPTR
\ 000238 E0 MOVX A,@DPTR
\ ??HalLedUpdate_14:
\ 000239 6016 JZ ??HalLedUpdate_0
322 {
323 osal_start_timer (HAL_LED_BLINK_EVENT, next); /* Schedule event */
\ 00023B ; Setup parameters for call to function osal_start_timer
\ 00023B 7404 MOV A,#0x4
\ 00023D 12.... LCALL ?XSTACK_DISP0_8
\ 000240 E0 MOVX A,@DPTR
\ 000241 FC MOV R4,A
\ 000242 A3 INC DPTR
\ 000243 E0 MOVX A,@DPTR
\ 000244 FD MOV R5,A
\ 000245 7A02 MOV R2,#0x2
\ 000247 7B00 MOV R3,#0x0
\ 000249 90.... MOV DPTR,#(osal_start_timer & 0xffff)
\ 00024C 74.. MOV A,#((osal_start_timer >> 16) & 0xff)
\ 00024E 12.... LCALL ?BCALL ; Banked call to: DPTR()
324 }
325 }
326 }
\ ??HalLedUpdate_0:
\ 000251 740A MOV A,#0xa
\ 000253 02.... LJMP ?Subroutine11 & 0xFFFF
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine7:
\ 000000 A3 INC DPTR
\ 000001 E0 MOVX A,@DPTR
\ 000002 F583 MOV DPH,A
\ 000004 8882 MOV DPL,R0
\ 000006 A3 INC DPTR
\ 000007 A3 INC DPTR
\ 000008 E0 MOVX A,@DPTR
\ 000009 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine5:
\ 000000 12.... LCALL ?Subroutine8 & 0xFFFF
\ ??CrossCallReturnLabel_17:
\ 000003 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine8:
\ 000000 E0 MOVX A,@DPTR
\ 000001 F8 MOV R0,A
\ ??Subroutine8_0:
\ 000002 A3 INC DPTR
\ 000003 E0 MOVX A,@DPTR
\ 000004 F583 MOV DPH,A
\ 000006 8882 MOV DPL,R0
\ 000008 E0 MOVX A,@DPTR
\ 000009 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine4:
\ 000000 12.... LCALL ?Subroutine8 & 0xFFFF
\ ??CrossCallReturnLabel_16:
\ 000003 A2E1 MOV C,0xE0 /* A */.1
\ 000005 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine3:
\ 000000 85..82 MOV DPL,?XSP + 0
\ 000003 85..83 MOV DPH,?XSP + 1
\ ??Subroutine3_0:
\ 000006 E0 MOVX A,@DPTR
\ 000007 F9 MOV R1,A
\ 000008 90.... MOV DPTR,#(HalLedOnOff & 0xffff)
\ 00000B 74.. MOV A,#((HalLedOnOff >> 16) & 0xff)
\ 00000D 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine2:
\ 000000 E0 MOVX A,@DPTR
\ 000001 F8 MOV R0,A
\
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?