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

📄 mac_indirect_queue.lst

📁 zigbee location examples
💻 LST
📖 第 1 页 / 共 5 页
字号:
     95                                  pPacket->isFirstPacket = FALSE;
     96                                  break;
     97                              }
     98                          }
     99                      }
    100                      temp = pIndirectPacket->nextPacket;
   \                     ??miqAddIndirectPacket_6:
   \   000069   EE           MOV     A,R6
   \   00006A   248D         ADD     A,#-0x73
   \   00006C   F582         MOV     DPL,A
   \   00006E   EF           MOV     A,R7
   \   00006F   3400         ADDC    A,#0x0
   \   000071   F583         MOV     DPH,A
   \                     ??miqAddIndirectPacket_3:
   \   000073   E0           MOVX    A,@DPTR
   \   000074   FE           MOV     R6,A
   \   000075   74FF         MOV     A,#-0x1
   \   000077   6E           XRL     A,R6
   \   000078   604A         JZ      ??miqAddIndirectPacket_7
   \   00007A   EE           MOV     A,R6
   \   00007B   75F093       MOV     B,#-0x6d
   \   00007E   A4           MUL     AB
   \   00007F   24..         ADD     A,#(pMtxPacketPool & 0xff)
   \   000081   FE           MOV     R6,A
   \   000082   E5F0         MOV     A,B
   \   000084   34..         ADDC    A,#((pMtxPacketPool >> 8) & 0xff)
   \   000086   FF           MOV     R7,A
   \   000087   8E82         MOV     DPL,R6
   \   000089   8F83         MOV     DPH,R7
   \   00008B   A3           INC     DPTR
   \   00008C   A3           INC     DPTR
   \   00008D   A3           INC     DPTR
   \   00008E   A3           INC     DPTR
   \   00008F   E0           MOVX    A,@DPTR
   \   000090   540C         ANL     A,#0xc
   \   000092   65..         XRL     A,?V0 + 2
   \   000094   70D3         JNZ     ??miqAddIndirectPacket_6
   \   000096   EE           MOV     A,R6
   \   000097   2408         ADD     A,#0x8
   \   000099   FC           MOV     R4,A
   \   00009A   EF           MOV     A,R7
   \   00009B   3400         ADDC    A,#0x0
   \   00009D   FD           MOV     R5,A
   \   00009E   7408         MOV     A,#0x8
   \   0000A0   65..         XRL     A,?V0 + 2
   \   0000A2   70BB         JNZ     ??miqAddIndirectPacket_4
   \   0000A4   85..82       MOV     DPL,?V0 + 0
   \   0000A7   85..83       MOV     DPH,?V0 + 1
   \   0000AA   E0           MOVX    A,@DPTR
   \   0000AB   F8           MOV     R0,A
   \   0000AC   A3           INC     DPTR
   \   0000AD   E0           MOVX    A,@DPTR
   \   0000AE   F9           MOV     R1,A
   \   0000AF   8C82         MOV     DPL,R4
   \   0000B1   8D83         MOV     DPH,R5
   \   0000B3   E0           MOVX    A,@DPTR
   \   0000B4   68           XRL     A,R0
   \   0000B5   7003         JNZ     ??miqAddIndirectPacket_8
   \   0000B7   A3           INC     DPTR
   \   0000B8   E0           MOVX    A,@DPTR
   \   0000B9   69           XRL     A,R1
   \                     ??miqAddIndirectPacket_8:
   \   0000BA   70AD         JNZ     ??miqAddIndirectPacket_6
   \                     ??miqAddIndirectPacket_5:
   \   0000BC   E4           CLR     A
   \   0000BD   85..82       MOV     DPL,?V0 + 4
   \   0000C0   85..83       MOV     DPH,?V0 + 5
   \   0000C3   F0           MOVX    @DPTR,A
    101                  }
    102                  pTask->state = MIQ_STATE_INSERT_INTO_QUEUE;
   \                     ??miqAddIndirectPacket_7:
   \   0000C4   7401         MOV     A,#0x1
   \   0000C6   85..82       MOV     DPL,?V0 + 6
   \   0000C9   85..83       MOV     DPH,?V0 + 7
   \   0000CC   F0           MOVX    @DPTR,A
   \   0000CD   02....       LJMP    ??miqAddIndirectPacket_0 & 0xFFFF
    103                  break;
    104          
    105              case MIQ_STATE_INSERT_INTO_QUEUE:
    106          
    107                  // Find the index of the new packet
    108                  temp = pPacket->poolIndex;
   \                     ??miqAddIndirectPacket_2:
   \   0000D0   E8           MOV     A,R0
   \   0000D1   2490         ADD     A,#-0x70
   \   0000D3   F582         MOV     DPL,A
   \   0000D5   E9           MOV     A,R1
   \   0000D6   3400         ADDC    A,#0x0
   \   0000D8   F583         MOV     DPH,A
   \   0000DA   E0           MOVX    A,@DPTR
   \   0000DB   FE           MOV     R6,A
    109          
    110                  // Add the packet to the queue
    111                  if (miqInfo.lastIndirectPacket != NO_PACKET)
   \   0000DC   90....       MOV     DPTR,#(miqInfo + 1)
   \   0000DF   E0           MOVX    A,@DPTR
   \   0000E0   FA           MOV     R2,A
   \   0000E1   74FF         MOV     A,#-0x1
   \   0000E3   6A           XRL     A,R2
   \   0000E4   6011         JZ      ??miqAddIndirectPacket_9
    112                      pMtxPacketPool[miqInfo.lastIndirectPacket].nextPacket = temp;
   \   0000E6   EA           MOV     A,R2
   \   0000E7   75F093       MOV     B,#-0x6d
   \   0000EA   A4           MUL     AB
   \   0000EB   24..         ADD     A,#((pMtxPacketPool + 141) & 0xff)
   \   0000ED   F582         MOV     DPL,A
   \   0000EF   E5F0         MOV     A,B
   \   0000F1   34..         ADDC    A,#(((pMtxPacketPool + 141) >> 8) & 0xff)
   \   0000F3   F583         MOV     DPH,A
   \   0000F5   EE           MOV     A,R6
   \   0000F6   F0           MOVX    @DPTR,A
    113          
    114                  pPacket->prevPacket = miqInfo.lastIndirectPacket;
   \                     ??miqAddIndirectPacket_9:
   \   0000F7   90....       MOV     DPTR,#(miqInfo + 1)
   \   0000FA   E0           MOVX    A,@DPTR
   \   0000FB   C0E0         PUSH    A
   \   0000FD   E8           MOV     A,R0
   \   0000FE   248E         ADD     A,#-0x72
   \   000100   F582         MOV     DPL,A
   \   000102   E9           MOV     A,R1
   \   000103   3400         ADDC    A,#0x0
   \   000105   F583         MOV     DPH,A
   \   000107   D0E0         POP     A
   \   000109   F0           MOVX    @DPTR,A
    115                  pPacket->nextPacket = NO_PACKET;
   \   00010A   E8           MOV     A,R0
   \   00010B   248D         ADD     A,#-0x73
   \   00010D   F582         MOV     DPL,A
   \   00010F   E9           MOV     A,R1
   \   000110   3400         ADDC    A,#0x0
   \   000112   F583         MOV     DPH,A
   \   000114   74FF         MOV     A,#-0x1
   \   000116   F0           MOVX    @DPTR,A
    116                  pPacket->timeToLive = mpib.macTransactionPersistenceTime;
   \   000117   90....       MOV     DPTR,#(mpib + 35)
   \   00011A   E0           MOVX    A,@DPTR
   \   00011B   FA           MOV     R2,A
   \   00011C   A3           INC     DPTR
   \   00011D   E0           MOVX    A,@DPTR
   \   00011E   FB           MOV     R3,A
   \   00011F   E8           MOV     A,R0
   \   000120   2489         ADD     A,#-0x77
   \   000122   F582         MOV     DPL,A
   \   000124   E9           MOV     A,R1
   \   000125   3400         ADDC    A,#0x0
   \   000127   F583         MOV     DPH,A
   \   000129   EA           MOV     A,R2
   \   00012A   F0           MOVX    @DPTR,A
   \   00012B   A3           INC     DPTR
   \   00012C   EB           MOV     A,R3
   \   00012D   F0           MOVX    @DPTR,A
    117                  pPacket->purgeRequest = FALSE;
   \   00012E   E8           MOV     A,R0
   \   00012F   2488         ADD     A,#-0x78
   \   000131   F582         MOV     DPL,A
   \   000133   E9           MOV     A,R1
   \   000134   3400         ADDC    A,#0x0
   \   000136   F583         MOV     DPH,A
   \   000138   E4           CLR     A
   \   000139   F0           MOVX    @DPTR,A
    118                  pPacket->requested = FALSE;
   \   00013A   E8           MOV     A,R0
   \   00013B   248B         ADD     A,#-0x75
   \   00013D   F582         MOV     DPL,A
   \   00013F   E9           MOV     A,R1
   \   000140   3400         ADDC    A,#0x0
   \   000142   F583         MOV     DPH,A
   \   000144   E4           CLR     A
   \   000145   F0           MOVX    @DPTR,A
    119                  pPacket->transmissionStarted = FALSE;
   \   000146   E8           MOV     A,R0
   \   000147   248C         ADD     A,#-0x74
   \   000149   F582         MOV     DPL,A
   \   00014B   E9           MOV     A,R1
   \   00014C   3400         ADDC    A,#0x0
   \   00014E   F583         MOV     DPH,A
   \   000150   E4           CLR     A
   \   000151   F0           MOVX    @DPTR,A
    120          
    121                  // Update the global indexes
    122                  miqInfo.lastIndirectPacket = temp;
   \   000152   EE           MOV     A,R6
   \   000153   90....       MOV     DPTR,#(miqInfo + 1)
   \   000156   F0           MOVX    @DPTR,A
    123                  if (miqInfo.firstIndirectPacket == NO_PACKET) miqInfo.firstIndirectPacket = temp;
   \   000157   90....       MOV     DPTR,#miqInfo
   \   00015A   E0           MOVX    A,@DPTR
   \   00015B   64FF         XRL     A,#0xff
   \   00015D   7002         JNZ     ??miqAddIndirectPacket_10
   \   00015F   EE           MOV     A,R6
   \   000160   F0           MOVX    @DPTR,A
    124          
    125                  // Remove the task
    126                  mschRemoveTask(pTask->priority, MSCH_KEEP_TASK_IN_PROGRESS_BM);
   \                     ??miqAddIndirectPacket_10:
   \   000161                ; Setup parameters for call to function mschRemoveTask
   \   000161   7A02         MOV     R2,#0x2
   \   000163   8C82         MOV     DPL,R4
   \   000165   8D83         MOV     DPH,R5
   \   000167   A3           INC     DPTR
   \   000168   A3           INC     DPTR
   \   000169   A3           INC     DPTR
   \   00016A   A3           INC     DPTR
   \   00016B   A3           INC     DPTR
   \   00016C   A3           INC     DPTR
   \   00016D   A3           INC     DPTR
   \   00016E   A3           INC     DPTR
   \   00016F   E0           MOVX    A,@DPTR
   \   000170   F9           MOV     R1,A
   \   000171   12....       LCALL   mschRemoveTask & 0xFFFF
    127                  break;
    128              }
    129          
    130          } // miqAddIndirectPacket
   \                     ??miqAddIndirectPacket_0:
   \   000174                REQUIRE ?Subroutine2
   \   000174                ; // Fall through to label ?Subroutine2

   \                                 In segment NEAR_CODE, align 1, keep-with-next
   \                     ?Subroutine2:
   \   000000   7F08         MOV     R7,#0x8
   \   000002   02....       LJMP    ?BANKED_LEAVE_XDATA
    131          
    132          
    133          
    134          
    135          //-------------------------------------------------------------------------------------------------------
    136          //  void miqRemoveIndirectPacket(MAC_TASK_INFO *pTask)
    137          //
    138          //  DESCRIPTION:
    139          //      This task removes a packet from the indirect queue. Note that the "requested flag" must have been
    140          //      cleared before this task is created. To make sure that the packet is not requested again before
    141          //      this task completes, the timeToLive counter should be set to < 1.
    142          //
    143          //  TASK DATA:
    144          //      A pointer to the MAC_TX_PACKET to be removed.
    145          //-------------------------------------------------------------------------------------------------------

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    146          void miqRemoveIndirectPacket(MAC_TASK_INFO *pTask) NEAR {
   \                     miqRemoveIndirectPacket:
   \   000000   74F0         MOV     A,#-0x10

⌨️ 快捷键说明

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