📄 osal.lst
字号:
\ 000248 E9 MOV A,R1
\ 000249 12.... LCALL ?XSTACK_DISP0_8
\ 00024C AC82 MOV R4,DPL
\ 00024E AD83 MOV R5,DPH
\ 000250 EE MOV A,R6
\ 000251 FA MOV R2,A
\ 000252 EF MOV A,R7
\ 000253 FB MOV R3,A
\ 000254 90.... MOV DPTR,#(_itoa & 0xffff)
\ 000257 74.. MOV A,#((_itoa >> 16) & 0xff)
\ 000259 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ ??_ltoa_24:
\ 00025C 85..82 MOV DPL,?XSP + 0
\ 00025F 85..83 MOV DPH,?XSP + 1
\ 000262 E0 MOVX A,@DPTR
\ 000263 7002 JNZ ??_ltoa_25
\ 000265 A3 INC DPTR
\ 000266 E0 MOVX A,@DPTR
\ ??_ltoa_25:
\ 000267 600D JZ ??_ltoa_26
\ 000269 ; Setup parameters for call to function _itoa
\ 000269 7910 MOV R1,#0x10
\ 00026B 7406 MOV A,#0x6
\ 00026D 12.... LCALL ?XSTACK_DISP0_8
\ 000270 12.... LCALL ?Subroutine6 & 0xFFFF
\ ??CrossCallReturnLabel_23:
\ 000273 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ ??_ltoa_26:
\ 000276 EE MOV A,R6
\ 000277 7001 JNZ ??_ltoa_27
\ 000279 EF MOV A,R7
\ ??_ltoa_27:
\ 00027A 6043 JZ ??_ltoa_28
\ 00027C ; Setup parameters for call to function strcpy
\ 00027C 7410 MOV A,#0x10
\ 00027E 12.... LCALL ?XSTACK_DISP0_8
\ 000281 AC82 MOV R4,DPL
\ 000283 AD83 MOV R5,DPH
\ 000285 7434 MOV A,#0x34
\ 000287 12.... LCALL ?XSTACK_DISP0_8
\ 00028A 12.... LCALL ?Subroutine2 & 0xFFFF
\ ??CrossCallReturnLabel_10:
\ 00028D 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 000290 75..00 MOV ?V0 + 0,#0x0
\ 000293 8011 SJMP ??_ltoa_29
\ ??_ltoa_30:
\ 000295 ; Setup parameters for call to function strcat
\ 000295 7C.. MOV R4,#(`?<Constant "0">` & 0xff)
\ 000297 7D.. MOV R5,#((`?<Constant "0">` >> 8) & 0xff)
\ 000299 7434 MOV A,#0x34
\ 00029B 12.... LCALL ?XSTACK_DISP0_8
\ 00029E 12.... LCALL ?Subroutine0 & 0xFFFF
\ ??CrossCallReturnLabel_4:
\ 0002A1 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 0002A4 05.. INC ?V0 + 0
\ ??_ltoa_29:
\ 0002A6 85.... MOV ?V0 + 2,?V0 + 0
\ 0002A9 ; Setup parameters for call to function strlen
\ 0002A9 7406 MOV A,#0x6
\ 0002AB 12.... LCALL ?XSTACK_DISP0_8
\ 0002AE AA82 MOV R2,DPL
\ 0002B0 AB83 MOV R3,DPH
\ 0002B2 90.... MOV DPTR,#(strlen & 0xffff)
\ 0002B5 74.. MOV A,#((strlen >> 16) & 0xff)
\ 0002B7 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 0002BA 12.... LCALL ?Subroutine9 & 0xFFFF
\ ??CrossCallReturnLabel_30:
\ 0002BD 40D6 JC ??_ltoa_30
\ ??_ltoa_28:
\ 0002BF ; Setup parameters for call to function strcat
\ 0002BF 7406 MOV A,#0x6
\ 0002C1 12.... LCALL ?XSTACK_DISP0_8
\ 0002C4 AC82 MOV R4,DPL
\ 0002C6 AD83 MOV R5,DPH
\ 0002C8 7434 MOV A,#0x34
\ 0002CA 12.... LCALL ?XSTACK_DISP0_8
\ 0002CD 12.... LCALL ?Subroutine0 & 0xFFFF
\ ??CrossCallReturnLabel_5:
\ 0002D0 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 0002D3 02.... LJMP ??_ltoa_19 & 0xFFFF
\ ??_ltoa_22:
\ 0002D6 7A00 MOV R2,#0x0
\ 0002D8 7B00 MOV R3,#0x0
\ 0002DA 02.... LJMP ??CrossCallReturnLabel_49 & 0xFFFF
294 #endif
295 }
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine9:
\ 000000 8A.. MOV ?V0 + 4,R2
\ 000002 8B.. MOV ?V0 + 5,R3
\ 000004 7404 MOV A,#0x4
\ 000006 C3 CLR C
\ 000007 95.. SUBB A,?V0 + 4
\ 000009 F8 MOV R0,A
\ 00000A E4 CLR A
\ 00000B 95.. SUBB A,?V0 + 5
\ 00000D F9 MOV R1,A
\ 00000E C3 CLR C
\ 00000F E5.. MOV A,?V0 + 2
\ 000011 98 SUBB A,R0
\ 000012 E4 CLR A
\ 000013 99 SUBB A,R1
\ 000014 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine6:
\ 000000 AC82 MOV R4,DPL
\ 000002 AD83 MOV R5,DPH
\ 000004 85..82 MOV DPL,?XSP + 0
\ 000007 85..83 MOV DPH,?XSP + 1
\ 00000A 12.... LCALL ?Subroutine16 & 0xFFFF
\ ??CrossCallReturnLabel_54:
\ 00000D 90.... MOV DPTR,#(_itoa & 0xffff)
\ 000010 74.. MOV A,#((_itoa >> 16) & 0xff)
\ 000012 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine2:
\ 000000 12.... LCALL ?Subroutine16 & 0xFFFF
\ ??CrossCallReturnLabel_53:
\ 000003 90.... MOV DPTR,#(strcpy & 0xffff)
\ 000006 74.. MOV A,#((strcpy >> 16) & 0xff)
\ 000008 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine0:
\ 000000 12.... LCALL ?Subroutine16 & 0xFFFF
\ ??CrossCallReturnLabel_52:
\ 000003 90.... MOV DPTR,#(strcat & 0xffff)
\ 000006 74.. MOV A,#((strcat >> 16) & 0xff)
\ 000008 22 RET
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine16:
\ 000000 E0 MOVX A,@DPTR
\ 000001 FA MOV R2,A
\ 000002 A3 INC DPTR
\ 000003 E0 MOVX A,@DPTR
\ 000004 FB MOV R3,A
\ 000005 22 RET
296 #endif // !defined(ZBIT) && !defined(ZBIT2)
297
298 /*********************************************************************
299 * @fn osal_AddrEqual
300 *
301 * @brief Compares two address_t structures.
302 *
303 * @param a1 - first Address
304 * @param a2 - second endpoint
305 *
306 * @return true - addresses are equal, false - not equal
307 */
\ In segment BANKED_CODE, align 1, keep-with-next
308 byte osal_AddrEqual( zAddrType_t *a1, zAddrType_t *a2 )
\ osal_AddrEqual:
309 {
\ 000000 74F7 MOV A,#-0x9
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 9
\ 000005 ; Auto size: 0
310 if ( a1->addrMode != a2->addrMode )
\ 000005 8A82 MOV DPL,R2
\ 000007 8B83 MOV DPH,R3
\ 000009 A3 INC DPTR
\ 00000A A3 INC DPTR
\ 00000B A3 INC DPTR
\ 00000C A3 INC DPTR
\ 00000D A3 INC DPTR
\ 00000E A3 INC DPTR
\ 00000F A3 INC DPTR
\ 000010 A3 INC DPTR
\ 000011 E0 MOVX A,@DPTR
\ 000012 FE MOV R6,A
\ 000013 8C82 MOV DPL,R4
\ 000015 8D83 MOV DPH,R5
\ 000017 A3 INC DPTR
\ 000018 A3 INC DPTR
\ 000019 A3 INC DPTR
\ 00001A A3 INC DPTR
\ 00001B A3 INC DPTR
\ 00001C A3 INC DPTR
\ 00001D A3 INC DPTR
\ 00001E A3 INC DPTR
\ 00001F E0 MOVX A,@DPTR
\ 000020 6E XRL A,R6
\ 000021 6004 JZ ??osal_AddrEqual_0
311 return ( false );
\ ??osal_AddrEqual_1:
\ 000023 7900 MOV R1,#0x0
\ 000025 8042 SJMP ??osal_AddrEqual_2
312
313 else if (a1->addrMode == AddrNotPresent )
\ ??osal_AddrEqual_0:
\ 000027 8A82 MOV DPL,R2
\ 000029 8B83 MOV DPH,R3
\ 00002B A3 INC DPTR
\ 00002C A3 INC DPTR
\ 00002D A3 INC DPTR
\ 00002E A3 INC DPTR
\ 00002F A3 INC DPTR
\ 000030 A3 INC DPTR
\ 000031 A3 INC DPTR
\ 000032 A3 INC DPTR
\ 000033 E0 MOVX A,@DPTR
\ 000034 7004 JNZ ??osal_AddrEqual_3
314 return ( true );
\ ??osal_AddrEqual_4:
\ 000036 7901 MOV R1,#0x1
\ 000038 802F SJMP ??osal_AddrEqual_2
315
316 else if (a1->addrMode == Addr16Bit )
\ ??osal_AddrEqual_3:
\ 00003A 6402 XRL A,#0x2
\ 00003C 8A82 MOV DPL,R2
\ 00003E 8B83 MOV DPH,R3
\ 000040 7012 JNZ ??osal_AddrEqual_5
317 return ( a1->addr.shortAddr == a2->addr.shortAddr );
\ 000042 12.... LCALL ?Subroutine4 & 0xFFFF
\ ??CrossCallReturnLabel_13:
\ 000045 8C82 MOV DPL,R4
\ 000047 8D83 MOV DPH,R5
\ 000049 E0 MOVX A,@DPTR
\ 00004A 68 XRL A,R0
\ 00004B 7003 JNZ ??osal_AddrEqual_6
\ 00004D A3 INC DPTR
\ 00004E E0 MOVX A,@DPTR
\ 00004F 69 XRL A,R1
\ ??osal_AddrEqual_6:
\ 000050 70D1 JNZ ??osal_AddrEqual_1
\ 000052 80E2 SJMP ??osal_AddrEqual_4
318
319 else if ( a1->addrMode == Addr64Bit )
\ ??osal_AddrEqual_5:
\ 000054 A3 INC DPTR
\ 000055 A3 INC DPTR
\ 000056 A3 INC DPTR
\ 000057 A3 INC DPTR
\ 000058 A3 INC DPTR
\ 000059 A3 INC DPTR
\ 00005A A3 INC DPTR
\ 00005B A3 INC DPTR
\ 00005C E0 MOVX A,@DPTR
\ 00005D 6403 XRL A,#0x3
\ 00005F 70C2 JNZ ??osal_AddrEqual_1
320 return ( osal_ExtAddrEqual( a1->addr.extAddr, a2->addr.extAddr ) );
\ 000061 ; Setup parameters for call to function osal_ExtAddrEqual
\ 000061 90.... MOV DPTR,#(osal_ExtAddrEqual & 0xffff)
\ 000064 74.. MOV A,#((osal_ExtAddrEqual >> 16) & 0xff)
\ 000066 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ ??osal_AddrEqual_2:
\ 000069 02.... LJMP ?Subroutine23 & 0xFFFF
321
322 else
323 return (
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -