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

📄 mac.lst

📁 无线单片机cc2430简化协议的无线收发程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   000010   F0           MOVX    @DPTR,A
    119            if (phy_pib.phyCurrentChannel < 11){
   \   000011   90....       MOV     DPTR,#(phy_pib + 1)
   \   000014   E0           MOVX    A,@DPTR
   \   000015   C3           CLR     C
   \   000016   940B         SUBB    A,#0xb
   \   000018   5012         JNC     ??macInitRadio_0
    120              mac_pib.macAckWaitDuration = SYMBOLS_TO_MACTICKS(120);
   \   00001A   90....       MOV     DPTR,#__Constant_78
   \   00001D   78..         MOV     R0,#?V0 + 0
   \   00001F   12....       LCALL   ?L_MOV_X
   \   000022   90....       MOV     DPTR,#mac_pib
   \   000025   78..         MOV     R0,#?V0 + 0
   \   000027   12....       LCALL   ?L_MOV_TO_X
   \   00002A   8010         SJMP    ??macInitRadio_1
    121            }
    122            else {
    123              mac_pib.macAckWaitDuration = SYMBOLS_TO_MACTICKS(54);
   \                     ??macInitRadio_0:
   \   00002C   90....       MOV     DPTR,#__Constant_36
   \   00002F   78..         MOV     R0,#?V0 + 0
   \   000031   12....       LCALL   ?L_MOV_X
   \   000034   90....       MOV     DPTR,#mac_pib
   \   000037   78..         MOV     R0,#?V0 + 0
   \   000039   12....       LCALL   ?L_MOV_TO_X
    124            }
    125          
    126            a_phy_service.args.phy_init_radio_args.radio_flags.bits.listen_mode = 0;
   \                     ??macInitRadio_1:
   \   00003C   90....       MOV     DPTR,#(a_phy_service + 1)
   \   00003F   E0           MOVX    A,@DPTR
   \   000040   54FE         ANL     A,#0xfe
   \   000042   F0           MOVX    @DPTR,A
   \   000043   A3           INC     DPTR
   \   000044   E0           MOVX    A,@DPTR
   \   000045   54FF         ANL     A,#0xff
   \   000047   F0           MOVX    @DPTR,A
    127          #ifdef LRWPAN_COORDINATOR
    128            a_phy_service.args.phy_init_radio_args.radio_flags.bits.pan_coordinator = 1;
   \   000048   90....       MOV     DPTR,#(a_phy_service + 1)
   \   00004B   E0           MOVX    A,@DPTR
   \   00004C   4402         ORL     A,#0x2
   \   00004E   F0           MOVX    @DPTR,A
   \   00004F   A3           INC     DPTR
   \   000050   E0           MOVX    A,@DPTR
   \   000051   4400         ORL     A,#0x0
   \   000053   F0           MOVX    @DPTR,A
    129          #else
    130            a_phy_service.args.phy_init_radio_args.radio_flags.bits.pan_coordinator = 0;
    131          #endif
    132          
    133          halInitRadio(phy_pib.phyCurrentFrequency,
    134          		     phy_pib.phyCurrentChannel,
    135          		     a_phy_service.args.phy_init_radio_args.radio_flags);
   \   000054                ; Setup parameters for call to function halInitRadio
   \   000054   90....       MOV     DPTR,#(a_phy_service + 1)
   \   000057   7402         MOV     A,#0x2
   \   000059   12....       LCALL   ?PUSH_XSTACK8_X
   \   00005C   90....       MOV     DPTR,#(phy_pib + 1)
   \   00005F   E0           MOVX    A,@DPTR
   \   000060   FA           MOV     R2,A
   \   000061   90....       MOV     DPTR,#phy_pib
   \   000064   E0           MOVX    A,@DPTR
   \   000065   F9           MOV     R1,A
   \   000066   12....       LCALL   halInitRadio
   \   000069   7402         MOV     A,#0x2
   \   00006B   12....       LCALL   ?DEALLOC_XSTACK8
    136          
    137          
    138          
    139          #ifdef LRWPAN_USE_STATIC_PANID
    140            halSetRadioPANID(LRWPAN_DEFAULT_PANID); //listen on this PANID
   \   00006E                ; Setup parameters for call to function halSetRadioPANID
   \   00006E   7A47         MOV     R2,#0x47
   \   000070   7B13         MOV     R3,#0x13
   \   000072   12....       LCALL   halSetRadioPANID
    141          #else
    142            halSetRadioPANID(0xFFFF);      //broadcast
    143          #endif
    144            halSetRadioShortAddr(0xFFFE);  //non-broadcast, reserved
   \   000075                ; Setup parameters for call to function halSetRadioShortAddr
   \   000075   7AFE         MOV     R2,#-0x2
   \   000077   7BFF         MOV     R3,#-0x1
   \   000079   12....       LCALL   halSetRadioShortAddr
    145            return(a_phy_service.status);
   \   00007C   90....       MOV     DPTR,#(a_phy_service + 3)
   \   00007F   E0           MOVX    A,@DPTR
   \   000080   F9           MOV     R1,A
   \   000081   7F04         MOV     R7,#0x4
   \   000083   02....       LJMP    ?FUNC_LEAVE_XDATA
    146          }
    147          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    148          void macSetPANID(UINT16 panid){
   \                     macSetPANID:
   \   000000   74F8         MOV     A,#-0x8
   \   000002   12....       LCALL   ?FUNC_ENTER_XDATA
   \   000005                ; Saved register size: 8
   \   000005                ; Auto size: 0
   \   000005   EA           MOV     A,R2
   \   000006   FE           MOV     R6,A
   \   000007   EB           MOV     A,R3
   \   000008   FF           MOV     R7,A
    149            mac_pib.macPANID = panid;
   \   000009   90....       MOV     DPTR,#(mac_pib + 18)
   \   00000C   EE           MOV     A,R6
   \   00000D   F0           MOVX    @DPTR,A
   \   00000E   A3           INC     DPTR
   \   00000F   EF           MOV     A,R7
   \   000010   F0           MOVX    @DPTR,A
    150            halSetRadioPANID(mac_pib.macPANID);
   \   000011                ; Setup parameters for call to function halSetRadioPANID
   \   000011   90....       MOV     DPTR,#(mac_pib + 18)
   \   000014   E0           MOVX    A,@DPTR
   \   000015   FA           MOV     R2,A
   \   000016   A3           INC     DPTR
   \   000017   E0           MOVX    A,@DPTR
   \   000018   FB           MOV     R3,A
   \   000019   12....       LCALL   halSetRadioPANID
    151          }
   \   00001C   7F01         MOV     R7,#0x1
   \   00001E   02....       LJMP    ?FUNC_LEAVE_XDATA
    152          
    153          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    154          void macSetChannel(BYTE channel){
   \                     macSetChannel:
   \   000000   74F8         MOV     A,#-0x8
   \   000002   12....       LCALL   ?FUNC_ENTER_XDATA
   \   000005                ; Saved register size: 8
   \   000005                ; Auto size: 0
   \   000005   E9           MOV     A,R1
   \   000006   FE           MOV     R6,A
    155            phy_pib.phyCurrentChannel = channel;
   \   000007   EE           MOV     A,R6
   \   000008   90....       MOV     DPTR,#(phy_pib + 1)
   \   00000B   F0           MOVX    @DPTR,A
    156            halSetChannel(channel);
   \   00000C                ; Setup parameters for call to function halSetChannel
   \   00000C   EE           MOV     A,R6
   \   00000D   F9           MOV     R1,A
   \   00000E   12....       LCALL   halSetChannel
    157          }
   \   000011   7F01         MOV     R7,#0x1
   \   000013   02....       LJMP    ?FUNC_LEAVE_XDATA
    158          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    159          BYTE macGetChannel()
   \                     macGetChannel:
    160          {
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 0
    161            return phy_pib.phyCurrentChannel;
   \   000004   90....       MOV     DPTR,#(phy_pib + 1)
   \   000007   E0           MOVX    A,@DPTR
   \   000008   F9           MOV     R1,A
   \   000009   D083         POP     DPH
   \   00000B   D082         POP     DPL
   \   00000D   22           RET
    162          }
    163          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    164          void macSetShortAddr(UINT16 saddr) {
   \                     macSetShortAddr:
   \   000000   74F8         MOV     A,#-0x8
   \   000002   12....       LCALL   ?FUNC_ENTER_XDATA
   \   000005                ; Saved register size: 8
   \   000005                ; Auto size: 0
   \   000005   EA           MOV     A,R2
   \   000006   FE           MOV     R6,A
   \   000007   EB           MOV     A,R3
   \   000008   FF           MOV     R7,A
    165          
    166            halSetRadioShortAddr(saddr);
   \   000009                ; Setup parameters for call to function halSetRadioShortAddr
   \   000009   EE           MOV     A,R6
   \   00000A   FA           MOV     R2,A
   \   00000B   EF           MOV     A,R7
   \   00000C   FB           MOV     R3,A
   \   00000D   12....       LCALL   halSetRadioShortAddr
    167          }
   \   000010   7F01         MOV     R7,#0x1
   \   000012   02....       LJMP    ?FUNC_LEAVE_XDATA
    168          

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
    169          unsigned char gMacDSN=0;
   \                     gMacDSN:
   \   000000                DS 1

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    170          void MACPutHeader(NODE_INFO *dest, BYTE frameCON)
   \                     MACPutHeader:
    171          {
   \   000000   74F3         MOV     A,#-0xd
   \   000002   12....       LCALL   ?FUNC_ENTER_XDATA
   \   000005                ; Saved register size: 13
   \   000005                ; Auto size: 0
   \   000005   89..         MOV     ?V0 + 1,R1
    172            BYTE c;
    173            BYTE dstmode, srcmode;
    174          
    175              //DEBUG_STRING(DBG_TX,"macTxData()-header\n");
    176          
    177          	a_mac_tx_data.fcflsb = frameCON;
   \   000007   E5..         MOV     A,?V0 + 1
   \   000009   90....       MOV     DPTR,#(a_mac_tx_data + 14)
   \   00000C   F0           MOVX    @DPTR,A
    178              a_mac_tx_data.fcfmsb = LRWPAN_FCF_DSTMODE_SADDR|LRWPAN_FCF_SRCMODE_NOADDR;
   \   00000D   7408         MOV     A,#0x8
   \   00000F   90....       MOV     DPTR,#(a_mac_tx_data + 15)
   \   000012   F0           MOVX    @DPTR,A
    179          	a_mac_tx_data.DestAddr.saddr = LRWPAN_BCAST_PANID;
   \   000013   90....       MOV     DPTR,#(a_mac_tx_data + 2)
   \   000016   74FF         MOV     A,#-0x1
   \   000018   F0           MOVX    @DPTR,A
   \   000019   A3           INC     DPTR
   \   00001A   74FF         MOV     A,#-0x1
   \   00001C   F0           MOVX    @DPTR,A
    180          	a_mac_tx_data.DestPANID = LRWPAN_BCAST_PANID;
   \   00001D   90....       MOV     DPTR,#a_mac_tx_data
   \   000020   74FF         MOV     A,#-0x1
   \   000022   F0           MOVX    @DPTR,A
   \   000023   A3           INC     DPTR
   \   000024   74FF         MOV     A,#-0x1
   \   000026   F0           MOVX    @DPTR,A
    181          	a_mac_tx_data.SrcPANID = LRWPAN_BCAST_PANID;
   \   000027   90....       MOV     DPTR,#(a_mac_tx_data + 10)
   \   00002A   74FF         MOV     A,#-0x1
   \   00002C   F0           MOVX    @DPTR,A
   \   00002D   A3           INC     DPTR
   \   00002E   74FF         MOV     A,#-0x1
   \   000030   F0           MOVX    @DPTR,A
    182          	
    183          				
    184              dstmode = LRWPAN_GET_DST_ADDR(a_mac_tx_data.fcfmsb);
   \   000031   90....       MOV     DPTR,#(a_mac_tx_data + 15)
   \   000034   E0           MOVX    A,@DPTR
   \   000035   13           RRC     A
   \   000036   13           RRC     A
   \   000037   543F         ANL     A,#0x3f
   \   000039   5403         ANL     A,#0x3
   \   00003B   F5..         MOV     ?V0 + 4,A
    185              srcmode = LRWPAN_GET_SRC_ADDR(a_mac_tx_data.fcfmsb);
   \   00003D   90....       MOV     DPTR,#(a_mac_tx_data + 15)
   \   000040   E0           MOVX    A,@DPTR
   \   000041   C4           SWAP    A
   \   000042   13           RRC     A
   \   000043   13           RRC     A
   \   000044   5403         ANL     A,#0x3
   \   000046   F5..         MOV     ?V0 + 5,A
    186          
    187              if (mac_pib.macPANID == 0xFFFE && srcmode == LRWPAN_ADDRMODE_SADDR)
   \   000048   90....       MOV     DPTR,#(mac_pib + 18)
   \   00004B   E0           MOVX    A,@DPTR
   \   00004C   64FE         XRL     A,#0xfe
   \   00004E   7004         JNZ     ??MACPutHeader_0
   \   000050   A3           INC     DPTR
   \   000051   E0           MOVX    A,@DPTR
   \   000052   64FF         XRL     A,#0xff
   \                     ??MACPutHeader_0:
   \   000054   7017         JNZ     ??MACPutHeader_1
   \   000056   7402         MOV     A,#0x2
   \   000058   65..         XRL     A,?V0 + 5
   \   00005A   7011         JNZ     ??MACPutHeader_1
    188              {
    189                srcmode = LRWPAN_ADDRMODE_LADDR;
   \   00005C   75..03       MOV     ?V0 + 5,#0x3
    190                a_mac_tx_data.fcfmsb = a_mac_tx_data.fcfmsb & ~LRWPAN_FCF_SRCMODE_MASK;

⌨️ 快捷键说明

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