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

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

?? start.asm

?? mb90340的擦寫FLASH區小小 程序
?? ASM
?? 第 1 頁 / 共 3 頁
字號:
; the C-libraray have to be used (printf(), fopen()...). This also 
; requires low-level functions to be defined by the application 
; software.
; For other library functions like (e.g. sprintf()) all this is not
; necessary. However, several functions consume a large amount of stack.

;====================================================================
; 4.7  Clock Selection
;====================================================================

#set      NOCLOCK        0         ; do not touch CKSCR register
#set      MAINCLOCK      1         ; select main clock (1/2 external)
#set      PLLx1          2         ; set PLL to x1 ext. clock/quartz
#set      PLLx2          3         ; set PLL to x2 ext. clock/quartz
#set      PLLx3          4         ; set PLL to x3 ext. clock/quartz
#set      PLLx4          5         ; set PLL to x4 ext. clock/quartz

#set      EXTENDED_PLL  ON        ; set ON for MB90340/350/480

; next factors are for specific MCU MB90340/350/480
#set      PLLx6          6         ; set PLL to x6 ext. clock/quartz
#set      PLLx8          7         ; set PLL to x8 ext. clock/quartz

#set      CLOCKSPEED    PLLx4      ; <<< set PLL ratio
#set      CLOCKWAIT      ON        ; <<< wait for stabilized PLL, if
                                   ;     PLL is used
; The clock is set quiet early. However, if CLOCKWAIT is ON, polling 
; for machine clock to be switched to PLL is done at the end of this
; file. Therefore, the stabilization time is not wasted. Main() will
; finally start at correct speed. Resources can immediately be used.
;
; This startup file version does not support subclock.
; Note, for controllers with extended PLL and sub-clock the sub-clock
; divider is set to 4.

#if CLOCKSPEED > PLLx4 && EXTENDED_PLL == OFF
#  error: clockspeed higher factor 4 requires spec. MCU and EXTENDED _PLL == ON
#endif

;====================================================================
; 4.8  External Bus Interface
;====================================================================

#set      SINGLE_CHIP    0         ; all internal
#set      INTROM_EXTBUS  1         ; mask ROM, FLASH, or OTP ROM used
#set      EXTROM_EXTBUS  2         ; full external bus (INROM not used) 

#set      BUSMODE SINGLE_CHIP      ; <<< set bus mode (see mode pins)

#set      ROMMIRROR      ON        ; <<< ROM mirror function ON/OFF
                                   ;     MB90500/400/300/800 family only

; In Internal ROM / External Bus mode one can select whether to mirror
; area FF4000..FFFFFF to 004000..00FFFF. This is necessary to get the 
; compiler ROMCONST option working. However, if ROMCONST is not used,
; this area might be used to access external memory. This is intended
; to increase performance, if a lot of dynamic data have to be accessed.
; In SMALL and MEDIUM model these data can be accessed within bank 0,
; which allows to use near addressing.
; These controller without the ROMM-control register always have the
; mirror function on in INROM mode.

; If BUSMODE is "SINGLE_CHIP", ignore remaining bus settings.

#set      AUTOWAIT_IO    0         ; <<< 0..3 waitstates for IO area
#set      AUTOWAIT_LO    0         ; <<< 0..3 for lower external area
#set      AUTOWAIT_HI    0         ; <<< 0..3 for higher external area

#set      ADDR_PINS B'00000000     ; <<< select used address lines 
                                   ;     A23..A16 to be output.
; This is the value to be set in HACR-register. "1" means: pin used as
; IO-port. (B'10000000 => A23 not used, B'00000001 => A16 not used)

#set      BUS_SIGNAL B'00000100    ; <<< enable bus control signals 
;                      |||||||+-- ignored
;                      ||||||+--- bus width lower memory (0:16, 1:8Bit)
;                      |||||+---- output WR signal(s)    (1: enabled  )
;                      ||||+----- bus width upper memory (0:16, 1:8Bit)
;                      |||+------ bus width ext IO area  (0:16, 1:8Bit)
;                      ||+------- enable HRQ input       (1: enabled  )
;                      |+-------- enable RDY input       (1: enabled  )
;                      +--------- output CLK signal      (1:enabled   )

; These settings correspond to the EPCR-register.
; Hint: Except for MB90500/400/300/800 devices the clock output is
; needed for external RDY synchronisation, if Ready function is used.
; Hint: Don't forget to enable WR signals, if external RAM has to be
; written to.

#set      iARSR     ((AUTOWAIT_IO<<6)|((AUTOWAIT_HI&3)<<4)|(AUTOWAIT_LO&3))

;====================================================================
; 4.9  Reset Vector
;====================================================================

#set      RESET_VECTOR   ON        ; <<< enable reset vector

#if BUSMODE == SINGLE_CHIP
#  set    MODEBYTE       0
#else
#  set    MODEBYTE       ( ((BUSMODE&3)<<6) | ((~BUS_SIGNAL)&8) )
#endif

; Above setting can also be used, if all other interrupt vectors are
; specified via "pragma intvect". Only if interrupts 0..7 are specified
; via "pragma intvect", this will conflict with the vector in this
; module. The reason is the INTVECT section, which includes the whole
; area from the lowest to the highest specified vector.

#if RESET_VECTOR == ON
          .SECTION        RESVECT, CONST, LOCATE=H'FFFFDC
          .DATA.E _start
          .DATA.B MODEBYTE
#endif

;====================================================================
; 4.10  Enable RAMCODE Copying
;====================================================================

#set      COPY_RAMCODE      OFF      ; <<< enable RAMCODE section to
                                    ; be copied from ROM to RAM

; to get this option properly working the code to be executed has to
; be linked to section RAMCODE (e.g. by #pragma section). The section
; RAMCODE has be located in RAM and the section @RAMCODE has to be
; located at a fixed address in ROM by linker settings.

; <<< END OF SETTINGS >>>

;====================================================================
; 5  Section and Data Declaration
;====================================================================

;====================================================================
; 5.1  Several fixed addresses (fixed for MB90xxx controllers)
;====================================================================

LPMCR     .EQU      0xA0           ; Low power mode control register
CKSCR     .EQU      0xA1           ; Clock select control register
PSCCR     .EQU      0xCF           ; 2nd clock register MB90340/350/480
#if BUSMODE != SINGLE_CHIP
ARSR      .EQU      0xA5           ; *1) Automatic ready function reg
HACR      .EQU      0xA6           ; *1) External address output reg
EPCR      .EQU      0xA7           ; *1) Bus control signal selection
#endif
#if FAMILY == MB90500 || FAMILY == MB90400 || FAMILY == MB90300 || FAMILY == MB90800
ROMM      .EQU      0x6F           ; *2) ROM mirror control register
#endif
WDTC      .EQU      0xA8           ; Watchdog control register
TBTC      .EQU      0xA9           ; Timerbase timer control register

; *1 only for devices with external bus
; *2 only for MB905xx (FFMC-16LX) devices

;====================================================================
; 5.2  Declaration of __near addressed data sections
;====================================================================

; sections to be cleared
          .SECTION  DATA,      DATA,   ALIGN=2  ; zero clear area
          .SECTION  DIRDATA,   DIR,    ALIGN=2  ; zero clear direct
          .SECTION  LIBDATA,   DATA,   ALIGN=2  ; zero clear lib area

; sections to be initialised with start-up values
          .SECTION  INIT,      DATA,   ALIGN=2  ; initialised area
          .SECTION  DIRINIT,   DIR,    ALIGN=2  ; initialised dir
          .SECTION  LIBINIT,   DATA,   ALIGN=2  ; initialised lib area
#if CONSTDATA == RAMCONST
          .SECTION  CINIT,     DATA,   ALIGN=2  ; initialised const
          .SECTION  CINIT2,    DATA,   ALIGN=2  ; initialised const
#endif

; sections containing start-up values for initialised sections above
          .SECTION  DCONST,    CONST,  ALIGN=2  ; DINIT initialisers
          .SECTION  DIRCONST, DIRCONST,ALIGN=2  ; DIRINIT initialisers
          .SECTION  LIBDCONST, CONST,  ALIGN=2  ; LIBDCONST init val

          ; following setion is either copied to CINIT (RAMCONST) or
          ; mapped by ROM-mirror function (ROMCONST)
          .SECTION  CONST,     CONST,  ALIGN=2  ; CINIT initialisers
          .SECTION  CONST2,    CONST,  ALIGN=2  ; CINIT initialisers

;====================================================================
; 5.3  Declaration of RAMCODE section and labels
;====================================================================

#if COPY_RAMCODE == ON
          .SECTION  RAMCODE,   CODE,  ALIGN=1  
          .IMPORT _RAM_RAMCODE                  ; provided by linker
          .IMPORT _ROM_RAMCODE                  ; provided by linker
#endif


;====================================================================
; 5.4  Declaration of sections containing other sections description
;====================================================================

; DCLEAR contains start address and size of all sections to be cleared
; DTRANS contains source and destination address and size of all 
; sections to be initialised with start-up values
; The compiler automatically adds a descriptor for each __far addressed
; data section to DCLEAR or DTRANS. These __far section are separated 
; for each C-module.

; In addition the start-up file adds the descriptors of the previously
; declared __near section here. This way the same code in the start-up
; file can be used for initialising all sections.

   .SECTION  DCLEAR,    CONST,  ALIGN=2  ; zero clear table
   ;    Address         Bank            Size
   .DATA.H DATA,    BNKSEC DATA,    SIZEOF(DATA   )
   .DATA.H DIRDATA, BNKSEC DIRDATA, SIZEOF(DIRDATA)
   .DATA.H LIBDATA, BNKSEC LIBDATA, SIZEOF(LIBDATA)

   .SECTION  DTRANS,    CONST,  ALIGN=2  ; copy table
   ;    Address         Bank          Address     Bank          Size
   .DATA.H DCONST,   BNKSEC DCONST,   INIT,   BNKSEC INIT,   SIZEOF INIT   
   .DATA.H DIRCONST, BNKSEC DIRCONST, DIRINIT,BNKSEC DIRINIT,SIZEOF DIRINIT
   .DATA.H LIBDCONST,BNKSEC LIBDCONST,LIBINIT,BNKSEC LIBINIT,SIZEOF LIBINIT

#if CONSTDATA == RAMCONST
   .DATA.H CONST,    BNKSEC CONST,    CINIT,  BNKSEC CINIT,  SIZEOF CINIT  
   .DATA.H CONST2,   BNKSEC CONST,    CINIT2, BNKSEC CINIT2, SIZEOF CINIT2
#endif

#if COPY_RAMCODE == ON
   .DATA.L _ROM_RAMCODE, _RAM_RAMCODE
   .DATA.H SIZEOF RAMCODE
#endif

;====================================================================
; 5.5  Stack area and stack top definition/declaration
;====================================================================

               .SECTION  SSTACK, STACK, ALIGN=2
#if STACK_RESERVE == ON
            .EXPORT __systemstack, __systemstack_top
__systemstack:
            .RES.B    STACK_SYS_SIZE
__systemstack_top:
SSTACK_TOP:

#endif

               .SECTION  USTACK, STACK, ALIGN=2
#if STACK_RESERVE == ON
            .EXPORT __userstack, __userstack_top
__userstack:
            .RES.B    STACK_USR_SIZE
__userstack_top:
USTACK_TOP:

#endif


;====================================================================
; 5.6  Direct page register dummy label definition
;====================================================================

          .SECTION  DIRDATA  ; zero clear direct
DIRDATA_S:                                      ; label for DPR init       

; This label is used to get the page of the __direct data.
; Depending on the linkage order  order this startup file the label is
; placed anywhere within the __direct data page. However, the
; statement "PAGE (DIRDATA_S)" is processed. Therefore, the lower 
; 8 Bit of the address of DIRDATA_S are not relevant and this feature 
; becomes linkage order independent. 
; Note, the linker settings have to make sure that the all __direct
; data are located within the same physical page (256 Byte block).

;====================================================================
; 6  Start-Up Code
;====================================================================

;====================================================================
; 6.1  Import external symbols
;====================================================================

          .IMPORT   _main                    ; user code entrance
#if CLIBINIT == ON
          .IMPORT   __stream_init
          .IMPORT   _exit
          .EXPORT   __exit
#endif          
          .EXPORT   _start

;====================================================================
;   ___  _____   __    ___  _____
;  /       |    /  \  |   \   |                  
;  \___    |   |    | |___/   |   
;      \   |   |----| |  \    |   

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产丝袜美腿一区二区三区| 色噜噜狠狠成人网p站| 亚洲综合在线免费观看| 日本一区二区久久| 久久久久久久电影| 国产亚洲人成网站| 亚洲婷婷综合久久一本伊一区| 欧美v亚洲v综合ⅴ国产v| 日韩视频一区二区三区在线播放| 欧美二区乱c少妇| 日韩欧美亚洲一区二区| 亚洲精品一区二区三区四区高清| 日韩精品一区二区三区四区视频| 久久伊人蜜桃av一区二区| 久久一夜天堂av一区二区三区| 久久综合狠狠综合久久激情| 久久综合狠狠综合久久激情| 国产精品久久夜| 一卡二卡欧美日韩| 麻豆精品在线看| 国产麻豆视频一区| 91在线观看一区二区| 色吊一区二区三区| 91精品久久久久久久99蜜桃| 精品电影一区二区| 国产精品国产三级国产普通话蜜臀| 亚洲日本一区二区| 日韩1区2区3区| 成人一区二区三区视频在线观看 | 精品国产自在久精品国产| 久久综合久久99| 亚洲三级视频在线观看| 三级欧美在线一区| 国产成人免费在线观看不卡| 91久久人澡人人添人人爽欧美| 911精品国产一区二区在线| 国产日韩欧美亚洲| 性感美女久久精品| av中文字幕不卡| 欧美中文字幕一区二区三区亚洲| 亚洲精品一区在线观看| 亚洲啪啪综合av一区二区三区| 免费精品视频在线| 色综合网站在线| 国产欧美一区二区精品久导航| 亚洲午夜免费视频| www.久久精品| 久久人人97超碰com| 亚洲国产精品久久艾草纯爱| 国产91精品精华液一区二区三区| 欧美人伦禁忌dvd放荡欲情| 欧美—级在线免费片| 久草热8精品视频在线观看| 日本高清不卡一区| 中文字幕在线不卡国产视频| 久久99精品视频| 制服丝袜日韩国产| 一区二区三区精品久久久| 成人毛片在线观看| 337p粉嫩大胆噜噜噜噜噜91av| 五月激情综合网| 欧美性感一区二区三区| 中文字幕亚洲电影| 成人精品国产福利| 国产精品美女久久久久aⅴ国产馆| 美女高潮久久久| 91精品国产高清一区二区三区蜜臀 | 亚洲精品大片www| 国产91精品久久久久久久网曝门| 欧美xxxx在线观看| 日本午夜精品视频在线观看| 色狠狠色狠狠综合| 亚洲综合丝袜美腿| 在线免费观看视频一区| 亚洲精品国产视频| 91黄色免费看| 亚洲午夜精品一区二区三区他趣| 色综合中文字幕国产 | 91网上在线视频| 中文字幕一区二区三区四区 | 国产高清在线观看免费不卡| 日韩免费福利电影在线观看| 麻豆久久久久久| 精品国产乱码久久久久久蜜臀| 久久99精品国产麻豆不卡| 欧美大白屁股肥臀xxxxxx| 国产一区亚洲一区| 欧美激情在线观看视频免费| 成人av电影在线观看| 亚洲精品乱码久久久久久黑人 | 色噜噜狠狠色综合中国| 亚洲小少妇裸体bbw| 欧美酷刑日本凌虐凌虐| 麻豆成人综合网| 国产精品污网站| 欧美亚洲一区三区| 国内成+人亚洲+欧美+综合在线| 国产三级精品在线| 色婷婷亚洲综合| 美女视频免费一区| 中文字幕日韩av资源站| 欧美日韩一二区| 国产老肥熟一区二区三区| 综合久久综合久久| 7777精品伊人久久久大香线蕉超级流畅| 麻豆91免费看| 亚洲人亚洲人成电影网站色| 欧美日韩一区二区欧美激情| 精品午夜久久福利影院| 国产精品嫩草影院av蜜臀| 欧美日韩国产综合草草| 国产乱子轮精品视频| 亚洲久本草在线中文字幕| 日韩三级高清在线| 91色.com| 国产在线精品一区二区夜色| 亚洲综合999| 久久久国产精品不卡| 欧美日韩综合在线| 成人动漫一区二区三区| 免费成人在线视频观看| 亚洲美女偷拍久久| 久久久精品综合| 日韩一区二区在线免费观看| 91麻豆精品在线观看| 国产一区在线观看麻豆| 天天操天天综合网| 亚洲激情在线激情| 欧美国产激情二区三区| 精品国产欧美一区二区| 欧美日韩在线直播| 岛国一区二区在线观看| 久草精品在线观看| 全国精品久久少妇| 亚洲国产成人porn| 最新国产精品久久精品| 久久久不卡网国产精品二区| 制服丝袜亚洲色图| 欧美区在线观看| 欧美日本一区二区| 欧美视频日韩视频在线观看| av男人天堂一区| 成人免费不卡视频| 成人污视频在线观看| 豆国产96在线|亚洲| 国产伦精品一区二区三区免费迷| 蜜臀av一级做a爰片久久| 日韩中文字幕91| 五月婷婷激情综合| 午夜av一区二区三区| 亚洲电影一级片| 午夜欧美视频在线观看| 亚洲综合av网| 婷婷中文字幕综合| 日本不卡一区二区三区| 日本视频免费一区| 麻豆精品视频在线观看免费| 奇米精品一区二区三区在线观看| 日日摸夜夜添夜夜添精品视频 | 日韩专区在线视频| 日韩精品一卡二卡三卡四卡无卡| 亚洲网友自拍偷拍| 日韩高清不卡一区二区三区| 美女视频一区在线观看| 国产综合色产在线精品| 国产mv日韩mv欧美| 91丝袜国产在线播放| 欧美色视频在线| 日韩美一区二区三区| 国产亚洲自拍一区| 国产精品国模大尺度视频| 一区二区视频在线看| 午夜视频在线观看一区二区| 日本中文字幕一区| 国产精品小仙女| 日本精品视频一区二区三区| 欧美麻豆精品久久久久久| 欧美一卡二卡三卡四卡| 欧美激情一区二区三区四区| 亚洲日本va在线观看| 美女脱光内衣内裤视频久久网站| 国产高清在线精品| 欧美综合色免费| 久久久久久毛片| 亚洲天堂久久久久久久| 日韩国产高清在线| 成人精品视频一区二区三区| 欧洲色大大久久| 久久亚洲综合色一区二区三区| 国产精品久久毛片a| 视频一区二区三区在线| 国产传媒日韩欧美成人| 欧美日韩一级片在线观看| 国产亚洲一本大道中文在线| 亚洲成人你懂的| 国产成人精品免费在线| 欧美另类videos死尸| 国产精品视频线看| 久色婷婷小香蕉久久| 色综合久久66|