📄 initrandomgenerator.s51
字号:
//////////////////////////////////////////////////////////////////////////////
// /
// IAR 8051 C/C++ Compiler V7.20H/W32 16/Jan/2007 15:33:13 /
// 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_Eng /
// ine\lib\hal\CC2430\initRandomGenerator.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_Eng /
// ine\Test\mac\mac_loc\..\..\..\include\ -I /
// E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Eng /
// ine\Test\mac\mac_loc\..\..\..\include\mac\cc2430 /
// \ -I E:\公司产品资料\Zigbee\cc2431\cc2431定位\LO /
// C_Engine\Test\mac\mac_loc\..\..\..\include\hal\c /
// c2430\ -I E:\公司产品资料\Zigbee\cc2431\cc2431定 /
// 位\LOC_Engine\Test\mac\mac_loc\..\..\..\apps\ /
// -D USE_LED -D SOC_BB -lCN /
// "E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_En /
// gine\Test\mac\mac_loc\SOC_BB, hex\List\" -lA /
// "E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_En /
// gine\Test\mac\mac_loc\SOC_BB, hex\List\" -o /
// "E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_En /
// gine\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_reentrant /
// --place_constants=data --nr_virtual_regs 8 /
// E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Eng /
// ine\lib\hal\CC2430\initRandomGenerator.c /
// List file = E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Eng /
// ine\Test\mac\mac_loc\SOC_BB, /
// hex\List\initRandomGenerator.s51 /
// /
// /
//////////////////////////////////////////////////////////////////////////////
NAME initRandomGenerator
RTMODEL "__calling_convention", "xdata_reentrant"
RTMODEL "__code_model", "banked"
RTMODEL "__core", "plain"
RTMODEL "__data_model", "large"
RTMODEL "__dptr_size", "16"
RTMODEL "__extended_stack", "disabled"
RTMODEL "__location_for_constants", "data"
RTMODEL "__number_of_dptrs", "1"
RTMODEL "__rt_version", "1"
RSEG DOVERLAY:DATA:NOROOT(0)
RSEG IOVERLAY:IDATA:NOROOT(0)
RSEG ISTACK:IDATA:NOROOT(0)
RSEG PSTACK:XDATA:NOROOT(0)
RSEG XSTACK:XDATA:NOROOT(0)
EXTERN ?BCALL
EXTERN ?BRET
PUBWEAK ADCCON1
PUBWEAK CLKCON
PUBWEAK RFST
PUBWEAK RNDH
PUBWEAK SLEEP
PUBLIC halInitRandomGenerator
FUNCTION halInitRandomGenerator,0a1203H
LOCFRAME ISTACK, 2, STACK
CFI Names cfiNames0
CFI StackFrame CFA_SP SP DATA
CFI StackFrame CFA_PSP16 PSP16 XDATA
CFI StackFrame CFA_XSP16 XSP16 XDATA
CFI StaticOverlayFrame CFA_IOVERLAY IOVERLAY
CFI StaticOverlayFrame CFA_DOVERLAY DOVERLAY
CFI Resource `PSW.CY`:1, `B.BR0`:1, `B.BR1`:1, `B.BR2`:1, `B.BR3`:1
CFI Resource `B.BR4`:1, `B.BR5`:1, `B.BR6`:1, `B.BR7`:1, `VB.BR8`:1
CFI Resource `VB.BR9`:1, `VB.BR10`:1, `VB.BR11`:1, `VB.BR12`:1
CFI Resource `VB.BR13`:1, `VB.BR14`:1, `VB.BR15`:1, VB:8, B:8, A:8
CFI Resource PSW:8, DPL0:8, DPH0:8, R0:8, R1:8, R2:8, R3:8, R4:8, R5:8
CFI Resource R6:8, R7:8, V0:8, V1:8, V2:8, V3:8, V4:8, V5:8, V6:8, V7:8
CFI Resource SP:8, PSPH:8, PSPL:8, PSP16:16, XSPH:8, XSPL:8, XSP16:16
CFI VirtualResource ?RET:24
CFI Resource ?BRET_EXT:8
CFI VirtualResource ?RET_HIGH:8, ?RET_LOW:8
CFI ResourceParts PSP16 PSPH, PSPL
CFI ResourceParts XSP16 XSPH, XSPL
CFI ResourceParts ?RET ?BRET_EXT, ?RET_HIGH, ?RET_LOW
CFI EndNames cfiNames0
CFI Common cfiCommon0 Using cfiNames0
CFI CodeAlign 1
CFI DataAlign -1
CFI ReturnAddress ?RET CODE
CFI CFA_DOVERLAY Used
CFI CFA_IOVERLAY Used
CFI CFA_SP SP+-3
CFI CFA_PSP16 PSP16+0
CFI CFA_XSP16 XSP16+0
CFI `PSW.CY` SameValue
CFI `B.BR0` SameValue
CFI `B.BR1` SameValue
CFI `B.BR2` SameValue
CFI `B.BR3` SameValue
CFI `B.BR4` SameValue
CFI `B.BR5` SameValue
CFI `B.BR6` SameValue
CFI `B.BR7` SameValue
CFI `VB.BR8` SameValue
CFI `VB.BR9` SameValue
CFI `VB.BR10` SameValue
CFI `VB.BR11` SameValue
CFI `VB.BR12` SameValue
CFI `VB.BR13` SameValue
CFI `VB.BR14` SameValue
CFI `VB.BR15` SameValue
CFI VB SameValue
CFI B Undefined
CFI A Undefined
CFI PSW SameValue
CFI DPL0 SameValue
CFI DPH0 SameValue
CFI R0 Undefined
CFI R1 Undefined
CFI R2 Undefined
CFI R3 Undefined
CFI R4 Undefined
CFI R5 Undefined
CFI R6 SameValue
CFI R7 SameValue
CFI V0 SameValue
CFI V1 SameValue
CFI V2 SameValue
CFI V3 SameValue
CFI V4 SameValue
CFI V5 SameValue
CFI V6 SameValue
CFI V7 SameValue
CFI PSPH Undefined
CFI PSPL Undefined
CFI XSPH Undefined
CFI XSPL Undefined
CFI ?RET Concat
CFI ?BRET_EXT Frame(CFA_SP, 3)
CFI ?RET_HIGH Frame(CFA_SP, 2)
CFI ?RET_LOW Frame(CFA_SP, 1)
CFI EndCommon cfiCommon0
EXTERN halWait
FUNCTION halWait,0202H
ARGFRAME ISTACK, 2, STACK
// E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engine\lib\hal\CC2430\initRandomGenerator.c
// 1 /******************************************************************************
// 2 * *
// 3 * ********** *
// 4 * ************ *
// 5 * *** *** *
// 6 * *** ++ *** *
// 7 * *** + + *** CHIPCON *
// 8 * *** + *
// 9 * *** + + *** *
// 10 * *** ++ *** *
// 11 * *** *** *
// 12 * ************ *
// 13 * ********** *
// 14 * *
// 15 *******************************************************************************
// 16
// 17 Filename: initRandomGenerator.c
// 18 Target: cc2430
// 19 Author: EFU
// 20 Revised: 20/12-2005
// 21 Revision: 0.9
// 22 ******************************************************************************/
// 23 #include"hal.h"
ASEGN SFR_AN:DATA:NOROOT,0b4H
// unsigned char volatile __sfr ADCCON1
ADCCON1:
DS 1
ASEGN SFR_AN:DATA:NOROOT,0bdH
// unsigned char volatile __sfr RNDH
RNDH:
DS 1
ASEGN SFR_AN:DATA:NOROOT,0beH
// unsigned char volatile __sfr SLEEP
SLEEP:
DS 1
ASEGN SFR_AN:DATA:NOROOT,0c6H
// unsigned char volatile __sfr CLKCON
CLKCON:
DS 1
ASEGN SFR_AN:DATA:NOROOT,0e1H
// unsigned char volatile __sfr RFST
RFST:
DS 1
// 24
// 25
// 26 #ifndef ADCTSTH
// 27 // if ADCTSTH not defined in ioCC2430.h, define it
// 28 #define ADCTSTH ((unsigned char volatile __xdata *) 0)[0xDF3A]
// 29 #endif
// 30 //-----------------------------------------------------------------------------
// 31 // See hal.h for a description of this function.
// 32 //-----------------------------------------------------------------------------
RSEG BANKED_CODE:CODE:NOROOT(0)
// 33 void halInitRandomGenerator(void)
halInitRandomGenerator:
CFI Block cfiBlock0 Using cfiCommon0
CFI Function halInitRandomGenerator
// 34 {
FUNCALL halInitRandomGenerator, halWait
LOCFRAME ISTACK, 2, STACK
ARGFRAME ISTACK, 2, STACK
PUSH DPL
CFI DPL0 Frame(CFA_SP, 4)
CFI CFA_SP SP+-4
PUSH DPH
CFI DPH0 Frame(CFA_SP, 5)
CFI CFA_SP SP+-5
; Saved register size: 2
; Auto size: 0
// 35 BYTE i;
// 36
// 37 //turning on power to analog part of radio
// 38 RFPWR = 0x04;
MOV A,#0x4
MOV DPTR,#-0x20e9
MOVX @DPTR,A
// 39
// 40 //waiting for voltage regulator.
// 41 while((RFPWR & 0x10)){}
??halInitRandomGenerator_0:
MOVX A,@DPTR
MOV C,0xE0 /* A */.4
JC ??halInitRandomGenerator_0
// 42
// 43 //Turning on 32 MHz crystal oscillator
// 44 SET_MAIN_CLOCK_SOURCE(CRYSTAL);
ANL 0xbe,#0xfb
??halInitRandomGenerator_1:
MOV A,0xbe
MOV C,0xE0 /* A */.6
JNC ??halInitRandomGenerator_1
NOP
ANL 0xc6,#0xb8
MOV A,0xc6
ORL 0xbe,#0x4
// 45
// 46 // Turning on receiver to get output from IF-ADC.
// 47 ISRXON;
MOV 0xe1,#-0x1e
// 48 halWait(1);
; Setup parameters for call to function halWait
MOV R1,#0x1
MOV DPTR,#(halWait & 0xffff)
MOV A,#((halWait >> 16) & 0xff)
LCALL ?BCALL ; Banked call to: DPTR()
// 49
// 50 ENABLE_RANDOM_GENERATOR();
ANL 0xb4,#0xf3
MOV A,0xb4
// 51
// 52 for(i = 0 ; i < 32 ; i++)
MOV R2,#0x20
// 53 {
// 54 RNDH = ADCTSTH;
??halInitRandomGenerator_2:
MOV DPTR,#-0x20c6
MOVX A,@DPTR
MOV 0xbd,A
// 55 CLOCK_RANDOM_GENERATOR();
ORL 0xb4,#0x4
// 56 }
DEC R2
MOV A,R2
JNZ ??halInitRandomGenerator_2
// 57
// 58 return;
POP DPH
CFI DPH0 SameValue
CFI CFA_SP SP+-4
POP DPL
CFI DPL0 SameValue
CFI CFA_SP SP+-3
LJMP ?BRET
CFI EndBlock cfiBlock0
// 59 }
END
// 60
//
// 73 bytes in segment BANKED_CODE
// 5 bytes in segment SFR_AN
//
// 73 bytes of CODE memory
// 0 bytes of DATA memory (+ 5 bytes shared)
//
//Errors: none
//Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -