📄 wait.lst
字号:
##############################################################################
# #
# IAR 8051 C/C++ Compiler V7.20H/W32 16/Jan/2007 15:34:01 #
# Copyright 2004-2006 IAR Systems. All rights reserved. #
# #
# Core = plain #
# Code model = banked #
# Data model = large #
# Calling convention = xdata reentrant #
# Constant location = data #
# Dptr setup = 1,16 #
# Source file = E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
# ne\lib\hal\CC2430\wait.c #
# Command line = -I "C:\Program Files\IAR Systems\Embedded #
# Workbench 4.05 Evaluation version\8051\INC\" -I #
# "C:\Program Files\IAR Systems\Embedded Workbench #
# 4.05 Evaluation version\8051\SRC\LIB\" -I #
# "C:\Program Files\IAR Systems\Embedded Workbench #
# 4.05 Evaluation version\8051\INC\CLIB\" -I #
# E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
# ne\Test\mac\mac_loc\..\..\..\include\ -I #
# E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
# ne\Test\mac\mac_loc\..\..\..\include\mac\cc2430\ #
# -I E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_E #
# ngine\Test\mac\mac_loc\..\..\..\include\hal\cc243 #
# 0\ -I E:\公司产品资料\Zigbee\cc2431\cc2431定位\LO #
# C_Engine\Test\mac\mac_loc\..\..\..\apps\ -D #
# USE_LED -D SOC_BB -lCN "E:\公司产品资料\Zigbee\cc #
# 2431\cc2431定位\LOC_Engine\Test\mac\mac_loc\SOC_B #
# B, hex\List\" -lA "E:\公司产品资料\Zigbee\cc2431\ #
# cc2431定位\LOC_Engine\Test\mac\mac_loc\SOC_BB, #
# hex\List\" -o "E:\公司产品资料\Zigbee\cc2431\cc24 #
# 31定位\LOC_Engine\Test\mac\mac_loc\SOC_BB, #
# hex\Obj\" -e -s9 --debug --core=plain #
# --dptr=16,1 --data_model=large #
# --code_model=banked --calling_convention=xdata_re #
# entrant --place_constants=data --nr_virtual_regs #
# 8 E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_En #
# gine\lib\hal\CC2430\wait.c #
# List file = E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
# ne\Test\mac\mac_loc\SOC_BB, hex\List\wait.lst #
# Object file = E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
# ne\Test\mac\mac_loc\SOC_BB, hex\Obj\wait.r51 #
# #
# #
##############################################################################
E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engine\lib\hal\CC2430\wait.c
1 /******************************************************************************
2 * *
3 * ********** *
4 * ************ *
5 * *** *** *
6 * *** ++ *** *
7 * *** + + *** CHIPCON *
8 * *** + *
9 * *** + + *** *
10 * *** ++ *** *
11 * *** *** *
12 * ************ *
13 * ********** *
14 * *
15 *******************************************************************************
16
17 Filename: wait.c
18 Target: cc2430
19 Author: EFU
20 Revised: 20/12-2005
21 Revision: 0.9
22 ******************************************************************************/
23 #include "hal.h"
\ In segment SFR_AN, at 0xc6
\ unsigned char volatile __sfr CLKCON
\ CLKCON:
\ 000000 DS 1
24
25
26 //-----------------------------------------------------------------------------
27 // See hal.h for a description of this function.
28 //-----------------------------------------------------------------------------
\ In segment BANKED_CODE, align 1, keep-with-next
29 void halWait(BYTE wait){
\ halWait:
\ 000000 74F0 MOV A,#-0x10
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 16
\ 000005 ; Auto size: 0
30 UINT32 largeWait;
31
32 if(wait == 0)
\ 000005 E9 MOV A,R1
\ 000006 6057 JZ ??halWait_0
33 {return;}
34 largeWait = ((UINT16) (wait << 7));
35 largeWait += 114*wait;
36
37
38 largeWait = (largeWait >> CLKSPD);
\ 000008 8982 MOV DPL,R1
\ 00000A AA82 MOV R2,DPL
\ 00000C 8A.. MOV ?V0 + 0,R2
\ 00000E 75..00 MOV ?V0 + 1,#0x0
\ 000011 7407 MOV A,#0x7
\ 000013 78.. MOV R0,#?V0 + 0
\ 000015 12.... LCALL ?S_SHL
\ 000018 F5.. MOV ?V0 + 2,A
\ 00001A F5.. MOV ?V0 + 3,A
\ 00001C EA MOV A,R2
\ 00001D 75F072 MOV B,#0x72
\ 000020 A4 MUL AB
\ 000021 FA MOV R2,A
\ 000022 ACF0 MOV R4,B
\ 000024 E4 CLR A
\ 000025 2C ADD A,R4
\ 000026 8A.. MOV ?V0 + 4,R2
\ 000028 F5.. MOV ?V0 + 5,A
\ 00002A 33 RLC A
\ 00002B 95E0 SUBB A,0xE0 /* A */
\ 00002D F5.. MOV ?V0 + 6,A
\ 00002F F5.. MOV ?V0 + 7,A
\ 000031 78.. MOV R0,#?V0 + 0
\ 000033 79.. MOV R1,#?V0 + 4
\ 000035 12.... LCALL ?L_ADD
\ 000038 7407 MOV A,#0x7
\ 00003A 55C6 ANL A,0xc6
\ 00003C 78.. MOV R0,#?V0 + 0
\ 00003E 12.... LCALL ?UL_SHR
39 while(largeWait--);
\ ??halWait_1:
\ 000041 85.... MOV ?V0 + 4,?V0 + 0
\ 000044 85.... MOV ?V0 + 5,?V0 + 1
\ 000047 85.... MOV ?V0 + 6,?V0 + 2
\ 00004A 85.... MOV ?V0 + 7,?V0 + 3
\ 00004D 90.... MOV DPTR,#__Constant_ffffffff
\ 000050 78.. MOV R0,#?V0 + 0
\ 000052 12.... LCALL ?L_ADD_X
\ 000055 90.... MOV DPTR,#__Constant_0
\ 000058 78.. MOV R0,#?V0 + 4
\ 00005A 12.... LCALL ?L_EQ_X
\ 00005D 70E2 JNZ ??halWait_1
\ ??halWait_0:
\ 00005F 7F08 MOV R7,#0x8
\ 000061 02.... LJMP ?BANKED_LEAVE_XDATA
40
41 return;
42 }
\ In segment XDATA_I, align 1, keep-with-next
\ __Constant_ffffffff:
\ 000000 DS 4
\ 000004 REQUIRE `?<Initializer for __Constant_ffffffff>`
\ 000004 REQUIRE __INIT_XDATA_I
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for __Constant_ffffffff>`:
\ 000000 FFFFFFFF DD 4294967295
\ In segment XDATA_I, align 1, keep-with-next
\ __Constant_0:
\ 000000 DS 4
\ 000004 REQUIRE `?<Initializer for __Constant_0>`
\ 000004 REQUIRE __INIT_XDATA_I
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for __Constant_0>`:
\ 000000 00000000 DD 0
Maximum stack usage in bytes:
Function ISTACK PSTACK XSTACK
-------- ------ ------ ------
halWait 0 0 16
Segment part sizes:
Function/Label Bytes
-------------- -----
CLKCON 1
halWait 100
__Constant_ffffffff 4
?<Initializer for __Constant_ffffffff>
4
__Constant_0 4
?<Initializer for __Constant_0>
4
100 bytes in segment BANKED_CODE
1 byte in segment SFR_AN
8 bytes in segment XDATA_I
8 bytes in segment XDATA_ID
100 bytes of CODE memory (+ 8 bytes shared)
0 bytes of DATA memory (+ 1 byte shared)
0 bytes of XDATA memory (+ 8 bytes shared)
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -