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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? start12.c

?? DG128測試程序SCI模塊,上面也附有LED燈閃的程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
#if defined(__HCS12X__) && defined(FAR_DATA)
#if defined(__OPTIMIZE_FOR_SIZE__)               /* -os, default */
Copy:        PSHA
             LDAA  1,X+
             GSTAA  1,Y+                    ; move a byte from ROM to the data area
             PULA
             __FEED_COP_IN_HLI()            ; feed the COP if necessary /*lint !e505 !e522 asm code */
             DBNE  D,Copy                   ; copy-byte loop
#else
             LSRD                           ; /2 and save bit 0 in the carry
             BEQ    Copy1                   ; do we copy more than 1 byte?

Copy:        PSHD
             LDD   2,X+
             GSTD  2,Y+                     ; move a word from ROM to the data area
             PULD
             __FEED_COP_IN_HLI()            ; feed the COP if necessary /*lint !e505 !e522 asm code */
             DBNE  D,Copy                   ; copy-word loop
Copy1:
             BCC   NextBlock                ; handle last byte?
             LDAA  1,X+
             GSTAA  1,Y+                    ; move a byte from ROM to the data area
#endif
#elif defined(__OPTIMIZE_FOR_SIZE__)               /* -os, default */
Copy:        MOVB  1,X+,1,Y+                ; move a byte from ROM to the data area
             __FEED_COP_IN_HLI()            ; feed the COP if necessary /*lint !e505 !e522 asm code */
             DBNE  D,Copy                   ; copy-byte loop
#else /* __OPTIMIZE_FOR_TIME__ */
             LSRD                           ; /2 and save bit 0 in the carry
             BEQ   Copy1                    ; do we copy more than 1 byte?
Copy:        MOVW  2,X+,2,Y+                ; move a word from ROM to the data area
             __FEED_COP_IN_HLI()            ; feed the COP if necessary /*lint !e505 !e522 asm code */
             DBNE  D,Copy                   ; copy-word loop
Copy1:
             BCC   NextBlock                ; handle last byte?
             MOVB  1,X+,1,Y+                ; copy the last byte
#endif /* __OPTIMIZE_FOR_SIZE__/__OPTIMIZE_FOR_TIME__ */
             BRA   NextBlock
funcInits:                                  ; call of global construtors is only in c++ necessary
#if defined(__cplusplus)
#if defined(__ELF_OBJECT_FILE_FORMAT__)
#if defined( __BANKED__) || defined(__LARGE__)
             LDY   _startupData.nofInitBodies; load number of cpp.
             BEQ   done                     ; if cppcount == 0, goto done
             LDX   _startupData.initBodies  ; load address of first module to initialize
nextInit:
             LEAX   3,X                     ; increment to next init
             PSHX                           ; save address of next function to initialize
             PSHY                           ; save cpp counter
             CALL  [-3,X]                   ; use double indirect call to load the page register also
             PULY                           ; restore cpp counter
             PULX                           ; restore actual address
             DEY                            ; decrement cpp counter
             BNE    nextInit
#else  /* defined( __BANKED__) || defined(__LARGE__) */

             LDD   _startupData.nofInitBodies; load number of cpp.
             BEQ   done                     ; if cppcount == 0, goto done
             LDX   _startupData.initBodies  ; load address of first module to initialize
nextInit:
             LDY   2,X+                     ; load address of first module to initialize
             PSHD
             PSHX                           ; save actual address
             JSR   0,Y                      ; call initialization function
             PULX                           ; restore actual address
             PULD                           ; restore cpp counter
             DBNE D, nextInit
#endif /* defined( __BANKED__) || defined(__LARGE__) */
#else /* __ELF_OBJECT_FILE_FORMAT__  */
             LDX   _startupData.mInits      ; load address of first module to initialize
#if defined( __BANKED__) || defined(__LARGE__)
nextInit:    LDY   3,X+                     ; load address of initialization function
             BEQ   done                     ; stop when address  == 0
                                            ; in common environments the offset of a function is never 0, so this test could be avoided
#ifdef __InitFunctionsMayHaveOffset0__
             BRCLR -1,X, done, 0xff         ; stop when address  == 0
#endif  /* __InitFunctionsMayHaveOffset0__ */
             PSHX                           ; save address of next function to initialize
             CALL  [-3,X]                   ; use double indirect call to load the page register also
#else  /* defined( __BANKED__) || defined(__LARGE__) */
nextInit:
             LDY   2,X+                     ; load address of first module to initialize
             BEQ   done                     ; stop when address of function == 0
             PSHX                           ; save actual address
             JSR   0,Y                      ; call initialization function
#endif /* defined( __BANKED__) || defined(__LARGE__) */
             PULX                           ; restore actual address
             BRA   nextInit
#endif  /* __ELF_OBJECT_FILE_FORMAT__  */
done:
#endif /* __cplusplus */
   }
}
#endif /* __ONLY_INIT_SP */

#if defined( __ELF_OBJECT_FILE_FORMAT__) && defined(__cplusplus ) && 0 /* the call to main does not support to return anymore */

#if !defined(FAR_DATA) && (defined( __BANKED__) || defined(__LARGE__))
static void __far Fini(void)
#else
static void Fini(void)
#endif
{
/* purpose:     1) call global destructors in C++ */
   __asm {
#if defined( __BANKED__) || defined(__LARGE__)

             LDY   _startupData.nofFiniBodies; load number of cpp.
             BEQ   done                     ; if cppcount == 0, goto done
             LDX   _startupData.finiBodies  ; load address of first module to finalize
nextInit2:
             LEAX   3,X                     ; increment to next init
             PSHX                           ; save address of next function to finalize
             PSHY                           ; save cpp counter
             CALL  [-3,X]                   ; use double indirect call to load the page register also
             PULY                           ; restore cpp counter
             PULX                           ; restore actual address
             DEY                            ; decrement cpp counter
             BNE    nextInit2
#else  /* defined( __BANKED__) || defined(__LARGE__) */

             LDD   _startupData.nofFiniBodies; load number of cpp.
             BEQ   done                     ; if cppcount == 0, goto done
             LDX   _startupData.finiBodies  ; load address of first module to finalize
nextInit2:
             LDY   2,X+                     ; load address of first module to finalize
             PSHD
             PSHX                           ; save actual address
             JSR   0,Y                      ; call finalize function
             PULX                           ; restore actual address
             PULD                           ; restore cpp counter
             DBNE D, nextInit2
#endif /* defined(__BANKED__) || defined(__LARGE__) */
done:;
   }
}
#endif


#include "non_bank.sgm"

#pragma MESSAGE DISABLE C12053 /* Stack-pointer change not in debugging-information */
#pragma NO_FRAME
#pragma NO_ENTRY
#if !defined(__SMALL__)
#pragma NO_EXIT
#endif

/* The function _Startup must be called in order to initialize global variables and to call main */
/* You can adapt this function or call it from your startup code to implement a different startup */
/* functionality. */

/* You should also setup the needed IO registers as WINDEF (HC12A4 only) or the COP registers to run */
/* on hardware */

/* to set the reset vector several ways are possible : */
/* 1. define the function with "interrupt 0" as done below in the first case */
/* 2. add the following line to your prm file : VECTOR ADDRESS 0xfffe _Startup */
/* of course, even more posibilities exists */
/* the reset vector must be set so that the application has a defined entry point */

#if defined(__SET_RESET_VECTOR__)
__EXTERN_C void __interrupt 0 _Startup(void) {
#else
__EXTERN_C void _Startup(void) {
#endif
/*  purpose:    1)  initialize the stack
                2)  initialize the RAM, copy down init data etc (Init)
                3)  call main;
    parameters: NONE
    called from: _PRESTART-code generated by the Linker
                 or directly referenced by the reset vector */

   /* initialize the stack pointer */
   INIT_SP_FROM_STARTUP_DESC(); /*lint !e522 asm code */ /* HLI macro definition in hidef.h */

#if defined(_HCS12_SERIALMON)
   /* for Monitor based software remap the RAM & EEPROM to adhere
      to EB386. Edit RAM and EEPROM sections in PRM file to match these. */
   ___INITRG = 0x00;  /* lock registers block to 0x0000 */
   ___INITRM = 0x39;  /* lock Ram to end at 0x3FFF */
   ___INITEE = 0x09;  /* lock EEPROM block to end at 0x0fff */
#endif

   /* Here user defined code could be inserted, the stack could be used */
#if defined(_DO_DISABLE_COP_)
   _DISABLE_COP();
#endif

   /* Example : Set up WinDef Register to allow Paging */
#ifdef HC812A4 /* HC12 A4 derivative needs WINDEF to configure which pages are available */
#if  (__ENABLE_EPAGE__ != 0 ||  __ENABLE_DPAGE__ != 0 || __ENABLE_PPAGE__ != 0)
   WINDEF= __ENABLE_EPAGE__ | __ENABLE_DPAGE__  | __ENABLE_PPAGE__;
#endif
#endif


#if defined(__DO_SET_MMCTL1__)
  /* Set the MMCTL1 byte. Please use for HCS12XE and change the bits according   */
  /* to your configuration.                                                      */
  /* Note: MMCTL1 is write once therefore please adapt this initialization here. */
  /* This has to be done prior to the call to Init.                              */
#define _MMCTL1_ADR (0x00000013)
#define _MMCTL1_BIT_TGMRAMON (1<<7)  /* EEE Tag RAM and FTM SCRATCH RAM visible in the memory map */
#define _MMCTL1_BIT_EEEIFRON (1<<5)  /* EEE IFR visible in the memory map                         */
#define _MMCTL1_BIT_PGMIFRON (1<<4)  /* Program IFR visible in the memory map                     */
#define _MMCTL1_BIT_RAMHM    (1<<3)  /* RAM only in the higher half of the memory map             */
#define _MMCTL1_BIT_EROMON   (1<<2)  /* Enables emulated Flash or ROM memory in the memory map    */
#define _MMCTL1_BIT_ROMHM    (1<<1)  /* FLASH or ROM only in higher Half of Memory Map            */
#define _MMCTL1_BIT_ROMON    (1<<0)  /* Enable FLASH or ROM in the memory map                     */

#define _MMCTL1_SET(value)   ((*(volatile unsigned char*)_MMCTL1_ADR)= (value))

   _MMCTL1_SET(_MMCTL1_BIT_ROMON | _MMCTL1_BIT_EROMON | _MMCTL1_BIT_RAMHM | _MMCTL1_BIT_ROMHM);
    
#endif

#ifndef __ONLY_INIT_SP
   Init(); /* zero out, copy down, call constructors */
#endif

   /* Here user defined code could be inserted, all global variables are initilized */
#if defined(_DO_ENABLE_COP_)
   _ENABLE_COP(1);
#endif


   /* call main() */
   main();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久看人人爽人人| 一区2区3区在线看| 国产一区二区不卡| 国产午夜久久久久| 成人亚洲一区二区一| 中文字幕精品在线不卡| www.欧美色图| 一区二区三区在线视频观看58| 欧美自拍偷拍午夜视频| 亚洲成年人影院| 日韩写真欧美这视频| 国产精品正在播放| 自拍偷拍亚洲综合| 欧美性猛交xxxx黑人交| 美脚の诱脚舐め脚责91 | 国产乱码精品1区2区3区| 国产亚洲一区字幕| 91同城在线观看| 午夜精品久久久| 精品久久久久99| 成人福利视频网站| 亚洲午夜电影在线观看| 欧美一级理论性理论a| 国产成人av一区二区| 亚洲精品欧美二区三区中文字幕| 欧美裸体bbwbbwbbw| 国产美女视频91| 日韩一区在线播放| 欧美大片日本大片免费观看| av亚洲精华国产精华| 蜜臀av在线播放一区二区三区| 久久久久88色偷偷免费| 一本到三区不卡视频| 麻豆精品久久久| 亚洲区小说区图片区qvod| 日韩三级视频在线观看| caoporm超碰国产精品| 人人精品人人爱| 中文字幕色av一区二区三区| 日韩网站在线看片你懂的| 亚洲欧美日韩国产成人精品影院| 国产一区在线精品| 精品国产91乱码一区二区三区| 天天色 色综合| 97久久超碰国产精品| 国产日韩欧美电影| 99久久精品国产网站| 久久久精品蜜桃| 久久精品国产99国产| 精品国产免费一区二区三区四区| 国产精品亲子乱子伦xxxx裸| 一级做a爱片久久| 99久久精品国产观看| 美女网站色91| 亚洲免费高清视频在线| 国产精品视频一区二区三区不卡| 91精品国产色综合久久不卡电影| 99综合电影在线视频| 九色|91porny| 日本亚洲视频在线| 亚洲综合激情另类小说区| 国产精品美女久久久久aⅴ | 日韩精品成人一区二区三区| 国产精品美女久久久久aⅴ| 日韩免费一区二区三区在线播放| 欧美最猛性xxxxx直播| k8久久久一区二区三区 | 欧美大片在线观看一区| 精品视频一区二区三区免费| 99精品久久99久久久久| av在线一区二区三区| 国产成人av电影在线播放| 久久99深爱久久99精品| 免费一区二区视频| 手机精品视频在线观看| 三级欧美韩日大片在线看| 午夜日韩在线电影| 亚洲v中文字幕| 亚洲成人午夜影院| 午夜精品福利视频网站| 爽好多水快深点欧美视频| 午夜精品一区二区三区电影天堂| 亚洲高清视频中文字幕| 亚洲国产日韩一级| 一卡二卡三卡日韩欧美| 亚洲国产精品久久人人爱蜜臀| 亚洲专区一二三| 亚洲线精品一区二区三区| 亚洲高清不卡在线观看| 亚洲不卡av一区二区三区| 日韩国产一二三区| 免费观看在线色综合| 国产一区二区三区高清播放| 国产成人av电影在线| 91农村精品一区二区在线| 欧美网站大全在线观看| 99r精品视频| 欧美日韩免费观看一区三区| 欧美日韩免费电影| 国产精品久久久一本精品| 精品欧美一区二区久久| 欧美成人女星排名| 国产日韩精品一区二区浪潮av| 欧美一级国产精品| 日韩精品一区国产麻豆| 日韩欧美一区二区视频| 蜜臀久久99精品久久久久久9| 69堂国产成人免费视频| 国产精品理伦片| 国产精品888| 92精品国产成人观看免费| 色综合天天做天天爱| 色狠狠桃花综合| 欧美日本视频在线| 欧美成人综合网站| 国产亚洲精品bt天堂精选| 亚洲国产精品精华液ab| 亚洲男人的天堂av| 午夜亚洲福利老司机| 首页亚洲欧美制服丝腿| 韩国在线一区二区| jlzzjlzz亚洲日本少妇| 欧美日本一区二区| 久久久国产精品午夜一区ai换脸| 中文字幕一区二区视频| 国产精品国产a| 亚洲欧洲色图综合| 五月天网站亚洲| 日韩高清不卡在线| 91视视频在线观看入口直接观看www | 久久99国产精品久久99 | 中文字幕一区二区在线播放| 亚洲一本大道在线| 国产乱子伦视频一区二区三区 | 欧美男生操女生| 久久日一线二线三线suv| 亚洲图片激情小说| 日韩va亚洲va欧美va久久| 国内成人免费视频| 91在线视频网址| 欧美肥妇bbw| 久久精品一区八戒影视| 亚洲五码中文字幕| 久久99国产精品久久99| 在线播放一区二区三区| 中文字幕欧美日韩一区| 全国精品久久少妇| 国产日本一区二区| 亚洲精品视频在线看| 欧美日韩在线不卡| 不卡av电影在线播放| 91九色02白丝porn| 国产精品久久久久9999吃药| 日韩精品一区第一页| 国产不卡在线视频| 精品国产1区二区| 日本不卡在线视频| 91精品一区二区三区在线观看| 久久亚洲免费视频| 美国欧美日韩国产在线播放| 亚洲午夜久久久久久久久电影院 | 亚洲乱码国产乱码精品精98午夜 | 97国产一区二区| 欧美xxxxxxxx| 无吗不卡中文字幕| 欧美性xxxxx极品少妇| 欧美国产禁国产网站cc| 精品亚洲国内自在自线福利| 欧美午夜视频网站| 亚洲一区视频在线| 国产中文一区二区三区| 91精品国产乱| 亚欧色一区w666天堂| 91久久精品网| 欧美精品一区二区久久久| 国产呦萝稀缺另类资源| 日韩欧美色电影| 日本不卡123| 欧美日韩色综合| 亚洲一二三级电影| 在线播放一区二区三区| 婷婷一区二区三区| 欧美三区在线观看| 一区二区在线免费| 91福利视频网站| 亚洲色图制服丝袜| 色综合天天性综合| 亚洲视频资源在线| 色8久久人人97超碰香蕉987| 国产精品不卡视频| 91网址在线看| 亚洲高清免费观看高清完整版在线观看 | 色婷婷精品久久二区二区蜜臂av | 国产亚洲制服色| 欧美日韩三级一区二区| 国产成人av在线影院| 欧美日韩国产高清一区| 91丝袜国产在线播放| 日本中文在线一区| 亚洲国产毛片aaaaa无费看|