📄 mac_support.lst
字号:
403 }
404
405 // Destination address
406 if ((addrModes & DEST_ADDR_BM) == DEST_ADDR_SHORT) {
\ 0000F7 EA MOV A,R2
\ 0000F8 2403 ADD A,#0x3
\ 0000FA 0A INC R2
\ 0000FB 0A INC R2
\ 0000FC 0A INC R2
\ 0000FD EB MOV A,R3
\ 0000FE 3400 ADDC A,#0x0
\ 000100 FB MOV R3,A
\ 000101 7408 MOV A,#0x8
\ 000103 6C XRL A,R4
\ 000104 706F JNZ ??msupPrepareHeader_9
407 pPacket->pHeader[length++] = LOBYTE(pDestAddr->Short);
\ 000106 7414 MOV A,#0x14
\ 000108 12.... LCALL ?XSTACK_DISP0_8
\ 00010B E0 MOVX A,@DPTR
\ 00010C F8 MOV R0,A
\ 00010D A3 INC DPTR
\ 00010E E0 MOVX A,@DPTR
\ 00010F F583 MOV DPH,A
\ 000111 8882 MOV DPL,R0
\ 000113 E0 MOVX A,@DPTR
\ 000114 8A82 MOV DPL,R2
\ 000116 8B83 MOV DPH,R3
\ 000118 F0 MOVX @DPTR,A
408 pPacket->pHeader[length++] = HIBYTE(pDestAddr->Short);
\ 000119 7414 MOV A,#0x14
\ 00011B 12.... LCALL ?XSTACK_DISP0_8
\ 00011E E0 MOVX A,@DPTR
\ 00011F F8 MOV R0,A
\ 000120 A3 INC DPTR
\ 000121 E0 MOVX A,@DPTR
\ 000122 F583 MOV DPH,A
\ 000124 8882 MOV DPL,R0
\ 000126 A3 INC DPTR
\ 000127 E0 MOVX A,@DPTR
\ 000128 85..82 MOV DPL,?V0 + 2
\ 00012B 85..83 MOV DPH,?V0 + 3
\ 00012E A3 INC DPTR
\ 00012F A3 INC DPTR
\ 000130 A3 INC DPTR
\ 000131 A3 INC DPTR
\ 000132 A3 INC DPTR
\ 000133 A3 INC DPTR
\ 000134 A3 INC DPTR
\ 000135 A3 INC DPTR
\ 000136 A3 INC DPTR
\ 000137 F0 MOVX @DPTR,A
\ 000138 75..07 MOV ?V0 + 0,#0x7
409 pPacket->toCoord &= (mpib.macCoordShortAddress == pDestAddr->Short);
\ 00013B 90.... MOV DPTR,#(mpib + 22)
\ 00013E E0 MOVX A,@DPTR
\ 00013F FA MOV R2,A
\ 000140 A3 INC DPTR
\ 000141 E0 MOVX A,@DPTR
\ 000142 FB MOV R3,A
\ 000143 7414 MOV A,#0x14
\ 000145 12.... LCALL ?XSTACK_DISP0_8
\ 000148 E0 MOVX A,@DPTR
\ 000149 F8 MOV R0,A
\ 00014A A3 INC DPTR
\ 00014B E0 MOVX A,@DPTR
\ 00014C F583 MOV DPH,A
\ 00014E 8882 MOV DPL,R0
\ 000150 E0 MOVX A,@DPTR
\ 000151 6A XRL A,R2
\ 000152 7003 JNZ ??msupPrepareHeader_10
\ 000154 A3 INC DPTR
\ 000155 E0 MOVX A,@DPTR
\ 000156 6B XRL A,R3
\ ??msupPrepareHeader_10:
\ 000157 7013 JNZ ??msupPrepareHeader_11
\ 000159 D2F0 SETB B.0
\ 00015B 8011 SJMP ??msupPrepareHeader_12
\ ??msupPrepareHeader_5:
\ 00015D E5.. MOV A,?V0 + 2
\ 00015F 2484 ADD A,#-0x7c
\ 000161 F582 MOV DPL,A
\ 000163 E5.. MOV A,?V0 + 3
\ 000165 3400 ADDC A,#0x0
\ 000167 F583 MOV DPH,A
\ 000169 E4 CLR A
\ 00016A 8054 SJMP ??msupPrepareHeader_13
\ ??msupPrepareHeader_11:
\ 00016C C2F0 CLR B.0
\ ??msupPrepareHeader_12:
\ 00016E A2F0 MOV C,B.0
\ 000170 E4 CLR A
\ 000171 92E0 MOV 0xE0 /* A */.0,C
\ 000173 803C SJMP ??msupPrepareHeader_14
410 } else if ((addrModes & DEST_ADDR_BM) == DEST_ADDR_EXT) {
\ ??msupPrepareHeader_9:
\ 000175 740C MOV A,#0xc
\ 000177 6C XRL A,R4
\ 000178 7047 JNZ ??msupPrepareHeader_15
411 memcpy(pPacket->pHeader + length, pDestAddr->pExtended, 8);
\ 00017A ; Setup parameters for call to function memcpy
\ 00017A 75..08 MOV ?V0 + 4,#0x8
\ 00017D 75..00 MOV ?V0 + 5,#0x0
\ 000180 78.. MOV R0,#?V0 + 4
\ 000182 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 000185 7416 MOV A,#0x16
\ 000187 12.... LCALL ?XSTACK_DISP0_8
\ 00018A E0 MOVX A,@DPTR
\ 00018B FC MOV R4,A
\ 00018C A3 INC DPTR
\ 00018D E0 MOVX A,@DPTR
\ 00018E FD MOV R5,A
\ 00018F 90.... MOV DPTR,#(memcpy & 0xffff)
\ 000192 74.. MOV A,#((memcpy >> 16) & 0xff)
\ 000194 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000197 7402 MOV A,#0x2
\ 000199 12.... LCALL ?DEALLOC_XSTACK8
412 length += 8;
\ 00019C 75..0D MOV ?V0 + 0,#0xd
413 pPacket->toCoord &= msupCompareExtendedAddress((ADDRESS *) mpib.pMacCoordExtendedAddress, pDestAddr);
\ 00019F ; Setup parameters for call to function msupCompareExtendedAddress
\ 00019F 7414 MOV A,#0x14
\ 0001A1 12.... LCALL ?XSTACK_DISP0_8
\ 0001A4 E0 MOVX A,@DPTR
\ 0001A5 FC MOV R4,A
\ 0001A6 A3 INC DPTR
\ 0001A7 E0 MOVX A,@DPTR
\ 0001A8 FD MOV R5,A
\ 0001A9 7A.. MOV R2,#((mpib + 14) & 0xff)
\ 0001AB 7B.. MOV R3,#(((mpib + 14) >> 8) & 0xff)
\ 0001AD 12.... LCALL msupCompareExtendedAddress
\ 0001B0 E9 MOV A,R1
\ ??msupPrepareHeader_14:
\ 0001B1 FA MOV R2,A
\ 0001B2 E5.. MOV A,?V0 + 2
\ 0001B4 2484 ADD A,#-0x7c
\ 0001B6 F582 MOV DPL,A
\ 0001B8 E5.. MOV A,?V0 + 3
\ 0001BA 3400 ADDC A,#0x0
\ 0001BC F583 MOV DPH,A
\ 0001BE E0 MOVX A,@DPTR
\ 0001BF 5A ANL A,R2
\ ??msupPrepareHeader_13:
\ 0001C0 F0 MOVX @DPTR,A
414 }
415
416 // Source PAN ID
417 if (!(temp & INTRA_PAN_BM) && (addrModes & SRC_ADDR_BM)) {
\ ??msupPrepareHeader_15:
\ 0001C1 74C0 MOV A,#-0x40
\ 0001C3 55.. ANL A,?V0 + 6
\ 0001C5 FC MOV R4,A
\ 0001C6 E5.. MOV A,?V0 + 1
\ 0001C8 A2E6 MOV C,0xE0 /* A */.6
\ 0001CA 402F JC ??msupPrepareHeader_16
\ 0001CC EC MOV A,R4
\ 0001CD 602C JZ ??msupPrepareHeader_16
418 pPacket->pHeader[length++] = LOBYTE(srcPanId);
\ 0001CF 85.... MOV ?V0 + 4,?V0 + 0
\ 0001D2 E5.. MOV A,?V0 + 2
\ 0001D4 25.. ADD A,?V0 + 4
\ 0001D6 F582 MOV DPL,A
\ 0001D8 E5.. MOV A,?V0 + 3
\ 0001DA 3400 ADDC A,#0x0
\ 0001DC F583 MOV DPH,A
\ 0001DE A3 INC DPTR
\ 0001DF A3 INC DPTR
\ 0001E0 A3 INC DPTR
\ 0001E1 EE MOV A,R6
\ 0001E2 F0 MOVX @DPTR,A
\ 0001E3 05.. INC ?V0 + 0
419 pPacket->pHeader[length++] = HIBYTE(srcPanId);
\ 0001E5 85.... MOV ?V0 + 4,?V0 + 0
\ 0001E8 E5.. MOV A,?V0 + 2
\ 0001EA 25.. ADD A,?V0 + 4
\ 0001EC F582 MOV DPL,A
\ 0001EE E5.. MOV A,?V0 + 3
\ 0001F0 3400 ADDC A,#0x0
\ 0001F2 F583 MOV DPH,A
\ 0001F4 A3 INC DPTR
\ 0001F5 A3 INC DPTR
\ 0001F6 A3 INC DPTR
\ 0001F7 EF MOV A,R7
\ 0001F8 F0 MOVX @DPTR,A
\ 0001F9 05.. INC ?V0 + 0
420 }
421
422 // Source address
423 if ((addrModes & SRC_ADDR_BM) == SRC_ADDR_SHORT) {
\ ??msupPrepareHeader_16:
\ 0001FB 85.... MOV ?V0 + 4,?V0 + 0
\ 0001FE 75..00 MOV ?V0 + 5,#0x0
\ 000201 E5.. MOV A,?V0 + 2
\ 000203 25.. ADD A,?V0 + 4
\ 000205 F8 MOV R0,A
\ 000206 E5.. MOV A,?V0 + 3
\ 000208 3400 ADDC A,#0x0
\ 00020A F9 MOV R1,A
\ 00020B 7403 MOV A,#0x3
\ 00020D 28 ADD A,R0
\ 00020E FA MOV R2,A
\ 00020F E4 CLR A
\ 000210 39 ADDC A,R1
\ 000211 FB MOV R3,A
\ 000212 7480 MOV A,#-0x80
\ 000214 6C XRL A,R4
\ 000215 703F JNZ ??msupPrepareHeader_17
424 pPacket->pHeader[length++] = LOBYTE(pSrcAddr->Short);
\ 000217 7410 MOV A,#0x10
\ 000219 12.... LCALL ?XSTACK_DISP0_8
\ 00021C E0 MOVX A,@DPTR
\ 00021D F8 MOV R0,A
\ 00021E A3 INC DPTR
\ 00021F E0 MOVX A,@DPTR
\ 000220 F583 MOV DPH,A
\ 000222 8882 MOV DPL,R0
\ 000224 E0 MOVX A,@DPTR
\ 000225 8A82 MOV DPL,R2
\ 000227 8B83 MOV DPH,R3
\ 000229 F0 MOVX @DPTR,A
\ 00022A 05.. INC ?V0 + 0
425 pPacket->pHeader[length++] = HIBYTE(pSrcAddr->Short);
\ 00022C 7410 MOV A,#0x10
\ 00022E 12.... LCALL ?XSTACK_DISP0_8
\ 000231 E0 MOVX A,@DPTR
\ 000232 F8 MOV R0,A
\ 000233 A3 INC DPTR
\ 000234 E0 MOVX A,@DPTR
\ 000235 F583 MOV DPH,A
\ 000237 8882 MOV DPL,R0
\ 000239 A3 INC DPTR
\ 00023A E0 MOVX A,@DPTR
\ 00023B C0E0 PUSH A
\ 00023D 85.... MOV ?V0 + 4,?V0 + 0
\ 000240 E5.. MOV A,?V0 + 2
\ 000242 25.. ADD A,?V0 + 4
\ 000244 F582 MOV DPL,A
\ 000246 E5.. MOV A,?V0 + 3
\ 000248 3400 ADDC A,#0x0
\ 00024A F583 MOV DPH,A
\ 00024C A3 INC DPTR
\ 00024D A3 INC DPTR
\ 00024E A3 INC DPTR
\ 00024F D0E0 POP A
\ 000251 F0 MOVX @DPTR,A
\ 000252 05.. INC ?V0 + 0
\ 000254 802A SJMP ??msupPrepareHeader_18
426 } else if ((addrModes & SRC_ADDR_BM) == SRC_ADDR_EXT) {
\ ??msupPrepareHeader_17:
\ 000256 74C0 MOV A,#-0x40
\ 000258
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -