⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mac_timer.lst

📁 zigbee location examples
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   000158   8E82         MOV     DPL,R6
   \   00015A   8F83         MOV     DPH,R7
   \   00015C   A3           INC     DPTR
   \   00015D   A3           INC     DPTR
   \   00015E   A3           INC     DPTR
   \   00015F   A3           INC     DPTR
   \   000160   F0           MOVX    @DPTR,A
    160                      pMtimCallbacks[prevCallback].nextCallback = newCallback;
   \   000161   EC           MOV     A,R4
   \   000162   75F009       MOV     B,#0x9
   \   000165   A4           MUL     AB
   \   000166   2404         ADD     A,#0x4
   \   000168   F582         MOV     DPL,A
   \   00016A   E5F0         MOV     A,B
   \   00016C   34E0         ADDC    A,#-0x20
   \   00016E   F583         MOV     DPH,A
   \   000170   EB           MOV     A,R3
   \                     ??mtimSetCallback_7:
   \   000171   F0           MOVX    @DPTR,A
    161                  }
    162              }
    163          
    164              // Always set...
    165              pNewCallback->pFunc = pFunc;
   \                     ??mtimSetCallback_9:
   \   000172   7402         MOV     A,#0x2
   \   000174   12....       LCALL   ?XSTACK_DISP0_8
   \   000177   E0           MOVX    A,@DPTR
   \   000178   F9           MOV     R1,A
   \   000179   A3           INC     DPTR
   \   00017A   E0           MOVX    A,@DPTR
   \   00017B   FA           MOV     R2,A
   \   00017C   A3           INC     DPTR
   \   00017D   E0           MOVX    A,@DPTR
   \   00017E   FB           MOV     R3,A
   \   00017F   8E82         MOV     DPL,R6
   \   000181   8F83         MOV     DPH,R7
   \   000183   A3           INC     DPTR
   \   000184   A3           INC     DPTR
   \   000185   A3           INC     DPTR
   \   000186   A3           INC     DPTR
   \   000187   A3           INC     DPTR
   \   000188   A3           INC     DPTR
   \   000189   E9           MOV     A,R1
   \   00018A   F0           MOVX    @DPTR,A
   \   00018B   A3           INC     DPTR
   \   00018C   EA           MOV     A,R2
   \   00018D   F0           MOVX    @DPTR,A
   \   00018E   A3           INC     DPTR
   \   00018F   EB           MOV     A,R3
   \   000190   F0           MOVX    @DPTR,A
    166              pNewCallback->timeout = timeout;
   \   000191   8E82         MOV     DPL,R6
   \   000193   8F83         MOV     DPH,R7
   \   000195   78..         MOV     R0,#?V0 + 4
   \   000197   12....       LCALL   ?L_MOV_TO_X
    167              pNewCallback->occupied = TRUE;
   \   00019A   7401         MOV     A,#0x1
   \   00019C   8E82         MOV     DPL,R6
   \   00019E   8F83         MOV     DPH,R7
   \   0001A0   A3           INC     DPTR
   \   0001A1   A3           INC     DPTR
   \   0001A2   A3           INC     DPTR
   \   0001A3   A3           INC     DPTR
   \   0001A4   A3           INC     DPTR
   \   0001A5   F0           MOVX    @DPTR,A
    168          
    169              ENABLE_GLOBAL_INT();
   \   0001A6   D2AF         SETB    0xa8.7
    170              return TRUE;
   \   0001A8   F9           MOV     R1,A
   \                     ??mtimSetCallback_2:
   \   0001A9   7405         MOV     A,#0x5
   \   0001AB   12....       LCALL   ?DEALLOC_XSTACK8
   \   0001AE                REQUIRE ?Subroutine0
   \   0001AE                ; // Fall through to label ?Subroutine0
    171          
    172          } // mtimSetCallback

   \                                 In segment NEAR_CODE, align 1, keep-with-next
   \                     ?Subroutine0:
   \   000000   7F08         MOV     R7,#0x8
   \   000002   02....       LJMP    ?FUNC_LEAVE_XDATA
    173          
    174          
    175          
    176          
    177          //-------------------------------------------------------------------------------------------------------
    178          //  void mtimeCancelCallback(void *pFunc)
    179          //
    180          //  DESCRIPTION:
    181          //      Cancels a callback. One entry of pFunc will be removed.
    182          //
    183          //  PARAMETERS:
    184          //      void *pFunc
    185          //          A pointer to the callback function to be removed
    186          //
    187          //  RETURN VALUE:
    188          //      BOOL
    189          //          A match was found and removed
    190          //-------------------------------------------------------------------------------------------------------

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    191          ROOT BOOL mtimCancelCallback(void (*pFunc)()) {
   \                     mtimCancelCallback:
   \   000000   74F4         MOV     A,#-0xc
   \   000002   12....       LCALL   ?FUNC_ENTER_XDATA
   \   000005                ; Saved register size: 12
   \   000005                ; Auto size: 0
   \   000005   E9           MOV     A,R1
   \   000006   FC           MOV     R4,A
   \   000007   EA           MOV     A,R2
   \   000008   FD           MOV     R5,A
   \   000009   EB           MOV     A,R3
   \   00000A   FE           MOV     R6,A
    192              UINT8 prevCallback;
    193              UINT8 currCallback;
    194              UINT8 nextCallback;
    195          
    196              DISABLE_GLOBAL_INT();
   \   00000B   C2AF         CLR     0xa8.7
    197          
    198          	prevCallback = NO_CALLBACK;
   \   00000D   75..FF       MOV     ?V0 + 2,#-0x1
    199          	currCallback = firstCallback;
   \   000010   E5..         MOV     A,firstCallback
   \   000012   FF           MOV     R7,A
   \   000013   8004         SJMP    ??mtimCancelCallback_0
    200          	while (currCallback != NO_CALLBACK) {
    201          		nextCallback = pMtimCallbacks[currCallback].nextCallback;
    202          		if ((pFunc == pMtimCallbacks[currCallback].pFunc) && pMtimCallbacks[currCallback].occupied) {
    203          
    204                      // Deactivate the entry
    205          			pMtimCallbacks[currCallback].occupied = FALSE;
    206          
    207          			// Update the link on the callback before this entry
    208          			if (prevCallback != NO_CALLBACK) {
    209                          pMtimCallbacks[prevCallback].nextCallback = nextCallback;
    210                      }
    211          
    212          			// Update the link on the next callback entry
    213          			if (nextCallback != NO_CALLBACK) {
    214                          pMtimCallbacks[nextCallback].timeout += pMtimCallbacks[currCallback].timeout;
    215                      }
    216          
    217          			// Update the firstCallback flag if we cancelled it
    218          			if (currCallback == firstCallback) {
    219          				firstCallback = nextCallback;
    220          			}
    221          
    222          			// Done :)
    223          			ENABLE_GLOBAL_INT();
    224          			return TRUE;
    225          		}
    226          
    227          		// Move on to the next entry
    228          		prevCallback = currCallback;
   \                     ??mtimCancelCallback_1:
   \   000015   8F..         MOV     ?V0 + 2,R7
    229          		currCallback = nextCallback;
   \   000017   AF..         MOV     R7,?V0 + 4
   \                     ??mtimCancelCallback_0:
   \   000019   74FF         MOV     A,#-0x1
   \   00001B   6F           XRL     A,R7
   \   00001C   7003         JNZ     $+5
   \   00001E   02....       LJMP    ??mtimCancelCallback_2
   \   000021   EF           MOV     A,R7
   \   000022   75F009       MOV     B,#0x9
   \   000025   A4           MUL     AB
   \   000026   F8           MOV     R0,A
   \   000027   2400         ADD     A,#0x0
   \   000029   E5F0         MOV     A,B
   \   00002B   34E0         ADDC    A,#-0x20
   \   00002D   F9           MOV     R1,A
   \   00002E   89..         MOV     ?V0 + 1,R1
   \   000030   8882         MOV     DPL,R0
   \   000032   F583         MOV     DPH,A
   \   000034   A3           INC     DPTR
   \   000035   A3           INC     DPTR
   \   000036   A3           INC     DPTR
   \   000037   A3           INC     DPTR
   \   000038   E0           MOVX    A,@DPTR
   \   000039   F5..         MOV     ?V0 + 4,A
   \   00003B   8882         MOV     DPL,R0
   \   00003D   8983         MOV     DPH,R1
   \   00003F   A3           INC     DPTR
   \   000040   A3           INC     DPTR
   \   000041   A3           INC     DPTR
   \   000042   A3           INC     DPTR
   \   000043   A3           INC     DPTR
   \   000044   A3           INC     DPTR
   \   000045   E0           MOVX    A,@DPTR
   \   000046   F9           MOV     R1,A
   \   000047   A3           INC     DPTR
   \   000048   E0           MOVX    A,@DPTR
   \   000049   FA           MOV     R2,A
   \   00004A   A3           INC     DPTR
   \   00004B   E0           MOVX    A,@DPTR
   \   00004C   FB           MOV     R3,A
   \   00004D   12....       LCALL   ?G_EQ
   \   000050   70C3         JNZ     ??mtimCancelCallback_1
   \   000052   E8           MOV     A,R0
   \   000053   2405         ADD     A,#0x5
   \   000055   F582         MOV     DPL,A
   \   000057   E5..         MOV     A,?V0 + 1
   \   000059   3400         ADDC    A,#0x0
   \   00005B   F583         MOV     DPH,A
   \   00005D   E0           MOVX    A,@DPTR
   \   00005E   60B5         JZ      ??mtimCancelCallback_1
   \   000060   E4           CLR     A
   \   000061   F0           MOVX    @DPTR,A
   \   000062   74FF         MOV     A,#-0x1
   \   000064   65..         XRL     A,?V0 + 2
   \   000066   6013         JZ      ??mtimCancelCallback_3
   \   000068   E5..         MOV     A,?V0 + 2
   \   00006A   75F009       MOV     B,#0x9
   \   00006D   A4           MUL     AB
   \   00006E   2404         ADD     A,#0x4
   \   000070   F582         MOV     DPL,A
   \   000072   E5F0         MOV     A,B
   \   000074   34E0         ADDC    A,#-0x20
   \   000076   F583         MOV     DPH,A
   \   000078   E5..         MOV     A,?V0 + 4
   \   00007A   F0           MOVX    @DPTR,A
   \                     ??mtimCancelCallback_3:
   \   00007B   74FF         MOV     A,#-0x1
   \   00007D   65..         XRL     A,?V0 + 4
   \   00007F   601F         JZ      ??mtimCancelCallback_4
   \   000081   8882         MOV     DPL,R0
   \   000083   85..83       MOV     DPH,?V0 + 1
   \   000086   78..         MOV     R0,#?V0 + 0
   \   000088   12....       LCALL   ?L_MOV_X
   \   00008B   E5..         MOV     A,?V0 + 4
   \   00008D   75F009       MOV     B,#0x9
   \   000090   A4           MUL     AB
   \   000091   2400         ADD     A,#0x0
   \   000093   F582         MOV     DPL,A
   \   000095   E5F0         MOV     A,B
   \   000097   34E0         ADDC    A,#-0x20
   \   000099   F583         MOV     DPH,A
   \   00009B   78..         MOV     R0,#?V0 + 0
   \   00009D   12....       LCALL   ?L_ADD_TO_X
   \                     ??mtimCancelCallback_4:
   \   0000A0   E5..         MOV     A,firstCallback
   \   0000A2   6F           XRL     A,R7
   \   0000A3   7003         JNZ     ??mtimCancelCallback_5
   \   0000A5   85....       MOV     firstCallback,?V0 + 4
   \                     ??mtimCancelCallback_5:
   \   0000A8   D2AF         SETB    0xa8.7
   \   0000AA   7901         MOV     R1,#0x1
   \   0000AC   8004         SJMP    ??mtimCancelCallback_6
    230          	}
    231          	ENABLE_GLOBAL_INT();
   \                     ??mtimCancelCallback_2:
   \   0000AE   D2AF         SETB    0xa8.7
    232          	return FALSE;
   \   0000B0   7900         MOV     R1,#0x0
   \                     ??mtimCancelCallback_6:
   \   0000B2   7F05         MOV     R7,#0x5
   \   0000B4   02....       LJMP    ?FUNC_LEAVE_XDATA
    233          } // mtimCancelCallback
    234          
    235          
    236          
    237          
    238          //-------------------------------------------------------------------------------------------------------
    239          //  void mtimAlignWithBeacon(TIMESTAMP   *pTimestamp)
    240          //
    241          //  DESCRIPTION:
    242          //      Adjusts the timer to the last received packet (which should be a beacon!)
    243          //-------------------------------------------------------------------------------------------------------

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    244          ROOT void mtimAlignWithBeacon(TIMESTAMP   *pTimestamp) {
   \                     mtimAlignWithBeacon:
   \   000000   74F1         MOV     A,#-0xf

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -