📄 hal_led.lst
字号:
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
\ 000002 12.... LCALL ?Subroutine9 & 0xFFFF
\ ??CrossCallReturnLabel_19:
\ 000005 A3 INC DPTR
\ 000006 A3 INC DPTR
\ 000007 78.. MOV R0,#?V0 + 0
\ 000009 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine9:
\ 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 A3 INC DPTR
\ 000009 22 RET
327
328 /***************************************************************************************************
329 * @fn HalLedOnOff
330 *
331 * @brief Turns specified LED ON or OFF
332 *
333 * @param leds - LED bit mask
334 * mode - LED_ON,LED_OFF,
335 *
336 * @return none
337 ***************************************************************************************************/
\ In segment BANKED_CODE, align 1, keep-with-next
338 void HalLedOnOff (uint8 leds, uint8 mode)
\ HalLedOnOff:
339 {
\ 000000 C082 PUSH DPL
\ 000002 C083 PUSH DPH
\ 000004 ; Saved register size: 2
\ 000004 ; Auto size: 0
340 if (leds & HAL_LED_1)
\ 000004 E9 MOV A,R1
\ 000005 A2E0 MOV C,0xE0 /* A */.0
\ 000007 500B JNC ??HalLedOnOff_0
341 {
342 if (mode == HAL_LED_MODE_ON)
\ 000009 7401 MOV A,#0x1
\ 00000B 6A XRL A,R2
\ 00000C 7004 JNZ ??HalLedOnOff_1
343 {
344 HAL_TURN_ON_LED1();
\ 00000E C290 CLR 0x90.0
\ 000010 8002 SJMP ??HalLedOnOff_0
345 }
346 else
347 {
348 HAL_TURN_OFF_LED1();
\ ??HalLedOnOff_1:
\ 000012 D290 SETB 0x90.0
349 }
350 }
351
352 if (leds & HAL_LED_2)
\ ??HalLedOnOff_0:
\ 000014 E9 MOV A,R1
\ 000015 A2E1 MOV C,0xE0 /* A */.1
\ 000017 500B JNC ??HalLedOnOff_2
353 {
354
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -