📄 mac.lst
字号:
\ 000083 F0 MOVX @DPTR,A
97
98 mpib.macAckWaitDuration = 54;
\ 000084 7436 MOV A,#0x36
\ 000086 90.... MOV DPTR,#mpib
\ 000089 F0 MOVX @DPTR,A
99 mpib.macAssociationPermit = FALSE;
\ 00008A E4 CLR A
\ 00008B 90.... MOV DPTR,#(mpib + 1)
\ 00008E F0 MOVX @DPTR,A
100 mpib.macAutoRequest = TRUE;
\ 00008F 7401 MOV A,#0x1
\ 000091 90.... MOV DPTR,#(mpib + 2)
\ 000094 F0 MOVX @DPTR,A
101 mpib.macBattLifeExt = FALSE;
\ 000095 E4 CLR A
\ 000096 90.... MOV DPTR,#(mpib + 3)
\ 000099 F0 MOVX @DPTR,A
102 mpib.macBattLifeExtPeriods = 6;
\ 00009A 7406 MOV A,#0x6
\ 00009C 90.... MOV DPTR,#(mpib + 4)
\ 00009F F0 MOVX @DPTR,A
103 mpib.pMacBeaconPayload = NULL;
\ 0000A0 90.... MOV DPTR,#(mpib + 5)
\ 0000A3 E4 CLR A
\ 0000A4 F0 MOVX @DPTR,A
\ 0000A5 A3 INC DPTR
\ 0000A6 F0 MOVX @DPTR,A
104 mpib.macBeaconPayloadLength = 0;
\ 0000A7 90.... MOV DPTR,#(mpib + 7)
\ 0000AA F0 MOVX @DPTR,A
105 mpib.macBeaconOrder = 15;
\ 0000AB 740F MOV A,#0xf
\ 0000AD 90.... MOV DPTR,#(mpib + 8)
\ 0000B0 F0 MOVX @DPTR,A
106 mpib.macBeaconTxTime = 0;
\ 0000B1 90.... MOV DPTR,#__Constant_0
\ 0000B4 78.. MOV R0,#?V0 + 0
\ 0000B6 12.... LCALL ?L_MOV_X
\ 0000B9 90.... MOV DPTR,#(mpib + 9)
\ 0000BC 78.. MOV R0,#?V0 + 0
\ 0000BE 12.... LCALL ?L_MOV_TO_X
107 mpib.macBSN = msupGetRandomByte();
\ 0000C1 ; Setup parameters for call to function msupGetRandomByte
\ 0000C1 12.... LCALL msupGetRandomByte
\ 0000C4 E9 MOV A,R1
\ 0000C5 90.... MOV DPTR,#(mpib + 13)
\ 0000C8 F0 MOVX @DPTR,A
108 mpib.macCoordShortAddress = 0xFFFF;
\ 0000C9 90.... MOV DPTR,#(mpib + 22)
\ 0000CC 74FF MOV A,#-0x1
\ 0000CE F0 MOVX @DPTR,A
\ 0000CF A3 INC DPTR
\ 0000D0 F0 MOVX @DPTR,A
109 mpib.macDSN = msupGetRandomByte();
\ 0000D1 ; Setup parameters for call to function msupGetRandomByte
\ 0000D1 12.... LCALL msupGetRandomByte
\ 0000D4 E9 MOV A,R1
\ 0000D5 90.... MOV DPTR,#(mpib + 24)
\ 0000D8 F0 MOVX @DPTR,A
110 mpib.macGTSPermit = TRUE;
\ 0000D9 7401 MOV A,#0x1
\ 0000DB 90.... MOV DPTR,#(mpib + 25)
\ 0000DE F0 MOVX @DPTR,A
111 mpib.macMaxCsmaBackoffs = 4;
\ 0000DF 7404 MOV A,#0x4
\ 0000E1 90.... MOV DPTR,#(mpib + 26)
\ 0000E4 F0 MOVX @DPTR,A
112 mpib.macMinBE = 3;
\ 0000E5 7403 MOV A,#0x3
\ 0000E7 90.... MOV DPTR,#(mpib + 27)
\ 0000EA F0 MOVX @DPTR,A
113 mpib.macPANId = 0xFFFF;
\ 0000EB 90.... MOV DPTR,#(mpib + 28)
\ 0000EE 74FF MOV A,#-0x1
\ 0000F0 F0 MOVX @DPTR,A
\ 0000F1 A3 INC DPTR
\ 0000F2 F0 MOVX @DPTR,A
114 mpib.macPromiscuousMode = FALSE;
\ 0000F3 E4 CLR A
\ 0000F4 90.... MOV DPTR,#(mpib + 30)
\ 0000F7 F0 MOVX @DPTR,A
115 mpib.macRxOnWhenIdle = FALSE;
\ 0000F8 90.... MOV DPTR,#(mpib + 31)
\ 0000FB F0 MOVX @DPTR,A
116 mpib.macShortAddress = 0xFFFF;
\ 0000FC 90.... MOV DPTR,#(mpib + 32)
\ 0000FF 74FF MOV A,#-0x1
\ 000101 F0 MOVX @DPTR,A
\ 000102 A3 INC DPTR
\ 000103 F0 MOVX @DPTR,A
117 mpib.macSuperframeOrder = BEACON_ORDER_NO_BEACON;
\ 000104 740F MOV A,#0xf
\ 000106 90.... MOV DPTR,#(mpib + 34)
\ 000109 F0 MOVX @DPTR,A
118 mpib.macTransactionPersistenceTime = 0x01F4;
\ 00010A 90.... MOV DPTR,#(mpib + 35)
\ 00010D 74F4 MOV A,#-0xc
\ 00010F F0 MOVX @DPTR,A
\ 000110 A3 INC DPTR
\ 000111 7401 MOV A,#0x1
\ 000113 F0 MOVX @DPTR,A
119 memset(mpib.pMacCoordExtendedAddress, 0xFF, sizeof(mpib.pMacCoordExtendedAddress));
\ 000114 ; Setup parameters for call to function memset
\ 000114 75..08 MOV ?V0 + 0,#0x8
\ 000117 75..00 MOV ?V0 + 1,#0x0
\ 00011A 78.. MOV R0,#?V0 + 0
\ 00011C 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 00011F 7CFF MOV R4,#-0x1
\ 000121 7D00 MOV R5,#0x0
\ 000123 7A.. MOV R2,#((mpib + 14) & 0xff)
\ 000125 7B.. MOV R3,#(((mpib + 14) >> 8) & 0xff)
\ 000127 90.... MOV DPTR,#(memset & 0xffff)
\ 00012A 74.. MOV A,#((memset >> 16) & 0xff)
\ 00012C 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 00012F 7402 MOV A,#0x2
\ 000131 12.... LCALL ?DEALLOC_XSTACK8
120 mpib.macAssociatedPanCordinator = TRUE;
\ 000134 7401 MOV A,#0x1
\ 000136 90.... MOV DPTR,#(mpib + 37)
\ 000139 F0 MOVX @DPTR,A
121
122 #if MAC_OPT_ACL_SIZE > 0
123 mpib.ppMacACLEntryDescriptorSet = NULL;
124 mpib.macACLEntryDescriptorSetSize = 0;
125 #endif
126
127 #if MAC_OPT_SECURITY
128 mpib.macDefaultSecurity = FALSE;
129 mpib.macDefaultSecurityMaterialLength = 0x15;
130 mpib.pMacDefaultSecurityMaterial = NULL;
131 mpib.macDefaultSecuritySuite = 0;
132 #endif
133
134 #if ((MAC_OPT_SECURITY) || (MAC_OPT_ACL_SIZE>0))
135 mpib.macSecurityMode = 0;
136 #endif
137 }
138
139 // Configure CC2430 registers
140 mpmRestoreRegsAndRam();
\ ??mlmeResetRequest_0:
\ 00013A ; Setup parameters for call to function mpmRestoreRegsAndRam
\ 00013A 12.... LCALL mpmRestoreRegsAndRam
141
142 // Turn the interrupts back on
143 EnableRfInterrupts ();
\ 00013D ; Setup parameters for call to function EnableRfInterrupts
\ 00013D 12.... LCALL EnableRfInterrupts
144 ENABLE_TIMER2_INT();
\ 000140 D2BA SETB 0xb8.2
145
146 // Confirm
147 return SUCCESS;
\ 000142 7900 MOV R1,#0x0
\ 000144 7F04 MOV R7,#0x4
\ 000146 02.... LJMP ?FUNC_LEAVE_XDATA
148
149 } // mlmeResetRequest
150
151
152
153
154 //-------------------------------------------------------------------------------------------------------
155 // void mcpsDataRequest(BYTE addrModes, WORD srcPanId, ADDRESS *pSrcAddr, WORD destPanId, ADDRESS ...)
156 //
157 // DESCRIPTION:
158 // Transmit a data packet.
159 //
160 // PARAMETERS:
161 // BYTE addrModes
162 // Address mode for source and destination
163 // (SRC_ADDR_SHORT, SRC_ADDR_EXT or 0) | (DEST_ADDR_SHORT, DEST_ADDR_EXT or 0)
164 // WORD srcPanId
165 // Source PAN identifier
166 // ADDRESS *pSrcAddr
167 // Pointer to the source address (short or extended)
168 // WORD destPanId,
169 // Destination PAN identifier
170 // ADDRESS *pDestAddr,
171 // Pointer to the destination address (short or extended)
172 // UINT8 msduLength,
173 // The length of pMsdu[]
174 // BYTE *pMsdu,
175 // A pointer to the packet payload
176 // BYTE msduHandle,
177 // A handle to this packet which is used later on with mcpsPurgeRequest)( and mcpsDataConfirm()
178 // BYTE txOptions
179 // (TX_OPT_SECURITY_ENABLE | TX_OPT_INDIRECT | TX_OPT_GTS | TX_OPT_ACK_REQ) or TX_OPT_NONE
180 // Note: Indirect transmission only available for MAC_OPT_FFD=1
181 //-------------------------------------------------------------------------------------------------------
\ In segment NEAR_CODE, align 1, keep-with-next
182 ROOT void mcpsDataRequest(BYTE addrModes, WORD srcPanId, ADDRESS *pSrcAddr, WORD destPanId,
\ mcpsDataRequest:
183 ADDRESS *pDestAddr, UINT8 msduLength, BYTE *pMsdu,
184 BYTE msduHandle, BYTE txOptions) {
\ 000000 74F1 MOV A,#-0xf
\ 000002 12.... LCALL ?FUNC_ENTER_XDATA
\ 000005 ; Saved register size: 15
\ 000005 ; Auto size: 3
\ 000005 74FD MOV A,#-0x3
\ 000007 12.... LCALL ?ALLOC_XSTACK8
\ 00000A E9 MOV A,R1
\ 00000B 85..82 MOV DPL,?XSP + 0
\ 00000E 85..83 MOV DPH,?XSP + 1
\ 000011 F0 MOVX @DPTR,A
\ 000012 7401 MOV A,#0x1
\ 000014 12.... LCALL ?XSTACK_DISP0_8
\ 000017 EC MOV A,R4
\ 000018 F0 MOVX @DPTR,A
\ 000019 A3 INC DPTR
\ 00001A ED MOV A,R5
\ 00001B F0 MOVX @DPTR,A
\ 00001C 8A.. MOV ?V0 + 0,R2
\ 00001E 8B.. MOV ?V0 + 1,R3
\ 000020 7412 MOV A,#0x12
\ 000022 12.... LCALL ?XSTACK_DISP0_8
\ 000025 E0 MOVX A,@DPTR
\ 000026 FE MOV R6,A
\ 000027 A3 INC DPTR
\ 000028 E0 MOVX A,@DPTR
\ 000029 FF MOV R7,A
\ 00002A 7416 MOV A,#0x16
\ 00002C 12.... LCALL ?XSTACK_DISP0_8
\ 00002F E0 MOVX A,@DPTR
\ 000030 F5.. MOV ?V0 + 7,A
\ 000032 7419 MOV A,#0x19
\ 000034 12.... LCALL ?XSTACK_DISP0_8
\ 000037 E0 MOVX A,@DPTR
\ 000038 F5.. MOV ?V0 + 6,A
185 MAC_TX_PACKET *pPacket;
186 UINT8 temp;
187 BYTE *pPayload,
188 taskNumber;
189
190 // Reserve a packet to use with the TX engine
191 #if MAC_OPT_FFD
192 reservePacket:
193 pPacket = mtxpReservePacket();
\ ??mcpsDataRequest_0:
\ 00003A ; Setup parameters for call to function mtxpReservePacket
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -