亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? chipcon_cstartup.s51

?? zigbee 2430 演示 就是個演示程序么 說這么多干嘛 暈
?? S51
字號:
/******************************************************************************
*                                                                             *
*        **********                                                           *
*       ************                                                          *
*      ***        ***                                                         *
*     ***    ++    ***                                                        *
*     ***   +  +   ***                      CHIPCON                           *
*     ***   +                                                                 *
*     ***   +  +   ***                                                        *
*     ***    ++    ***                                                        *
*      ***        ***                                                         *
*       ************                                                          *
*        **********                                                           *
*                                                                             *
*******************************************************************************

Filename:     chipcon_cstartup.s51
Target:       cc2430
Author:       KJA
Revised:      16/12-2005
Revision:     1.0

Description:
This module contains the code executed before the C/EC++ "main" function is
called. The code is designed to run on Chipcon CC2430/ CC2431.

Add $TOOLKIT_DIR$\SRC\LIB\ to
Options -> Assembler -> Additional include directives.

Copyright 2004-2005 IAR Systems. All rights reserved.
Updated by Chipcon to not clear ?CBANK at init.

******************************************************************************/


#include "iar_common.h"

	PROGRAM	CSTARTUP
	PUBLIC  __program_start

	EXTERN  ?B0
	EXTERNS_FOR_ALL_DPTR_SYMBOLS()
	REQUIRE ?B0
   REQUIRE __call_main

#if (__NUMBER_OF_DPTRS__ > 1)
	REQUIRE ?RESET_DPS
#endif

#if (__CORE__ == __CORE_EXTENDED1__)
   REQUIRE __call_init_extended1
#endif

   ; Uncomment this when rom-monitor requires 3 NOPS between statements.
   ; REQUIRE ?ROM_MONITOR_NOPS

   RSEG	REGISTERS:NOROOT:DATA
   PUBLIC  ?REGISTERS

?REGISTERS:

//------------------------------------------------------------------------
// The C stack segment. Should be mapped into internal data RAM
//
//   ISTACK:    Should be mapped into internal data RAM
//   PSTACK:    Should be mapped into external data RAM page
//   XSTACK:    Should be mapped into external data RAM
//   EXT_STACK: Should be mapped into external data RAM
//
//------------------------------------------------------------------------
// The C stack is used for LCALL's and temporary storage for
// code generator help-routines (math etc). The stack will be
// located after all other internal RAM variables if the stan-
// dard linking procedure is followed. Note that C interrupt
// routines can double stack size demands.
//
//------------------------------------------------------------------------

   RSEG	ISTACK:NOROOT:IDATA
   PUBLIC  ?ISTACK_START
?ISTACK_START:

   RSEG	PSTACK:NOROOT:XDATA
   PUBLIC  ?PSTACK_START
?PSTACK_START:

   RSEG	XSTACK:NOROOT:XDATA
   PUBLIC  ?XSTACK_START
?XSTACK_START:

   RSEG	EXT_STACK:NOROOT:XDATA
   PUBLIC  ?EXT_STACK_START
?EXT_STACK_START:


//------------------------------------------------------------------------
//
// Define reset vector.
//
//------------------------------------------------------------------------

   COMMON   INTVEC:CODE:ROOT(0)

// The reset vector must be located at address zero, the reset
// vector is located first in the INTVEC segment. This segment
// must thus be located at address zero. Be carefull if using
// assembler sequences located with the ASEG directive, which may
// prevent the INTVEC segment from being located at address zero.

   LIMIT SFB(INTVEC),0,0,"The INTVEC segment must begin at address zero"

?reset_vector:
   DB	0x02    ; LJMP
#if defined(START_INIT_IN_FAR)
   DB	BYTE3(__program_start)
#endif
   DB	high(__program_start)
   DB	low(__program_start)


//------------------------------------------------------------------------
//					
// Initialize the chip to suit IAR ICC8051 Compiler
//
//------------------------------------------------------------------------

   RSEG    CSTART:CODE:ROOT
   EXTERN  ?REGISTER_BANK
   REQUIRE ?ISTACK_START
   REQUIRE ?REGISTERS
   REQUIRE ?reset_vector

__program_start:
   MOV     PSW,#(?REGISTER_BANK << 3)

//------------------------------------------------------------------------
//
// Reset of bank registers and stack pointers
// ==========================================
//
// ?RESET_SP:  Resets the IDATA stack pointer
// ?RESET_ESP: Resets the extended stack pointer
// ?RESET_PSP: Resets the PDATA stack pointer
// ?RESET_XSP: Resets the XDATA stack pointer
//
// ?RESET_CODE_BANK:      Resets the current code bank register
// ?RESET_PDATA_BANK:     Resets the high byte of PDATA page register
//
// ?RESET_DPS: Resets the DPTR selector (point at DPTR0)
//
//------------------------------------------------------------------------

//------------------------------------------------------------------------
//
// Reset idata or extended stack pointer
//   extended stack pointer if  the extended stack is used
//   otherwise, the ordinary stack pointer
//
//------------------------------------------------------------------------

#if (defined(__EXTENDED_STACK__) )

//
// Reset extended stack pointer
//

   PUBLIC  ?RESET_ESP
   REQUIRE ?EXT_STACK_START
   EXTERN	?ESP

?RESET_ESP:
   MOV     SP,#low(sfb(EXT_STACK))
   MOV     ?ESP,#high(sfb(EXT_STACK))
#else

//
// Reset idata stack pointer
//

   PUBLIC  ?RESET_SP
   REQUIRE ?ISTACK_START

?RESET_SP:
   MOV     SP,#SFB(ISTACK)
#endif


//------------------------------------------------------------------------
//
// Reset pdata stack pointer
//
//------------------------------------------------------------------------

   RSEG	CSTART:CODE:NOROOT
   PUBLIC  ?RESET_PSP
   EXTERN  ?PSP
   REQUIRE ?PSTACK_START
   REQUIRE ?RESET_PDATA_BANK
   EXTERN  ?PSTACK

?RESET_PSP:
   MOV     ?PSP,#low(sfe(PSTACK))


//------------------------------------------------------------------------
//
// Reset xdata stack pointer
//
//------------------------------------------------------------------------

   RSEG	CSTART:CODE:NOROOT
   PUBLIC  ?RESET_XSP
   EXTERN  ?XSP
   REQUIRE ?XSTACK_START
   EXTERN  ?XSTACK

?RESET_XSP:
   MOV     ?XSP,#low(sfe(XSTACK))
   MOV     ?XSP+1,#high(sfe(XSTACK))


//------------------------------------------------------------------------
//
// Reset code bank
//
//------------------------------------------------------------------------

#if ( (__CODE_MODEL__ == __CM_BANKED__) || ( __CODE_MODEL__ == __CM_NEAR__ ) )
   RSEG	CSTART:CODE:NOROOT
   PUBLIC  ?RESET_CODE_BANK
   EXTERN  ?CBANK

?RESET_CODE_BANK:
   NOP
//	MOV	?CBANK,#0x00
#endif


//------------------------------------------------------------------------
//
// Reset pdata page
//
//------------------------------------------------------------------------

   RSEG	CSTART:CODE:NOROOT
   PUBLIC  ?RESET_PDATA_BANK
   EXTERN  ?PBANK
   EXTERN	?PBANK_NUMBER

?RESET_PDATA_BANK:
   MOV     ?PBANK,#?PBANK_NUMBER
#if (defined ( __EXTENDED_DPTR__))
   EXTERN  ?PBANK_EXT

?RESET_PDATA_BANK_EXT:
   MOV     ?PBANK_EXT,#0x00
#endif


//------------------------------------------------------------------------
//
// Reset data pointer select register
//
//------------------------------------------------------------------------

#if (__NUMBER_OF_DPTRS__ > 1)

   RSEG	CSTART:CODE:NOROOT
   PUBLIC  ?RESET_DPS
   EXTERN  ?DPS

?RESET_DPS:
   MOV	?DPS,#0x00

#endif



//------------------------------------------------------------------------
//
// Initialize the extended1 core
//
//------------------------------------------------------------------------

#if (__CORE__ == __CORE_EXTENDED1__)

   REQUIRE __call_init_extended1

   RSEG	CSTART:CODE:NOROOT
   PUBLIC  __call_init_extended1
   EXTERN	__init_extended1


__call_init_extended1:
   DB	0x12    ; LCALL
#if defined(START_INIT_IN_FAR)
   DB	BYTE3(__init_extended1)
#endif
   DB	high(__init_extended1)
   DB	low(__init_extended1)
#endif



//------------------------------------------------------------------------
//
// Jump to the code that performs the rest of the system initialization
// before calling main().
//
//------------------------------------------------------------------------


   RSEG    CSTART:CODE:NOROOT
   EXTERN  ?cmain

__call_main:
   LJMP	?cmain

   ENDMOD

;----------------------------------------------------------------;
; Virtual registers						 ;
; =================						 ;
; Below is some segment needed for the IAR ICC C/EC++ compiler   ;
;								 ;
; BREG  : A segment for 8 bit registers for use by the compiler. ;
;         ?B0 is the first register.                             ;
; VREG  : Segement that holds up to 32 virtual registers for     ;
;         use by the compiler. ?V0 is the first register.        ;
; PSP   : Segment containing the PDATA stack pointer (?PSP)      ;
; XSP   : Segment containing the XDATA stack pointer (?XSP)      ;
; 								 ;
;----------------------------------------------------------------;
; NOTE: The XLINK varialbe _NR_OF_VIRTUAL_REGISTERS must be 	 ;
;       defined to set the size for the VREG segment.   	 ;
;----------------------------------------------------------------;

   MODULE  VIRTUAL_REGISTERS
   PUBLIC  ?B0
   PUBLIC  ?V0
   PUBLIC  ?PSP
   PUBLIC  ?XSP
   RSEG    BREG:BIT:NOROOT

?B0:
   DS      8

   RSEG    VREG:DATA:NOROOT
   EXTERN	_NR_OF_VIRTUAL_REGISTERS
?V0:
   DS      0

   RSEG    PSP:DATA:NOROOT
   EXTERN  ?RESET_PSP
   REQUIRE	?RESET_PSP
?PSP:
   DS      1

   RSEG    XSP:DATA:NOROOT
   EXTERN  ?RESET_XSP
   REQUIRE	?RESET_XSP
?XSP:
   DS      2

   ENDMOD ; VIRTUAL_REGISTERS


;----------------------------------------------------------------;
; Register banks						 ;
; =================						 ;
; Below is some segment needed for the IAR ICC C/EC++ compiler   ;
;								 ;
; The register banks will only be included if the #pragma        ;
; register_bank is used for the corresponding register bank      ;
; 								 ;
;----------------------------------------------------------------;

   MODULE	REGISTER_BANK0
   PUBLIC	__REG_BANK_0
   ASEGN	__REG_BANK0:DATA,0x00

__REG_BANK_0:
   DS	8
   ENDMOD


   MODULE	REGISTER_BANK1
   PUBLIC	__REG_BANK_1
   ASEGN	__REG_BANK1:DATA,0x08
__REG_BANK_1:
   DS	8
   ENDMOD


   MODULE	REGISTER_BANK2
   PUBLIC	__REG_BANK_2
   ASEGN	__REG_BANK2:DATA,0x10
__REG_BANK_2:
   DS	8
   ENDMOD


   MODULE	REGISTER_BANK3
   PUBLIC	__REG_BANK_3
   ASEGN	__REG_BANK3:DATA,0x18
__REG_BANK_3:
   DS	8
   ENDMOD	; REGISTER_BANK3

   END

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色欧美日韩亚洲| 国产福利91精品| 欧美日韩你懂得| 日本中文字幕一区二区有限公司| 欧美在线影院一区二区| 婷婷国产v国产偷v亚洲高清| 91精品福利在线一区二区三区| 免费视频最近日韩| 精品嫩草影院久久| 成人妖精视频yjsp地址| 亚洲欧美日韩久久精品| 欧美日韩精品一区二区天天拍小说| 日韩国产成人精品| 久久久精品欧美丰满| 成人免费看视频| 亚洲激情自拍偷拍| 欧美一区国产二区| 福利91精品一区二区三区| 亚洲人成人一区二区在线观看 | 国产成人综合网| 国产精品久久久久9999吃药| 欧美日韩性生活| 国产在线不卡一卡二卡三卡四卡| 一区在线观看视频| 欧美日韩激情一区| 国产一区美女在线| 一区二区三区四区国产精品| 日韩视频免费观看高清完整版 | 日韩福利电影在线观看| 久久久久国产精品人| 色呦呦国产精品| 精品影视av免费| 夜夜揉揉日日人人青青一国产精品| 欧美一区二区三区在| 成人av资源下载| 久久9热精品视频| 亚洲一区二区三区免费视频| 久久婷婷国产综合精品青草| 欧美在线三级电影| 成人免费观看av| 美女久久久精品| 亚洲一区二区精品久久av| 国产日韩欧美综合一区| 91精品视频网| 欧美亚洲愉拍一区二区| 成人理论电影网| 久久国产人妖系列| 五月婷婷综合在线| 亚洲男人天堂一区| 国产农村妇女毛片精品久久麻豆| 欧美一二三四在线| 欧美午夜一区二区三区免费大片| 国产成人亚洲综合a∨婷婷图片| 日韩精品乱码av一区二区| 亚洲手机成人高清视频| 欧美激情资源网| 日韩一二三区不卡| 欧美午夜精品久久久久久孕妇| 成人午夜免费电影| 欧美性大战久久| 99视频在线观看一区三区| 国产乱对白刺激视频不卡| 美脚の诱脚舐め脚责91| 丝袜美腿亚洲色图| 亚洲一区二区av在线| 一区二区在线观看视频| 成人欧美一区二区三区黑人麻豆| 久久久久97国产精华液好用吗| 精品乱码亚洲一区二区不卡| 欧美夫妻性生活| 91精品国产91久久久久久一区二区| 欧美无乱码久久久免费午夜一区| 日本韩国一区二区三区| 一本在线高清不卡dvd| 97久久超碰国产精品电影| 99视频在线精品| 在线亚洲+欧美+日本专区| 在线视频亚洲一区| 在线观看91视频| 在线观看91av| 精品国产乱码久久久久久闺蜜| 欧美成人精品1314www| 欧美videos中文字幕| 久久―日本道色综合久久| 久久精品人人做| 亚洲国产精品99久久久久久久久 | 一区二区三区自拍| 亚洲精品日韩专区silk| 一区二区三区免费看视频| 亚洲一区二区黄色| 日韩黄色在线观看| 麻豆91精品91久久久的内涵| 久久99精品国产.久久久久| 国产精品乡下勾搭老头1| 成人精品视频一区二区三区| 一本到不卡精品视频在线观看 | 免费亚洲电影在线| 国产一区二区主播在线| 99久久精品免费看| 欧美日韩一区二区三区免费看| 欧美一区二区三区四区高清| 欧美精品一区二区三区久久久| 欧美高清在线视频| 亚洲一级二级在线| 久久99精品国产91久久来源| 成人免费av在线| 欧美系列在线观看| 久久久国产一区二区三区四区小说| 国产精品国产三级国产普通话99| 亚洲国产欧美在线| 国产精选一区二区三区| 色欧美日韩亚洲| 精品国产免费人成在线观看| 亚洲乱码日产精品bd| 奇米影视一区二区三区| 国产成人在线视频免费播放| 欧美在线啊v一区| 国产女主播一区| 亚洲国产成人av好男人在线观看| 国产乱子轮精品视频| 欧美性大战久久| 亚洲国产精品av| 免费欧美日韩国产三级电影| 97久久久精品综合88久久| 日韩免费高清视频| 亚洲午夜激情网站| 大白屁股一区二区视频| 日韩视频永久免费| 一区二区三区不卡视频| 粉嫩高潮美女一区二区三区 | 日韩午夜电影在线观看| 亚洲欧美综合色| 国产美女精品一区二区三区| 欧美日韩国产在线播放网站| 国产精品久线观看视频| 久久精品国产免费看久久精品| 欧美亚洲一区二区在线观看| 亚洲国产成人在线| 久久99国产乱子伦精品免费| 欧美久久一二三四区| 亚洲欧美国产高清| www.亚洲国产| 久久精品亚洲一区二区三区浴池| 手机精品视频在线观看| 色综合亚洲欧洲| 国产精品久久久久aaaa樱花| 国产黄色成人av| 久久色视频免费观看| 日本不卡一区二区| 欧美亚洲一区二区在线| 亚洲黄色免费网站| 色婷婷综合五月| 亚洲欧洲在线观看av| 成人高清免费观看| 中文字幕免费一区| 国产一区二区伦理| 久久久99久久精品欧美| 经典三级在线一区| 精品久久久网站| 国产中文字幕一区| 国产亚洲一二三区| 国产夫妻精品视频| 国产欧美精品一区二区色综合 | 精品视频一区二区三区免费| 一区二区三区欧美久久| 日本韩国一区二区| 一区二区三区四区激情| 欧美亚洲日本一区| 亚洲国产乱码最新视频| 欧美精品色综合| 美女网站在线免费欧美精品| 精品国产露脸精彩对白| 国产一区欧美二区| 国产精品蜜臀av| 色婷婷综合久色| 亚洲国产日韩在线一区模特 | 91国内精品野花午夜精品 | 中文字幕在线一区免费| 色综合久久综合| 偷拍日韩校园综合在线| 精品欧美一区二区在线观看| 国产精品一区二区男女羞羞无遮挡 | 成人午夜碰碰视频| 亚洲欧美日韩国产手机在线| 欧美午夜一区二区三区免费大片| 午夜视频一区二区| 精品久久久网站| 99久久免费视频.com| 亚洲国产另类精品专区| 欧美一区中文字幕| 国产成人亚洲综合色影视| 亚洲男同性恋视频| 欧美一区二区私人影院日本| 韩国在线一区二区| 亚洲欧洲日产国码二区| 538prom精品视频线放| 国产成人精品一区二| 亚洲制服丝袜av| 日韩久久精品一区| 97久久人人超碰|