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

📄 mac.lst

📁 无线单片机cc2430简化协议的无线收发程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
    242                              for(c=0;c<8;c++) {
   \                     ??MACPutHeader_5:
   \   0001BE   75..00       MOV     ?V0 + 0,#0x0
   \                     ??MACPutHeader_6:
   \   0001C1   E5..         MOV     A,?V0 + 0
   \   0001C3   C3           CLR     C
   \   0001C4   9408         SUBB    A,#0x8
   \   0001C6   503B         JNC     ??MACPutHeader_7
    243                                phy_pib.currentTxFrm++;
   \   0001C8   90....       MOV     DPTR,#(phy_pib + 14)
   \   0001CB   E0           MOVX    A,@DPTR
   \   0001CC   2401         ADD     A,#0x1
   \   0001CE   F8           MOV     R0,A
   \   0001CF   A3           INC     DPTR
   \   0001D0   E0           MOVX    A,@DPTR
   \   0001D1   3400         ADDC    A,#0x0
   \   0001D3   F9           MOV     R1,A
   \   0001D4   90....       MOV     DPTR,#(phy_pib + 14)
   \   0001D7   E8           MOV     A,R0
   \   0001D8   F0           MOVX    @DPTR,A
   \   0001D9   A3           INC     DPTR
   \   0001DA   E9           MOV     A,R1
   \   0001DB   F0           MOVX    @DPTR,A
    244                                *phy_pib.currentTxFrm = a_mac_tx_data.DestAddr.laddr.bytes[c];
   \   0001DC   85....       MOV     ?V0 + 2,?V0 + 0
   \   0001DF   75..00       MOV     ?V0 + 3,#0x0
   \   0001E2   E5..         MOV     A,?V0 + 2
   \   0001E4   24..         ADD     A,#((a_mac_tx_data + 2) & 0xff)
   \   0001E6   F582         MOV     DPL,A
   \   0001E8   E5..         MOV     A,?V0 + 3
   \   0001EA   34..         ADDC    A,#(((a_mac_tx_data + 2) >> 8) & 0xff)
   \   0001EC   F583         MOV     DPH,A
   \   0001EE   E0           MOVX    A,@DPTR
   \   0001EF   C0E0         PUSH    A
   \   0001F1   90....       MOV     DPTR,#(phy_pib + 14)
   \   0001F4   E0           MOVX    A,@DPTR
   \   0001F5   F8           MOV     R0,A
   \   0001F6   A3           INC     DPTR
   \   0001F7   E0           MOVX    A,@DPTR
   \   0001F8   F583         MOV     DPH,A
   \   0001FA   8882         MOV     DPL,R0
   \   0001FC   D0E0         POP     A
   \   0001FE   F0           MOVX    @DPTR,A
    245                              }
   \   0001FF   05..         INC     ?V0 + 0
   \   000201   80BE         SJMP    ??MACPutHeader_6
    246                              phy_pib.currentTxFlen=phy_pib.currentTxFlen+8;
   \                     ??MACPutHeader_7:
   \   000203   90....       MOV     DPTR,#(phy_pib + 16)
   \   000206   E0           MOVX    A,@DPTR
   \   000207   2408         ADD     A,#0x8
   \   000209   F0           MOVX    @DPTR,A
    247                              break;
    248          		  default:
    249                              break;
    250              }
    251          
    252              //format src PANID
    253              if ( !LRWPAN_GET_INTRAPAN(a_mac_tx_data.fcflsb) &&
    254                  srcmode != LRWPAN_ADDRMODE_NOADDR
    255                    )
   \                     ??MACPutHeader_3:
   \   00020A   90....       MOV     DPTR,#(a_mac_tx_data + 14)
   \   00020D   E0           MOVX    A,@DPTR
   \   00020E   A2E6         MOV     C,0xE0 /* A   */.6
   \   000210   405E         JC      ??MACPutHeader_8
   \   000212   E5..         MOV     A,?V0 + 5
   \   000214   605A         JZ      ??MACPutHeader_8
    256              {
    257                      phy_pib.currentTxFrm++;			
   \   000216   90....       MOV     DPTR,#(phy_pib + 14)
   \   000219   E0           MOVX    A,@DPTR
   \   00021A   2401         ADD     A,#0x1
   \   00021C   F8           MOV     R0,A
   \   00021D   A3           INC     DPTR
   \   00021E   E0           MOVX    A,@DPTR
   \   00021F   3400         ADDC    A,#0x0
   \   000221   F9           MOV     R1,A
   \   000222   90....       MOV     DPTR,#(phy_pib + 14)
   \   000225   E8           MOV     A,R0
   \   000226   F0           MOVX    @DPTR,A
   \   000227   A3           INC     DPTR
   \   000228   E9           MOV     A,R1
   \   000229   F0           MOVX    @DPTR,A
    258                      *phy_pib.currentTxFrm = (BYTE)a_mac_tx_data.SrcPANID;
   \   00022A   90....       MOV     DPTR,#(a_mac_tx_data + 10)
   \   00022D   E0           MOVX    A,@DPTR
   \   00022E   C0E0         PUSH    A
   \   000230   90....       MOV     DPTR,#(phy_pib + 14)
   \   000233   E0           MOVX    A,@DPTR
   \   000234   F8           MOV     R0,A
   \   000235   A3           INC     DPTR
   \   000236   E0           MOVX    A,@DPTR
   \   000237   F583         MOV     DPH,A
   \   000239   8882         MOV     DPL,R0
   \   00023B   D0E0         POP     A
   \   00023D   F0           MOVX    @DPTR,A
    259                      phy_pib.currentTxFrm++;
   \   00023E   90....       MOV     DPTR,#(phy_pib + 14)
   \   000241   E0           MOVX    A,@DPTR
   \   000242   2401         ADD     A,#0x1
   \   000244   F8           MOV     R0,A
   \   000245   A3           INC     DPTR
   \   000246   E0           MOVX    A,@DPTR
   \   000247   3400         ADDC    A,#0x0
   \   000249   F9           MOV     R1,A
   \   00024A   90....       MOV     DPTR,#(phy_pib + 14)
   \   00024D   E8           MOV     A,R0
   \   00024E   F0           MOVX    @DPTR,A
   \   00024F   A3           INC     DPTR
   \   000250   E9           MOV     A,R1
   \   000251   F0           MOVX    @DPTR,A
    260                      *phy_pib.currentTxFrm = (BYTE) (a_mac_tx_data.SrcPANID >> 8);
   \   000252   90....       MOV     DPTR,#(a_mac_tx_data + 10)
   \   000255   A3           INC     DPTR
   \   000256   E0           MOVX    A,@DPTR
   \   000257   F9           MOV     R1,A
   \   000258   E9           MOV     A,R1
   \   000259   C0E0         PUSH    A
   \   00025B   90....       MOV     DPTR,#(phy_pib + 14)
   \   00025E   E0           MOVX    A,@DPTR
   \   00025F   F8           MOV     R0,A
   \   000260   A3           INC     DPTR
   \   000261   E0           MOVX    A,@DPTR
   \   000262   F583         MOV     DPH,A
   \   000264   8882         MOV     DPL,R0
   \   000266   D0E0         POP     A
   \   000268   F0           MOVX    @DPTR,A
    261                      phy_pib.currentTxFlen=phy_pib.currentTxFlen+2;
   \   000269   90....       MOV     DPTR,#(phy_pib + 16)
   \   00026C   E0           MOVX    A,@DPTR
   \   00026D   2402         ADD     A,#0x2
   \   00026F   F0           MOVX    @DPTR,A
    262              }
    263          
    264              //format src Address
    265              switch(srcmode)
   \                     ??MACPutHeader_8:
   \   000270   E5..         MOV     A,?V0 + 5
   \   000272   12....       LCALL   ?UC_SWITCH_DENSE
   \                     `?<Jumptable for MACPutHeader>_1`:
   \   000275   02           DB        2
   \   000276   01           DB        1
   \   000277   ....         DW        ??MACPutHeader_9
   \   000279   ....         DW        ??MACPutHeader_10
   \   00027B   ....         DW        ??MACPutHeader_11
    266          	{
    267          	    case LRWPAN_ADDRMODE_NOADDR:
    268          			  break;
    269          	    case LRWPAN_ADDRMODE_SADDR:
    270          			  phy_pib.currentTxFrm++;
   \                     ??MACPutHeader_10:
   \   00027D   90....       MOV     DPTR,#(phy_pib + 14)
   \   000280   E0           MOVX    A,@DPTR
   \   000281   2401         ADD     A,#0x1
   \   000283   F8           MOV     R0,A
   \   000284   A3           INC     DPTR
   \   000285   E0           MOVX    A,@DPTR
   \   000286   3400         ADDC    A,#0x0
   \   000288   F9           MOV     R1,A
   \   000289   90....       MOV     DPTR,#(phy_pib + 14)
   \   00028C   E8           MOV     A,R0
   \   00028D   F0           MOVX    @DPTR,A
   \   00028E   A3           INC     DPTR
   \   00028F   E9           MOV     A,R1
   \   000290   F0           MOVX    @DPTR,A
    271          	                  *phy_pib.currentTxFrm = (BYTE)a_mac_tx_data.SrcAddr;	
   \   000291   90....       MOV     DPTR,#(a_mac_tx_data + 12)
   \   000294   E0           MOVX    A,@DPTR
   \   000295   C0E0         PUSH    A
   \   000297   90....       MOV     DPTR,#(phy_pib + 14)
   \   00029A   E0           MOVX    A,@DPTR
   \   00029B   F8           MOV     R0,A
   \   00029C   A3           INC     DPTR
   \   00029D   E0           MOVX    A,@DPTR
   \   00029E   F583         MOV     DPH,A
   \   0002A0   8882         MOV     DPL,R0
   \   0002A2   D0E0         POP     A
   \   0002A4   F0           MOVX    @DPTR,A
    272          	                  phy_pib.currentTxFrm++;
   \   0002A5   90....       MOV     DPTR,#(phy_pib + 14)
   \   0002A8   E0           MOVX    A,@DPTR
   \   0002A9   2401         ADD     A,#0x1
   \   0002AB   F8           MOV     R0,A
   \   0002AC   A3           INC     DPTR
   \   0002AD   E0           MOVX    A,@DPTR
   \   0002AE   3400         ADDC    A,#0x0
   \   0002B0   F9           MOV     R1,A
   \   0002B1   90....       MOV     DPTR,#(phy_pib + 14)
   \   0002B4   E8           MOV     A,R0
   \   0002B5   F0           MOVX    @DPTR,A
   \   0002B6   A3           INC     DPTR
   \   0002B7   E9           MOV     A,R1
   \   0002B8   F0           MOVX    @DPTR,A
    273          	                  *phy_pib.currentTxFrm = (BYTE)(a_mac_tx_data.SrcAddr >> 8);					
   \   0002B9   90....       MOV     DPTR,#(a_mac_tx_data + 12)
   \   0002BC   A3           INC     DPTR
   \   0002BD   E0           MOVX    A,@DPTR
   \   0002BE   F9           MOV     R1,A
   \   0002BF   E9           MOV     A,R1
   \   0002C0   C0E0         PUSH    A
   \   0002C2   90....       MOV     DPTR,#(phy_pib + 14)
   \   0002C5   E0           MOVX    A,@DPTR
   \   0002C6   F8           MOV     R0,A
   \   0002C7   A3           INC     DPTR
   \   0002C8   E0           MOVX    A,@DPTR
   \   0002C9   F583         MOV     DPH,A
   \   0002CB   8882         MOV     DPL,R0
   \   0002CD   D0E0         POP     A
   \   0002CF   F0           MOVX    @DPTR,A
    274          	                  phy_pib.currentTxFlen=phy_pib.currentTxFlen+2;
   \   0002D0   90....       MOV     DPTR,#(phy_pib + 16)
   \   0002D3   E0           MOVX    A,@DPTR
   \   0002D4   2402         ADD     A,#0x2
   \   0002D6   F0           MOVX    @DPTR,A
   \   0002D7   802A         SJMP    ??MACPutHeader_9
    275          	                  break;
    276          	    case LRWPAN_ADDRMODE_LADDR:
    277          			  //this has to be our own long address, get it
    278          			  halGetProcessorIEEEAddress_ASC(phy_pib.currentTxFrm-8);
   \                     ??MACPutHeader_11:
   \   0002D9                ; Setup parameters for call to function halGetProcessorIEEEAddress_ASC
   \   0002D9   90....       MOV     DPTR,#(phy_pib + 14)
   \   0002DC   E0           MOVX    A,@DPTR
   \   0002DD   24F8         ADD     A,#-0x8
   \   0002DF   FA           MOV     R2,A
   \   0002E0   A3           INC     DPTR
   \   0002E1   E0           MOVX    A,@DPTR
   \   0002E2   34FF         ADDC    A,#-0x1
   \   0002E4   FB           MOV     R3,A
   \   0002E5   12....       LCALL   halGetProcessorIEEEAddress_ASC
    279          	                  phy_pib.currentTxFlen=phy_pib.currentTxFlen+8;
   \   0002E8   90....       MOV     DPTR,#(phy_pib + 16)
   \   0002EB   E0           MOVX    A,@DPTR
   \   0002EC   2408         ADD     A,#0x8
   \   0002EE   F0           MOVX    @DPTR,A
    280          	                  phy_pib.currentTxFrm = phy_pib.currentTxFrm+8;
   \   0002EF   90....       MOV     DPTR,#(phy_pib + 14)
   \   0002F2   E0           MOVX    A,@DPTR
   \   0002F3   2408         ADD     A,#0x8
   \   0002F5   F8           MOV     R0,A
   \   0002F6   A3           INC     DPTR
   \   0002F7   E0           MOVX    A,@DPTR
   \   0002F8   3400         ADDC    A,#0x0
   \   0002FA   F9           MOV     R1,A
   \   0002FB   90....       MOV     DPTR,#(phy_pib + 14)
   \   0002FE   E8           MOV     A,R0
   \   0002FF   F0           MOVX    @DPTR,A
   \   000300   A3           INC     DPTR
   \   000301   E9           MOV     A,R1
   \   000302   F0           MOVX    @DPTR,A
    281          	                  break;
    282          	    default:
    283          			  break;
    284              }	
    285          
    286          
    287          }
   \                     ??MACPutHeader_9:
   \   000303   7F06         MOV     R7,#0x6
   \   000305   02....       LJMP    ?FUNC_LEAVE_XDATA
    288          
    289          
    290          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    291           void MACPutArray(BYTE *data,BYTE len) //bhj 本函数在数组的最后追加了一个校验字节
   \                     MACPutArray:
    292          {
   \   000000   74F6         MOV     A,#-0xa
   \   000002   12....       LCALL   ?FUNC_ENTER_XDATA
   \   000005                ; Saved register size: 10
   \   000005                ; Auto size: 0
   \   000005   E9           MOV     A,R1
   \   000006   FC           MOV     R4,A
    293             BYTE i;

⌨️ 快捷键说明

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