📄 mac.lst
字号:
\ 00005F 90.... MOV DPTR,#(a_mac_tx_data + 15)
\ 000062 E0 MOVX A,@DPTR
\ 000063 543F ANL A,#0x3f
\ 000065 F0 MOVX @DPTR,A
191
192 LRWPAN_SET_SRC_ADDR(a_mac_tx_data.fcfmsb,LRWPAN_ADDRMODE_LADDR);
\ 000066 90.... MOV DPTR,#(a_mac_tx_data + 15)
\ 000069 E0 MOVX A,@DPTR
\ 00006A 44C0 ORL A,#0xc0
\ 00006C F0 MOVX @DPTR,A
193 }
194
195
196
197 phy_pib.currentTxFrm = tmpTxBuff;
\ ??MACPutHeader_1:
\ 00006D 90.... MOV DPTR,#(phy_pib + 14)
\ 000070 74.. MOV A,#(tmpTxBuff & 0xff)
\ 000072 F0 MOVX @DPTR,A
\ 000073 A3 INC DPTR
\ 000074 74.. MOV A,#((tmpTxBuff >> 8) & 0xff)
\ 000076 F0 MOVX @DPTR,A
198 phy_pib.currentTxFlen=0;
\ 000077 7400 MOV A,#0x0
\ 000079 90.... MOV DPTR,#(phy_pib + 16)
\ 00007C F0 MOVX @DPTR,A
199
200 //format LSB Fcontrol
201 //phy_pib.currentTxFrm++;
202 *phy_pib.currentTxFrm = a_mac_tx_data.fcflsb;
\ 00007D 90.... MOV DPTR,#(a_mac_tx_data + 14)
\ 000080 E0 MOVX A,@DPTR
\ 000081 C0E0 PUSH A
\ 000083 90.... MOV DPTR,#(phy_pib + 14)
\ 000086 E0 MOVX A,@DPTR
\ 000087 F8 MOV R0,A
\ 000088 A3 INC DPTR
\ 000089 E0 MOVX A,@DPTR
\ 00008A F583 MOV DPH,A
\ 00008C 8882 MOV DPL,R0
\ 00008E D0E0 POP A
\ 000090 F0 MOVX @DPTR,A
203
204 //format MSB Fcontrol
205 phy_pib.currentTxFrm++;
\ 000091 90.... MOV DPTR,#(phy_pib + 14)
\ 000094 E0 MOVX A,@DPTR
\ 000095 2401 ADD A,#0x1
\ 000097 F8 MOV R0,A
\ 000098 A3 INC DPTR
\ 000099 E0 MOVX A,@DPTR
\ 00009A 3400 ADDC A,#0x0
\ 00009C F9 MOV R1,A
\ 00009D 90.... MOV DPTR,#(phy_pib + 14)
\ 0000A0 E8 MOV A,R0
\ 0000A1 F0 MOVX @DPTR,A
\ 0000A2 A3 INC DPTR
\ 0000A3 E9 MOV A,R1
\ 0000A4 F0 MOVX @DPTR,A
206 *phy_pib.currentTxFrm = a_mac_tx_data.fcfmsb;
\ 0000A5 90.... MOV DPTR,#(a_mac_tx_data + 15)
\ 0000A8 E0 MOVX A,@DPTR
\ 0000A9 C0E0 PUSH A
\ 0000AB 90.... MOV DPTR,#(phy_pib + 14)
\ 0000AE E0 MOVX A,@DPTR
\ 0000AF F8 MOV R0,A
\ 0000B0 A3 INC DPTR
\ 0000B1 E0 MOVX A,@DPTR
\ 0000B2 F583 MOV DPH,A
\ 0000B4 8882 MOV DPL,R0
\ 0000B6 D0E0 POP A
\ 0000B8 F0 MOVX @DPTR,A
207
208
209 //format dsn
210 mac_pib.macDSN = gMacDSN++;
\ 0000B9 90.... MOV DPTR,#gMacDSN
\ 0000BC E0 MOVX A,@DPTR
\ 0000BD 90.... MOV DPTR,#(mac_pib + 20)
\ 0000C0 F0 MOVX @DPTR,A
\ 0000C1 90.... MOV DPTR,#gMacDSN
\ 0000C4 E0 MOVX A,@DPTR
\ 0000C5 2401 ADD A,#0x1
\ 0000C7 F0 MOVX @DPTR,A
211 phy_pib.currentTxFrm++;
\ 0000C8 90.... MOV DPTR,#(phy_pib + 14)
\ 0000CB E0 MOVX A,@DPTR
\ 0000CC 2401 ADD A,#0x1
\ 0000CE F8 MOV R0,A
\ 0000CF A3 INC DPTR
\ 0000D0 E0 MOVX A,@DPTR
\ 0000D1 3400 ADDC A,#0x0
\ 0000D3 F9 MOV R1,A
\ 0000D4 90.... MOV DPTR,#(phy_pib + 14)
\ 0000D7 E8 MOV A,R0
\ 0000D8 F0 MOVX @DPTR,A
\ 0000D9 A3 INC DPTR
\ 0000DA E9 MOV A,R1
\ 0000DB F0 MOVX @DPTR,A
212 *phy_pib.currentTxFrm = mac_pib.macDSN; //set DSN
\ 0000DC 90.... MOV DPTR,#(mac_pib + 20)
\ 0000DF E0 MOVX A,@DPTR
\ 0000E0 C0E0 PUSH A
\ 0000E2 90.... MOV DPTR,#(phy_pib + 14)
\ 0000E5 E0 MOVX A,@DPTR
\ 0000E6 F8 MOV R0,A
\ 0000E7 A3 INC DPTR
\ 0000E8 E0 MOVX A,@DPTR
\ 0000E9 F583 MOV DPH,A
\ 0000EB 8882 MOV DPL,R0
\ 0000ED D0E0 POP A
\ 0000EF F0 MOVX @DPTR,A
213
214 phy_pib.currentTxFlen = phy_pib.currentTxFlen + 3; //DSN, FCFLSB, FCFMSB
\ 0000F0 90.... MOV DPTR,#(phy_pib + 16)
\ 0000F3 E0 MOVX A,@DPTR
\ 0000F4 2403 ADD A,#0x3
\ 0000F6 F0 MOVX @DPTR,A
215
216
217 //format dst PANID, will be present if both dst is nonzero
218 if (dstmode != LRWPAN_ADDRMODE_NOADDR)
\ 0000F7 E5.. MOV A,?V0 + 4
\ 0000F9 605A JZ ??MACPutHeader_2
219 {
220 phy_pib.currentTxFrm++;
\ 0000FB 90.... MOV DPTR,#(phy_pib + 14)
\ 0000FE E0 MOVX A,@DPTR
\ 0000FF 2401 ADD A,#0x1
\ 000101 F8 MOV R0,A
\ 000102 A3 INC DPTR
\ 000103 E0 MOVX A,@DPTR
\ 000104 3400 ADDC A,#0x0
\ 000106 F9 MOV R1,A
\ 000107 90.... MOV DPTR,#(phy_pib + 14)
\ 00010A E8 MOV A,R0
\ 00010B F0 MOVX @DPTR,A
\ 00010C A3 INC DPTR
\ 00010D E9 MOV A,R1
\ 00010E F0 MOVX @DPTR,A
221 *phy_pib.currentTxFrm = (BYTE)a_mac_tx_data.DestPANID;
\ 00010F 90.... MOV DPTR,#a_mac_tx_data
\ 000112 E0 MOVX A,@DPTR
\ 000113 C0E0 PUSH A
\ 000115 90.... MOV DPTR,#(phy_pib + 14)
\ 000118 E0 MOVX A,@DPTR
\ 000119 F8 MOV R0,A
\ 00011A A3 INC DPTR
\ 00011B E0 MOVX A,@DPTR
\ 00011C F583 MOV DPH,A
\ 00011E 8882 MOV DPL,R0
\ 000120 D0E0 POP A
\ 000122 F0 MOVX @DPTR,A
222
223 phy_pib.currentTxFrm++;
\ 000123 90.... MOV DPTR,#(phy_pib + 14)
\ 000126 E0 MOVX A,@DPTR
\ 000127 2401 ADD A,#0x1
\ 000129 F8 MOV R0,A
\ 00012A A3 INC DPTR
\ 00012B E0 MOVX A,@DPTR
\ 00012C 3400 ADDC A,#0x0
\ 00012E F9 MOV R1,A
\ 00012F 90.... MOV DPTR,#(phy_pib + 14)
\ 000132 E8 MOV A,R0
\ 000133 F0 MOVX @DPTR,A
\ 000134 A3 INC DPTR
\ 000135 E9 MOV A,R1
\ 000136 F0 MOVX @DPTR,A
224 *phy_pib.currentTxFrm = (BYTE) (a_mac_tx_data.DestPANID >> 8);
\ 000137 90.... MOV DPTR,#a_mac_tx_data
\ 00013A A3 INC DPTR
\ 00013B E0 MOVX A,@DPTR
\ 00013C F9 MOV R1,A
\ 00013D E9 MOV A,R1
\ 00013E C0E0 PUSH A
\ 000140 90.... MOV DPTR,#(phy_pib + 14)
\ 000143 E0 MOVX A,@DPTR
\ 000144 F8 MOV R0,A
\ 000145 A3 INC DPTR
\ 000146 E0 MOVX A,@DPTR
\ 000147 F583 MOV DPH,A
\ 000149 8882 MOV DPL,R0
\ 00014B D0E0 POP A
\ 00014D F0 MOVX @DPTR,A
225
226 phy_pib.currentTxFlen=phy_pib.currentTxFlen+2;
\ 00014E 90.... MOV DPTR,#(phy_pib + 16)
\ 000151 E0 MOVX A,@DPTR
\ 000152 2402 ADD A,#0x2
\ 000154 F0 MOVX @DPTR,A
227 }
228
229 //format dst Address
230 switch(dstmode)
\ ??MACPutHeader_2:
\ 000155 E5.. MOV A,?V0 + 4
\ 000157 12.... LCALL ?UC_SWITCH_DENSE
\ `?<Jumptable for MACPutHeader>_0`:
\ 00015A 02 DB 2
\ 00015B 01 DB 1
\ 00015C .... DW ??MACPutHeader_3
\ 00015E .... DW ??MACPutHeader_4
\ 000160 .... DW ??MACPutHeader_5
231 {
232 case LRWPAN_ADDRMODE_NOADDR:
233 break;
234 case LRWPAN_ADDRMODE_SADDR:
235 phy_pib.currentTxFrm++;
\ ??MACPutHeader_4:
\ 000162 90.... MOV DPTR,#(phy_pib + 14)
\ 000165 E0 MOVX A,@DPTR
\ 000166 2401 ADD A,#0x1
\ 000168 F8 MOV R0,A
\ 000169 A3 INC DPTR
\ 00016A E0 MOVX A,@DPTR
\ 00016B 3400 ADDC A,#0x0
\ 00016D F9 MOV R1,A
\ 00016E 90.... MOV DPTR,#(phy_pib + 14)
\ 000171 E8 MOV A,R0
\ 000172 F0 MOVX @DPTR,A
\ 000173 A3 INC DPTR
\ 000174 E9 MOV A,R1
\ 000175 F0 MOVX @DPTR,A
236 *phy_pib.currentTxFrm = (BYTE)a_mac_tx_data.DestAddr.saddr;
\ 000176 90.... MOV DPTR,#(a_mac_tx_data + 2)
\ 000179 E0 MOVX A,@DPTR
\ 00017A C0E0 PUSH A
\ 00017C 90.... MOV DPTR,#(phy_pib + 14)
\ 00017F E0 MOVX A,@DPTR
\ 000180 F8 MOV R0,A
\ 000181 A3 INC DPTR
\ 000182 E0 MOVX A,@DPTR
\ 000183 F583 MOV DPH,A
\ 000185 8882 MOV DPL,R0
\ 000187 D0E0 POP A
\ 000189 F0 MOVX @DPTR,A
237 phy_pib.currentTxFrm++;
\ 00018A 90.... MOV DPTR,#(phy_pib + 14)
\ 00018D E0 MOVX A,@DPTR
\ 00018E 2401 ADD A,#0x1
\ 000190 F8 MOV R0,A
\ 000191 A3 INC DPTR
\ 000192 E0 MOVX A,@DPTR
\ 000193 3400 ADDC A,#0x0
\ 000195 F9 MOV R1,A
\ 000196 90.... MOV DPTR,#(phy_pib + 14)
\ 000199 E8 MOV A,R0
\ 00019A F0 MOVX @DPTR,A
\ 00019B A3 INC DPTR
\ 00019C E9 MOV A,R1
\ 00019D F0 MOVX @DPTR,A
238 *phy_pib.currentTxFrm = (BYTE)(a_mac_tx_data.DestAddr.saddr >> 8);
\ 00019E 90.... MOV DPTR,#(a_mac_tx_data + 2)
\ 0001A1 A3 INC DPTR
\ 0001A2 E0 MOVX A,@DPTR
\ 0001A3 F9 MOV R1,A
\ 0001A4 E9 MOV A,R1
\ 0001A5 C0E0 PUSH A
\ 0001A7 90.... MOV DPTR,#(phy_pib + 14)
\ 0001AA E0 MOVX A,@DPTR
\ 0001AB F8 MOV R0,A
\ 0001AC A3 INC DPTR
\ 0001AD E0 MOVX A,@DPTR
\ 0001AE F583 MOV DPH,A
\ 0001B0 8882 MOV DPL,R0
\ 0001B2 D0E0 POP A
\ 0001B4 F0 MOVX @DPTR,A
239 phy_pib.currentTxFlen=phy_pib.currentTxFlen+2;
\ 0001B5 90.... MOV DPTR,#(phy_pib + 16)
\ 0001B8 E0 MOVX A,@DPTR
\ 0001B9 2402 ADD A,#0x2
\ 0001BB F0 MOVX @DPTR,A
\ 0001BC 804C SJMP ??MACPutHeader_3
240 break;
241 case LRWPAN_ADDRMODE_LADDR:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -