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

📄 osal.lst

📁 cc2430应用实例
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 16
   \   000005                ; Auto size: 0
    211            if ( len == 2 )
   \   000005   7402         MOV     A,#0x2
   \   000007   69           XRL     A,R1
   \   000008   701D         JNZ     ??osal_build_uint32_0
    212              return ( BUILD_UINT32( swapped[0], swapped[1], 0L, 0L ) );
   \   00000A   8A82         MOV     DPL,R2
   \   00000C   8B83         MOV     DPH,R3
   \   00000E   12....       LCALL   ?Subroutine15 & 0xFFFF
   \                     ??CrossCallReturnLabel_47:
   \   000011   78..         MOV     R0,#?V0 + 4
   \   000013   12....       LCALL   ?L_SHL
   \   000016   78..         MOV     R0,#?V0 + 0
   \   000018   79..         MOV     R1,#?V0 + 4
   \   00001A   12....       LCALL   ?L_ADD
   \   00001D   AA..         MOV     R2,?V0 + 0
   \   00001F   AB..         MOV     R3,?V0 + 1
   \   000021   AC..         MOV     R4,?V0 + 2
   \   000023   AD..         MOV     R5,?V0 + 3
   \   000025   8059         SJMP    ??osal_build_uint32_1
    213            else if ( len == 3 )
   \                     ??osal_build_uint32_0:
   \   000027   7403         MOV     A,#0x3
   \   000029   69           XRL     A,R1
   \   00002A   7016         JNZ     ??osal_build_uint32_2
    214              return ( BUILD_UINT32( swapped[0], swapped[1], swapped[2], 0L ) );
   \   00002C   8A82         MOV     DPL,R2
   \   00002E   8B83         MOV     DPH,R3
   \   000030   12....       LCALL   ?Subroutine1 & 0xFFFF
   \                     ??CrossCallReturnLabel_6:
   \   000033   12....       LCALL   ?L_SHL
   \   000036   78..         MOV     R0,#?V0 + 0
   \   000038   79..         MOV     R1,#?V0 + 4
   \   00003A   12....       LCALL   ?L_ADD
   \   00003D   12....       LCALL   ?Subroutine8 & 0xFFFF
   \                     ??CrossCallReturnLabel_26:
   \   000040   80CF         SJMP    ??CrossCallReturnLabel_47
    215            else if ( len == 4 )
   \                     ??osal_build_uint32_2:
   \   000042   7404         MOV     A,#0x4
   \   000044   69           XRL     A,R1
   \   000045   8A82         MOV     DPL,R2
   \   000047   8B83         MOV     DPH,R3
   \   000049   702D         JNZ     ??osal_build_uint32_3
    216              return ( BUILD_UINT32( swapped[0], swapped[1], swapped[2], swapped[3] ) );
   \   00004B   12....       LCALL   ?Subroutine1 & 0xFFFF
   \                     ??CrossCallReturnLabel_7:
   \   00004E   12....       LCALL   ?L_SHL
   \   000051   78..         MOV     R0,#?V0 + 0
   \   000053   79..         MOV     R1,#?V0 + 4
   \   000055   12....       LCALL   ?L_ADD
   \   000058   12....       LCALL   ?Subroutine8 & 0xFFFF
   \                     ??CrossCallReturnLabel_27:
   \   00005B   78..         MOV     R0,#?V0 + 4
   \   00005D   12....       LCALL   ?L_SHL
   \   000060   78..         MOV     R0,#?V0 + 0
   \   000062   79..         MOV     R1,#?V0 + 4
   \   000064   12....       LCALL   ?L_ADD
   \   000067   8A82         MOV     DPL,R2
   \   000069   8B83         MOV     DPH,R3
   \   00006B   A3           INC     DPTR
   \   00006C   A3           INC     DPTR
   \   00006D   A3           INC     DPTR
   \   00006E   E0           MOVX    A,@DPTR
   \   00006F   F5..         MOV     ?V0 + 4,A
   \   000071   75..00       MOV     ?V0 + 6,#0x0
   \   000074   7418         MOV     A,#0x18
   \   000076   8099         SJMP    ??CrossCallReturnLabel_47
    217            else
    218              return ( (uint32)swapped[0] );
   \                     ??osal_build_uint32_3:
   \   000078   E0           MOVX    A,@DPTR
   \   000079   FA           MOV     R2,A
   \   00007A   7B00         MOV     R3,#0x0
   \   00007C   7C00         MOV     R4,#0x0
   \   00007E   7D00         MOV     R5,#0x0
   \                     ??osal_build_uint32_1:
   \   000080                REQUIRE ?Subroutine24
   \   000080                ; // Fall through to label ?Subroutine24
    219          }

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine24:
   \   000000   7F08         MOV     R7,#0x8
   \   000002   02....       LJMP    ?BANKED_LEAVE_XDATA

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine8:
   \   000000   8A82         MOV     DPL,R2
   \   000002   8B83         MOV     DPH,R3
   \   000004   A3           INC     DPTR
   \   000005   A3           INC     DPTR
   \   000006   E0           MOVX    A,@DPTR
   \   000007   F5..         MOV     ?V0 + 4,A
   \   000009   75..00       MOV     ?V0 + 5,#0x0
   \   00000C   7410         MOV     A,#0x10
   \   00000E   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine1:
   \   000000   12....       LCALL   ?Subroutine15 & 0xFFFF
   \                     ??CrossCallReturnLabel_48:
   \   000003   78..         MOV     R0,#?V0 + 4
   \   000005   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine15:
   \   000000   E0           MOVX    A,@DPTR
   \   000001   F5..         MOV     ?V0 + 0,A
   \   000003   75..00       MOV     ?V0 + 1,#0x0
   \   000006   75..00       MOV     ?V0 + 2,#0x0
   \   000009   75..00       MOV     ?V0 + 3,#0x0
   \   00000C   A3           INC     DPTR
   \   00000D   E0           MOVX    A,@DPTR
   \   00000E   F5..         MOV     ?V0 + 4,A
   \   000010   75..00       MOV     ?V0 + 5,#0x0
   \   000013   75..00       MOV     ?V0 + 6,#0x0
   \   000016   75..00       MOV     ?V0 + 7,#0x0
   \   000019   7408         MOV     A,#0x8
   \   00001B   22           RET
    220          
    221          #if !defined ( ZBIT ) && !defined ( ZBIT2 )
    222          /*********************************************************************
    223           * @fn      _ltoa
    224           *
    225           * @brief
    226           *
    227           *   convert a long unsigned int to a string.
    228           *
    229           * @param  l - long to convert
    230           * @param  buf - buffer to convert to
    231           * @param  radix - 10 dec, 16 hex
    232           *
    233           * @return  pointer to buffer
    234           */

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    235          unsigned char * _ltoa(unsigned long l, unsigned char *buf, unsigned char radix)
   \                     _ltoa:
    236          {
   \   000000   74F0         MOV     A,#-0x10
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 16
   \   000005                ; Auto size: 36
   \   000005   74DC         MOV     A,#-0x24
   \   000007   12....       LCALL   ?ALLOC_XSTACK8
   \   00000A   7402         MOV     A,#0x2
   \   00000C   12....       LCALL   ?XSTACK_DISP0_8
   \   00000F   EA           MOV     A,R2
   \   000010   F0           MOVX    @DPTR,A
   \   000011   A3           INC     DPTR
   \   000012   EB           MOV     A,R3
   \   000013   F0           MOVX    @DPTR,A
   \   000014   A3           INC     DPTR
   \   000015   EC           MOV     A,R4
   \   000016   F0           MOVX    @DPTR,A
   \   000017   A3           INC     DPTR
   \   000018   ED           MOV     A,R5
   \   000019   F0           MOVX    @DPTR,A
    237          #if defined( __GNUC__ )
    238            return ( (char*)ltoa( l, buf, radix ) );
    239          #else
    240            unsigned char tmp1[10] = "", tmp2[10] = "", tmp3[10] = "";
   \   00001A   7406         MOV     A,#0x6
   \   00001C   12....       LCALL   ?XSTACK_DISP0_8
   \   00001F   AC82         MOV     R4,DPL
   \   000021   AD83         MOV     R5,DPH
   \   000023   7583..       MOV     DPH,#((`?<Constant "">` >> 8) & 0xff)
   \   000026   7582..       MOV     DPL,#(`?<Constant "">` & 0xff)
   \   000029   740A         MOV     A,#0xa
   \   00002B   12....       LCALL   ?MOVE_LONG8_XDATA_XDATA
   \   00002E   7583..       MOV     DPH,#((`?<Constant "">_1` >> 8) & 0xff)
   \   000031   7582..       MOV     DPL,#(`?<Constant "">_1` & 0xff)
   \   000034   740A         MOV     A,#0xa
   \   000036   12....       LCALL   ?MOVE_LONG8_XDATA_XDATA
   \   000039   7583..       MOV     DPH,#((`?<Constant "">_2` >> 8) & 0xff)
   \   00003C   7582..       MOV     DPL,#(`?<Constant "">_2` & 0xff)
   \   00003F   740A         MOV     A,#0xa
   \   000041   12....       LCALL   ?MOVE_LONG8_XDATA_XDATA
    241            unsigned short num1, num2, num3;
    242            unsigned char i;
    243          
    244            buf[0] = '\0';
   \   000044   7434         MOV     A,#0x34
   \   000046   12....       LCALL   ?XSTACK_DISP0_8
   \   000049   E0           MOVX    A,@DPTR
   \   00004A   F8           MOV     R0,A
   \   00004B   A3           INC     DPTR
   \   00004C   E0           MOVX    A,@DPTR
   \   00004D   F583         MOV     DPH,A
   \   00004F   8882         MOV     DPL,R0
   \   000051   E4           CLR     A
   \   000052   F0           MOVX    @DPTR,A
    245          
    246            if ( radix == 10 )
   \   000053   740A         MOV     A,#0xa
   \   000055   69           XRL     A,R1
   \   000056   6003         JZ      $+5
   \   000058   02....       LJMP    ??_ltoa_0 & 0xFFFF
    247            {
    248              num1 = l % 10000;
   \   00005B   7402         MOV     A,#0x2
   \   00005D   12....       LCALL   ?XSTACK_DISP0_8
   \   000060   78..         MOV     R0,#?V0 + 4
   \   000062   12....       LCALL   ?L_MOV_X
   \   000065   90....       MOV     DPTR,#__Constant_2710
   \   000068   78..         MOV     R0,#?V0 + 0
   \   00006A   12....       LCALL   ?L_MOV_X
   \   00006D   78..         MOV     R0,#?V0 + 4
   \   00006F   79..         MOV     R1,#?V0 + 0
   \   000071   12....       LCALL   ?UL_DIV_MOD
   \   000074   85..82       MOV     DPL,?XSP + 0
   \   000077   85..83       MOV     DPH,?XSP + 1
   \   00007A   E5..         MOV     A,?V0 + 0
   \   00007C   F0           MOVX    @DPTR,A
   \   00007D   A3           INC     DPTR
   \   00007E   E5..         MOV     A,?V0 + 1
   \   000080   F0           MOVX    @DPTR,A
    249              num2 = (l / 10000) % 10000;
   \   000081   7402         MOV     A,#0x2
   \   000083   12....       LCALL   ?XSTACK_DISP0_8
   \   000086   78..         MOV     R0,#?V0 + 4
   \   000088   12....       LCALL   ?L_MOV_X
   \   00008B   90....       MOV     DPTR,#__Constant_2710
   \   00008E   78..         MOV     R0,#?V0 + 0
   \   000090   12....       LCALL   ?L_MOV_X
   \   000093   78..         MOV     R0,#?V0 + 4
   \   000095   79..         MOV     R1,#?V0 + 0
   \   000097   12....       LCALL   ?UL_DIV_MOD
   \   00009A   90....       MOV     DPTR,#__Constant_2710
   \   00009D   78..         MOV     R0,#?V0 + 0
   \   00009F   12....       LCALL   ?L_MOV_X
   \   0000A2   78..         MOV     R0,#?V0 + 4
   \   0000A4   79..         MOV     R1,#?V0 + 0
   \   0000A6   12....       LCALL   ?UL_DIV_MOD
   \   0000A9   AE..         MOV     R6,?V0 + 0
   \   0000AB   AF..         MOV     R7,?V0 + 1
    250              num3 = (unsigned short)(l / 100000000);
   \   0000AD   7402         MOV     A,#0x2
   \   0000AF   12....       LCALL   ?XSTACK_DISP0_8
   \   0000B2   78..         MOV     R0,#?V0 + 4
   \   0000B4   12....       LCALL   ?L_MOV_X
   \   0000B7   90....       MOV     DPTR,#__Constant_5f5e100
   \   0000BA   78..         MOV     R0,#?V0 + 0
   \   0000BC   12....       LCALL   ?L_MOV_X
   \   0000BF   78..         MOV     R0,#?V0 + 4
   \   0000C1   79..         MOV     R1,#?V0 + 0
   \   0000C3   12....       LCALL   ?UL_DIV_MOD
   \   0000C6   85....       MOV     ?V0 + 6,?V0 + 4
   \   0000C9   85....       MOV     ?V0 + 7,?V0 + 5
    251          
    252              if (num3) _itoa(num3, tmp3, 10);
   \   0000CC   E5..         MOV     A,?V0 + 6
   \   0000CE   7002         JNZ     ??_ltoa_1

⌨️ 快捷键说明

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