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

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

?? boot.tpl

?? CYRF6936 zigbee模塊設計的全部資料
?? TPL
?? 第 1 頁 / 共 2 頁
字號:

ENDIF ; SYSTEM_SMALL_MEMORY_MODEL

IF ( SYSTEM_LARGE_MEMORY_MODEL )
    mov   reg[CUR_PP], >__r0           ; force direct addr mode instructions
                                       ; to use the Virtual Register page.

    ; Dereference the constant (flash) pointer pXIData to access the start
    ; of the extended idata area, "xidata." Xidata follows the end of the
    ; text segment and may have been relocated by the Code Compressor.
    ;
    mov   A, >__pXIData                ; Get the address of the flash
    mov   X, <__pXIData                ;   pointer to the xidata area.
    push  A
    romx                               ; get the MSB of xidata's address
    mov   [__r0], A
    pop   A
    inc   X
    adc   A, 0
    romx                               ; get the LSB of xidata's address
    swap  A, X
    mov   A, [__r0]                    ; pXIData (in [A,X]) points to the
                                       ;   XIData structure list in flash
    jmp   .AccessStruct

    ; Unpack one element in the xidata "structure list" that specifies the
    ; values of C variables. Each structure contains 3 member elements.
    ; The first is a pointer to a contiguous block of RAM to be initial-
    ; ized. Blocks are always 255 bytes or less in length and never cross
    ; RAM page boundaries. The list terminates when the MSB of the pointer
    ; contains 0xFF. There are two formats for the struct depending on the
    ; value in the second member element, an unsigned byte:
    ; (1) If the value of the second element is non-zero, it represents
    ; the 'size' of the block of RAM to be initialized. In this case, the
    ; third member of the struct is an array of bytes of length 'size' and
    ; the bytes are copied to the block of RAM.
    ; (2) If the value of the second element is zero, the block of RAM is
    ; to be cleared to zero. In this case, the third member of the struct
    ; is an unsigned byte containing the number of bytes to clear.

.AccessNextStructLoop:
    inc   X                            ; pXIData++
    adc   A, 0
.AccessStruct:                         ; Entry point for first block
    ;
    ; Assert: pXIData in [A,X] points to the beginning of an XIData struct.
    ;
    M8C_ClearWDT                       ; Clear the watchdog for long inits
    push  A
    romx                               ; MSB of RAM addr (CPU.A <- *pXIData)
    mov   reg[MVW_PP], A               ;   for use with MVI write operations
    inc   A                            ; End of Struct List? (MSB==0xFF?)
    jz    .C_RTE_WrapUp                ;   Yes, C runtime environment complete
    pop   A                            ; restore pXIData to [A,X]
    inc   X                            ; pXIData++
    adc   A, 0
    push  A
    romx                               ; LSB of RAM addr (CPU.A <- *pXIData)
    mov   [__r0], A                    ; RAM Addr now in [reg[MVW_PP],[__r0]]
    pop   A                            ; restore pXIData to [A,X]
    inc   X                            ; pXIData++ (point to size)
    adc   A, 0
    push  A
    romx                               ; Get the size (CPU.A <- *pXIData)
    jz    .ClearRAMBlockToZero         ; If Size==0, then go clear RAM
    mov   [__r1], A                    ;             else downcount in __r1
    pop   A                            ; restore pXIData to [A,X]

.CopyNextByteLoop:
    ; For each byte in the structure's array member, copy from flash to RAM.
    ; Assert: pXIData in [A,X] points to previous byte of flash source;
    ;         [reg[MVW_PP],[__r0]] points to next RAM destination;
    ;         __r1 holds a non-zero count of the number of bytes remaining.
    ;
    inc   X                            ; pXIData++ (point to next data byte)
    adc   A, 0
    push  A
    romx                               ; Get the data value (CPU.A <- *pXIData)
    mvi   [__r0], A                    ; Transfer the data to RAM
    tst   [__r0], 0xff                 ; Check for page crossing
    jnz   .CopyLoopTail                ;   No crossing, keep going
    mov   A, reg[ MVW_PP]              ;   If crossing, bump MVW page reg
    inc   A
    mov   reg[ MVW_PP], A
.CopyLoopTail:
    pop   A                            ; restore pXIData to [A,X]
    dec   [__r1]                       ; End of this array in flash?
    jnz   .CopyNextByteLoop            ;   No,  more bytes to copy
    jmp   .AccessNextStructLoop        ;   Yes, initialize another RAM block

.ClearRAMBlockToZero:
    pop   A                            ; restore pXIData to [A,X]
    inc   X                            ; pXIData++ (point to next data byte)
    adc   A, 0
    push  A
    romx                               ; Get the run length (CPU.A <- *pXIData)
    mov   [__r1], A                    ; Initialize downcounter
    mov   A, 0                         ; Initialize source data

.ClearRAMBlockLoop:
    ; Assert: [reg[MVW_PP],[__r0]] points to next RAM destination and
    ;         __r1 holds a non-zero count of the number of bytes remaining.
    ;
    mvi   [__r0], A                    ; Clear a byte
    tst   [__r0], 0xff                 ; Check for page crossing
    jnz   .ClearLoopTail               ;   No crossing, keep going
    mov   A, reg[ MVW_PP]              ;   If crossing, bump MVW page reg
    inc   A
    mov   reg[ MVW_PP], A
    mov   A, 0                         ; Restore the zero used for clearing
.ClearLoopTail:
    dec   [__r1]                       ; Was this the last byte?
    jnz   .ClearRAMBlockLoop           ;   No,  continue
    pop   A                            ;   Yes, restore pXIData to [A,X] and
    jmp   .AccessNextStructLoop        ;        initialize another RAM block

.C_RTE_WrapUp:
    pop   A                            ; balance stack

ENDIF ; SYSTEM_LARGE_MEMORY_MODEL

C_RTE_Done:

ENDIF ; C_LANGUAGE_SUPPORT

    ;-------------------------------
    ; Voltage Stabilization for SMP
    ;-------------------------------

IF ( POWER_SETTING & POWER_SET_5V0)    ; 5.0V Operation
IF ( SWITCH_MODE_PUMP ^ 1 )            ; SMP is operational
    ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ; When using the SMP at 5V, we must wait for Vdd to slew from 3.1V to
    ; 5V before enabling the Precision Power-On Reset (PPOR).
    ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    or   reg[INT_MSK0],INT_MSK0_SLEEP
    M8C_SetBank1
    and   reg[OSC_CR0], ~OSC_CR0_SLEEP
    or    reg[OSC_CR0],  OSC_CR0_SLEEP_512Hz
    M8C_SetBank0
    M8C_ClearWDTAndSleep                   ; Restart the sleep timer
    mov   reg[INT_VC], 0                   ; Clear all pending interrupts
.WaitFor2ms:
    tst   reg[INT_CLR0], INT_MSK0_SLEEP    ; Test the SleepTimer Interrupt Status
    jz   .WaitFor2ms                       ; Branch fails when 2 msec has passed
ENDIF ; SMP is operational
ENDIF ; 5.0V Operation

    ;-------------------------------
    ; Set Power-On Reset (POR) Level
    ;-------------------------------
    M8C_SetBank1

IF (POWER_SETTING & POWER_SET_2V7)             ; 2.7V Operation?
                                               ;  Yes, lowest trip already set
ELSE                                           ;   No, must adjust POR...
IF (POWER_SETTING & POWER_SET_3V3)             ; 3.3V Operation?
    or   reg[VLT_CR], VLT_CR_POR_MID           ;   Yes, change to midpoint trip
ELSE
IF (POWER_SETTING & POWER_SET_5V0)             ; 5.0V Operation?
 IF (POWER_SETTING & POWER_SET_SLOW_IMO)       ; and Slow Mode?
    or   reg[VLT_CR], VLT_CR_POR_MID           ;   Yes, set to midpoint trip
 ELSE                                          ;    No, fast mode
  IF ( CPU_CLOCK_JUST ^ OSC_CR0_CPU_24MHz )    ;      As fast as 24MHz?
    or   reg[VLT_CR], VLT_CR_POR_MID           ;         No, change to midpoint trip
  ELSE ; 24HMz                                 ;
    or    reg[VLT_CR], VLT_CR_POR_HIGH         ;        Yes, switch to	highest setting
  ENDIF ; 24MHz
 ENDIF ; Slow Mode
ENDIF ; 5.0V Operation
ENDIF ; 3.3V Operation
ENDIF ; 2.7V Operation

    M8C_SetBank0

    ;----------------------------
    ; Wrap up and invoke "main"
    ;----------------------------

    ; Disable the Sleep interrupt that was used for timing above.  In fact,
    ; no interrupts should be enabled now, so may as well clear the register.
    ;
    mov  reg[INT_MSK0],0

    ; Everything has started OK. Now select requested CPU & sleep frequency.
    ;
    M8C_SetBank1
    mov  reg[OSC_CR0],(SLEEP_TIMER_JUST | CPU_CLOCK_JUST)
    M8C_SetBank0

    ; Global Interrupt are NOT enabled, this should be done in main().
    ; LVD is set but will not occur unless Global Interrupts are enabled.
    ; Global Interrupts should be enabled as soon as possible in main().
    ;
    mov  reg[INT_VC],0             ; Clear any pending interrupts which may
                                   ; have been set during the boot process.
IF ENABLE_LJMP_TO_MAIN
    ljmp  _main                    ; goto main (no return)
ELSE
    lcall _main                    ; call main
.Exit:
    jmp  .Exit                     ; Wait here after return till power-off or reset
ENDIF

    ;---------------------------------
    ; Library Access to Global Parms
    ;---------------------------------
    ;
 bGetPowerSetting:
_bGetPowerSetting:
    ; Returns value of POWER_SETTING in the A register.
    ; No inputs. No Side Effects.
    ;
IF (POWER_SETTING & POWER_SET_2V7)
    mov   A, POWER_SETTING | POWER_SET_SLOW_IMO
ELSE
    mov   A, POWER_SETTING          ; Supply voltage and internal main osc
ENDIF
    ret

    ;---------------------------------
    ; Order Critical RAM & ROM AREAs
    ;---------------------------------
    ;  'TOP' is all that has been defined so far...

    ;  ROM AREAs for C CONST, static & global items
    ;
    AREA lit               (ROM, REL, CON)   ; 'const' definitions
    AREA idata             (ROM, REL, CON)   ; Constants for initializing RAM
__idata_start:

    AREA func_lit          (ROM, REL, CON)   ; Function Pointers
__func_lit_start:

IF ( SYSTEM_LARGE_MEMORY_MODEL )
    ; We use the func_lit area to store a pointer to extended initialized
    ; data (xidata) area that follows the text area. Func_lit isn't
    ; relocated by the code compressor, but the text area may shrink and
    ; that moves xidata around.
    ;
__pXIData:         word __text_end           ; ptr to extended idata
ENDIF

    AREA psoc_config       (ROM, REL, CON)   ; Configuration Load & Unload
    AREA UserModules       (ROM, REL, CON)   ; User Module APIs

    ; CODE segment for general use
    ;
    AREA text (ROM, REL, CON)
__text_start:

    ; RAM area usage
    ;
    AREA data              (RAM, REL, CON)   ; initialized RAM
__data_start:

    AREA virtual_registers (RAM, REL, CON)   ; Temp vars of C compiler
    AREA InterruptRAM      (RAM, REL, CON)   ; Interrupts, on Page 0
    AREA bss               (RAM, REL, CON)   ; general use
__bss_start:

; end of file boot.asm

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
悠悠色在线精品| 成人精品小蝌蚪| caoporen国产精品视频| 欧美亚洲动漫制服丝袜| 久久久久久久综合狠狠综合| 一区二区三区在线高清| 国产精一品亚洲二区在线视频| 欧美日韩久久久一区| 中文字幕乱码一区二区免费| 日本vs亚洲vs韩国一区三区二区 | 亚洲成人av一区二区三区| 国产精品一级片在线观看| 欧美日韩不卡视频| 亚洲精品久久久蜜桃| 波多野结衣精品在线| xvideos.蜜桃一区二区| 青青草成人在线观看| 欧美性猛片xxxx免费看久爱| 最新国产精品久久精品| 国产精品一级黄| 久久九九久精品国产免费直播| 日韩制服丝袜av| 欧美日韩一区在线观看| 一二三区精品视频| 在线一区二区三区| 一区二区三区四区视频精品免费 | 亚洲第一精品在线| 色综合久久中文综合久久牛| 国产精品女人毛片| 成人免费三级在线| 欧美激情在线免费观看| 成人激情动漫在线观看| 中国av一区二区三区| 国产一区免费电影| 欧美国产亚洲另类动漫| 成人av免费在线播放| 国产精品短视频| 99精品1区2区| 亚洲日本一区二区| 欧美日韩综合不卡| 国产精品1024久久| 久久久www免费人成精品| 国产91精品在线观看| 国产欧美精品一区二区三区四区 | 94-欧美-setu| 国产精品乱码人人做人人爱| 91亚洲国产成人精品一区二区三| 亚洲欧美日韩国产综合在线| 欧美午夜免费电影| 蜜桃在线一区二区三区| 国产欧美日韩不卡免费| av在线不卡观看免费观看| 亚洲另类在线视频| 777欧美精品| 韩国精品主播一区二区在线观看 | 风间由美一区二区三区在线观看| 国产欧美精品区一区二区三区 | 日本福利一区二区| 日韩电影在线一区| 欧美国产综合一区二区| 日本电影欧美片| 久久99国产精品久久| 国产精品第一页第二页第三页| 欧美无砖砖区免费| 国产一区二区在线影院| 亚洲精品一二三| 精品国产精品一区二区夜夜嗨| www.欧美亚洲| 香蕉久久一区二区不卡无毒影院| 久久久精品人体av艺术| 在线观看日产精品| 国模少妇一区二区三区| 一区二区三区小说| 国产偷国产偷亚洲高清人白洁| 欧美视频精品在线观看| 国产精品69毛片高清亚洲| 亚洲va国产va欧美va观看| 国产欧美一区二区三区网站| 欧美日韩亚州综合| 99精品视频在线免费观看| 精品亚洲国内自在自线福利| 一区二区高清视频在线观看| 久久综合久久综合亚洲| 欧美日本国产视频| 日本高清视频一区二区| 国产suv精品一区二区883| 日韩精品一级中文字幕精品视频免费观看 | 国产精品亚洲一区二区三区妖精 | 国产在线观看免费一区| 亚洲成人av在线电影| 国产精品久久久久永久免费观看| 欧美一区中文字幕| 国产视频亚洲色图| 91精品啪在线观看国产60岁| 91久久精品国产91性色tv| 丁香婷婷综合激情五月色| 麻豆成人在线观看| 日韩有码一区二区三区| 亚洲国产精品一区二区久久恐怖片| 国产免费成人在线视频| 久久影院电视剧免费观看| 欧美一级艳片视频免费观看| 欧美日韩你懂得| 欧美色精品在线视频| 在线视频国内自拍亚洲视频| 91丨九色丨国产丨porny| 成人av在线一区二区三区| 国产成人免费视频网站| 国产一区二区免费在线| 精品一区二区三区在线观看| 久久国产人妖系列| 青青草伊人久久| 日本系列欧美系列| 日本不卡一区二区| 久久国产精品99久久久久久老狼 | 国内精品国产三级国产a久久| 天天色天天操综合| 天涯成人国产亚洲精品一区av| 亚洲综合精品自拍| 亚洲一区欧美一区| 亚洲成av人片在线观看无码| 肉色丝袜一区二区| 久久电影网站中文字幕| 国产成人综合精品三级| 波多野洁衣一区| 日本道精品一区二区三区| 欧美无乱码久久久免费午夜一区| 欧美日韩一级二级| 欧美成人精精品一区二区频| 久久综合九色欧美综合狠狠| 国产欧美日韩在线看| 亚洲精品欧美综合四区| 五月综合激情网| 久久精品国产一区二区| 国产电影精品久久禁18| 97久久人人超碰| 欧美另类变人与禽xxxxx| 欧美r级在线观看| 国产精品少妇自拍| 亚洲成人在线网站| 精品影视av免费| 97se亚洲国产综合自在线| 欧美日韩一区国产| 久久久精品天堂| 亚洲精品国产一区二区精华液 | 日韩一区欧美二区| 国产成人一区在线| 色综合久久88色综合天天| 日韩亚洲欧美一区二区三区| 国产午夜亚洲精品午夜鲁丝片| ...中文天堂在线一区| 视频一区视频二区在线观看| 国产高清一区日本| 欧美日本一道本在线视频| 久久影音资源网| 一区二区三区精品在线| 国产在线精品免费av| 久久先锋影音av| 一区二区三区 在线观看视频 | 欧美一级视频精品观看| 国产精品免费看片| 美腿丝袜亚洲三区| 一本久道久久综合中文字幕| 欧美精品一区二区三区在线| 亚洲最新视频在线播放| 国产黄人亚洲片| 91精品福利在线一区二区三区 | 26uuu精品一区二区| 亚洲一区成人在线| 波多野结衣亚洲| 精品免费国产一区二区三区四区| 亚洲综合成人在线视频| 高清国产午夜精品久久久久久| 91精品国产麻豆| 亚洲一区二区三区四区五区中文| 成人免费视频视频| 欧美精品一区二区三区蜜桃视频| 亚洲伊人色欲综合网| 成人黄色电影在线| 国产亚洲欧美日韩俺去了| 免费观看久久久4p| 精品视频免费在线| 亚洲男人的天堂在线aⅴ视频| 国产精品18久久久久久久网站| 欧美一区二区在线看| 亚洲国产视频a| 色综合激情五月| 亚洲区小说区图片区qvod| 99久久精品国产精品久久| 国产亚洲欧美激情| 韩国av一区二区三区在线观看| 欧美一区二区三区成人| 婷婷亚洲久悠悠色悠在线播放| 一本在线高清不卡dvd| 国产精品国产三级国产| 成人av在线电影| 国产精品高清亚洲| 99久久国产综合精品麻豆| 国产精品高潮呻吟| 99精品国产热久久91蜜凸|