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

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

?? start.s

?? 來源于外國的開源rtos,用于小型mcu,支持優先級搶占調度
?? S
?? 第 1 頁 / 共 2 頁
字號:
..inst_prot_spin:
    b       ..inst_prot_spin
..inst_prot_string:
    .4byte 0x0d0a0d0a
    .byte "Unexpected Instruction storage protection violation detected"
    .byte  0x0d,0x0a,0x00,0x00

    /* External interrupt */
    .align 2
..External_vector:
    addis   r3, 0,..inst_ext_string@h
    ori     r3,r3,..inst_ext_string@l
    bl      u_print
..inst_ext_spin:
    b       ..inst_ext_spin
..inst_ext_string:
    .4byte  0x0d0a0d0a
    .byte   "Unexpected external interrupt occurred"
    .byte   0x0d,0x0a,0x00,0x00,0x00,0x00

    /* Alignment exception */
    .align 2
..Alignment_vector:
    addis   r3, 0,..algn_string@h
    ori     r3,r3,..algn_string@l
    bl      u_print
..algn_spin:
    b       ..algn_spin
..algn_string:
    .4byte  0x0d0a0d0a
    .byte   "Alignment exception detected"
    .byte   0x0d,0x0a,0x00,0x00

    /* FPU exception */
    .align 2
..FPU_vector:
    addis   r3, 0,..fpu_string@h
    ori     r3,r3,..fpu_string@l
    bl      u_print
..fpu_spin:
    b       ..fpu_spin
..fpu_string:
    .4byte  0x0d0a0d0a
    .byte   "FPU exception detected"
    .byte   0x0d,0x0a,0x00,0x00,0x00,0x00

    /* Program exception */
    .align 2
..Program_vector:
    addis   r3, 0,..prog_string@h
    ori     r3,r3,..prog_string@l
    bl      u_print
..prog_spin:
    b       ..prog_spin
..prog_string:
    .4byte  0x0d0a0d0a
    .byte   "Unexpected Program exception detected"
    .byte   0x0d,0x0a,0x00

    /* System call */
    .align 2
..Sys_call_vector:
    addis   r3, 0,..sysc_string@h
    ori     r3,r3,..sysc_string@l
    bl      u_print
..sysc_spin:
    b       ..sysc_spin
..sysc_string:
    .4byte  0x0d0a0d0a
    .byte   "System call detected"
    .byte   0x0d,0x0a,0x00,0x00

    /* Auxiliary Processor Unavailable */
    .align 2
..AUX_vector:
    addis   r3, 0,..aux_string@h
    ori     r3,r3,..aux_string@l
    bl      u_print
..aux_spin:
    b       ..aux_spin
..aux_string:
    .4byte  0x0d0a0d0a
    .byte   "auxiliary processor unavailable detected"
    .byte   0x0d,0x0a,0x00,0x00

    /* Programmable interval timer */
    .align 2
..Pg_timer_vector:
    addis   r3, 0,..inst_timer_string@h
    ori     r3,r3,..inst_timer_string@l
    bl      u_print
..inst_timer_spin:
    b       ..inst_timer_spin
..inst_timer_string:
    .4byte  0x0d0a0d0a
    .byte   "Unexpected timer interrupt occurred"
    .byte   0x0d,0x0a,0x00,0x00,0x00

    /* Fixed interval timer exception */
    .align 2
..Fx_timer_vector:
    addis   r3, 0,..fint_string@h
    ori     r3,r3,..fint_string@l 
    bl      u_print
..fint_spin:
    b       ..fint_spin
..fint_string:
    .4byte  0x0d0a0d0a
    .byte   "Unexpected Fixed interval timer expiration detected"
    .byte   0x0d,0x0a,0x00,0x00,0x00

    /* Watchdog timer exception */
    .align 2
..Watchdog_vector:
    addis   r3, 0,..wchd_string@h 
    ori     r3,r3,..wchd_string@l          
    bl      u_print
..wchd_spin:
    b       ..wchd_spin
..wchd_string:
    .4byte  0x0d0a0d0a
    .byte   "Unexpected Watchdog timer expiration detected"
    .byte   0x0d,0x0a,0x00

    /* Data TLB Miss exception */
    .align 2
..Data_TLB_miss_vector:
    addis   r3, 0,..dtlb_string@h
    ori     r3,r3,..dtlb_string@l
    bl      u_print
..dtlb_spin:
    b       ..dtlb_spin
..dtlb_string:
    .4byte  0x0d0a0d0a
    .byte   "Unexpected Data TLB Miss detected"
    .byte   0x0d,0x0a,0x00

    /* Instruction TLB Miss exception */
    .align 2
..Inst_TLB_miss_vector:
    addis   r3, 0,..itlb_string@h
    ori     r3,r3,..itlb_string@l
    bl      u_print
..itlb_spin:
    b       ..itlb_spin
..itlb_string:
    .4byte  0x0d0a0d0a
    .byte   "Unexpected Instruction TLB Miss detected"
    .byte   0x0d,0x0a,0x00,0x00

    /* Debug exception */
    .align 2
..Debug_vector:
    addis   r3, 0,..debg_string@h 
    ori     r3,r3,..debg_string@l          
    bl      u_print
..debg_spin:
    b       ..debg_spin
..debg_string:
    .4byte  0x0d0a0d0a
    .byte   "Unexpected Debug exception detected"
    .byte   0x0d,0x0a,0x00,0x00,0x00


        .align 2
..jumpover:

    /*  Initialize interrupt vector jump table */
    xor     r0,r0,r0   
    mtspr   IVPR,r0
    ori     r4,r0,..crit_vector
    mtspr   IVOR0,r4
    ori     r4,r0,..mach_vector
    mtspr   IVOR1,r4
    ori     r4,r0,..prot_vector
    mtspr   IVOR2,r4
    ori     r4,r0,..isi_vector
    mtspr   IVOR3,r4
    ori     r4,r0,..ext_vector
    mtspr   IVOR4,r4
    ori     r4,r0,..align_vector
    mtspr   IVOR5,r4
    ori     r4,r0,..prog_vector
    mtspr   IVOR6,r4
    ori     r4,r0,..fpu_vector
    mtspr   IVOR7,r4
    ori     r4,r0,..sys_vector
    mtspr   IVOR8,r4
    ori     r4,r0,..apu_vector
    mtspr   IVOR9,r4
    ori     r4,r0,..dec_vector
    mtspr   IVOR10,r4
    ori     r4,r0,..fit_vector
    mtspr   IVOR11,r4
    ori     r4,r0,..wadt_vector
    mtspr   IVOR12,r4
    ori     r4,r0,..dtlb_vector
    mtspr   IVOR13,r4
    ori     r4,r0,..itlb_vector
    mtspr   IVOR14,r4
    ori     r4,r0,..debug_vector
    mtspr   IVOR15,r4

    mflr    r1   /* save link reg in r1 */
    bl      ..end_list
    .long   ..crit_vector
    ba      ..Critical_vector
    .long   ..mach_vector
    ba      ..Machine_check_vector
    .long   ..prot_vector
    ba      ..Data_protection_vector
    .long   ..isi_vector
    ba      ..Instruction_protection_vector
    .long   ..ext_vector
    /* ba      ..External_vector */
    ba      p_asm_extISR
    .long   ..align_vector
    ba      ..Alignment_vector
    .long   ..prog_vector
    ba      ..Program_vector
    .long   ..fpu_vector
    ba      ..FPU_vector
    .long   ..sys_vector
    ba      ..Sys_call_vector
    .long   ..apu_vector
    ba      ..AUX_vector
    .long   ..dec_vector
    /* ba      ..Pg_timer_vector */
    ba      p_asm_timerISR
    .long   ..fit_vector
    ba      ..Fx_timer_vector
    .long   ..wadt_vector
    ba      ..Watchdog_vector
    .long   ..dtlb_vector 
    ba      ..Data_TLB_miss_vector
    .long   ..itlb_vector
    ba      ..Inst_TLB_miss_vector
    .long   ..debug_vector 
    ba      ..Debug_vector
    .long 0
    .long 0
..end_list:
    mflr    r4
    addi    r4,r4,-8   /* adjust for loop load */
..vec_loop:
    lwzu    r5,8(r4)
    lwz     r6,4(r4)
    cmpw    0,r5,0
    beq     ..vec_done
    stw     r6,0(r5)    /* store branch */
    dcbf    r0,r5       /* flush to storage */
    b       ..vec_loop
..vec_done:
    isync
    mtlr    r1


    /* initialize CPC0_CR0
       (set ext. clock for UART0) */
    addis   r3, 0,CPC0_CR0_INIT@h
    ori     r3,r3,CPC0_CR0_INIT@l
    mtdcr   CPC0_CR0,r3

    /* initialize UART0 */
    addi    r3, 0,(UART_DIV_9600_LO+(UART_DIV_9600_HI<<8))
    addis   r7, 0,UART0_MMIO_BASE@h
    ori     r7,r7,UART0_MMIO_BASE@l
    addi    r4, 0,0x80                /* get access to baudrate registers */
    stb     r4,UART_LINE_CONTROL(r7)
    stb     r3,UART_DL_LSB(r7)
    rlwinm  r4,r3,24,0x000000FF
    stb     r4,UART_DL_MSB(r7)
    addi    r4, 0,0x03                /* lcr: 8 bits, no parity */
    stb     r4,UART_LINE_CONTROL(r7)
    addi    r4, 0,0x00                /* disable FIFO */
    stb     r4,UART_FIFO_CONTROL(r7)
    addi    r4, 0,0x03                /* modem control: DTR RTS */
    stb     r4,UART_MODEM_CONTROL(r7)
    lbz     r3,UART_LINE_STATUS(r7)   /* clear line status */
    lbz     r3,UART_DATA_REG(r7)      /* read receive buffer */
    addi    r4, 0,0x00                /* set interrupt enable reg */
    stb     r4,UART_INT_ENABLE(r7)

    /* clear timer registers */
    xor     r0,r0,r0  /* r0 = 0x00000000 */
    addi    r1, 0,-1  /* r1 = 0xFFFFFFFF */
    mtspr   DEC,r0
    mtspr   TBLW,r0
    mtspr   TBUW,r0
    mtspr   TSR,r1
    mtspr   TCR,r0

    /* reset interrupt controllers */
    mtdcr   UIC1_ER,r0
    mtdcr   UIC1_SR,r1
    mtdcr   UIC0_ER,r0
    mtdcr   UIC0_SR,r1

    /* clear misc registers */
    mtspr   ESR,r0
    mtspr   XER,r0

    /* initialize MSR */
    addis   r3, 0,MSR_VALUE@h
    ori     r3,r3,MSR_VALUE@l
    mtmsr   r3

    /* set up stackpointer, write zero stack frame */
    addis   r1, 0,__STACK_TOP@h
    ori     r1,r1,__STACK_TOP@l
    rlwinm  r1,r1, 0, 0xFFFFFFE0 /* align stack */
    addi    r3, 0,32/4
    mtctr   r3
..wzero:
    stwu    r0,-4(r1)
    bdnz    ..wzero

    /* jump to C init function */
    bl      c_start
..halt:
    b       ..halt



/*---------------------------------------------------------------------------
 |
 |  FUNCTION:
 |
 |    void u_print(char *str);
 |
 |    Terminal output to UART0:
 |      write a character string to the terminal
 |
 *-------------------------------------------------------------------------*/

    .align  2
u_print:
    mflr    r6
    addi    r7,r3,0
..uploop:
    lbz     r3,0x0(r7)   /* get next char   */
    cmpi    0,0,r3,0x00  /* end of string?  */
    beq     ..upend
    bl      u_putch      /* print character */
    addi    r7,r7,1
    b       ..uploop
..upend:
    mtlr    r6
    blr
    ENDFUNC(u_print)



/*---------------------------------------------------------------------------
 |
 |  FUNCTION:
 |
 |    void u_putch(char c);
 |
 |    Terminal output to UART0:
 |      write a character to the terminal
 |
 *-------------------------------------------------------------------------*/

    .align  2
u_putch:
    addis   r4, 0,UART0_MMIO_BASE@h
    ori     r4,r4,UART0_MMIO_BASE@l
    cmpi    0,0,r3,10  /* line feed? */
    bne     ..u_pwait2
    xor     r0,r0,r0
    ori     r0,r0,13
..u_pwait1:
    lbz     r5,UART_LINE_STATUS(r4)
    eieio
    andi.   r5,r5,0x20  /* test THRE bit */
    beq     ..u_pwait1
    stb     r0,UART_DATA_REG(r4)
    eieio
..u_pwait2:
    lbz     r5,UART_LINE_STATUS(r4)
    eieio
    andi.   r5,r5,0x20  /* test THRE bit */
    beq     ..u_pwait2
    stb     r3,UART_DATA_REG(r4)
    eieio
    blr
    ENDFUNC(u_putch)



/*---------------------------------------------------------------------------
 |
 |  FUNCTION:
 |
 |    int u_getch(void);
 |
 |    Terminal input from UART0:
 |      read a character from the terminal
 |
 *-------------------------------------------------------------------------*/

    .align  2
u_getch:
    addis   r4, 0,UART0_MMIO_BASE@h
    ori     r4,r4,UART0_MMIO_BASE@l
..u_gwait:
    lbz     r3,UART_LINE_STATUS(r4)
    eieio
    andi.   r3,r3,0x01  /* test DR bit */
    beq     ..u_gwait 
    lbz     r3,UART_DATA_REG(r4)
    blr
    ENDFUNC(u_getch)



/*---------------------------------------------------------------------------
 |
 |  FUNCTION:
 |
 |    int u_kbhit(void);
 |
 |    Terminal input from UART0:
 |      returns nonzero when a key was hit on the terminal
 |
 *-------------------------------------------------------------------------*/

    .align  2
u_kbhit:
    addis   r4, 0,UART0_MMIO_BASE@h
    ori     r4,r4,UART0_MMIO_BASE@l
    lbz     r3,UART_LINE_STATUS(r4)
    eieio
    andi.   r3,r3,0x01  /* get DR bit */
    blr
    ENDFUNC(u_kbhit)


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美综合天天夜夜久久| 美女爽到高潮91| 2023国产一二三区日本精品2022| caoporn国产一区二区| 精品一区二区三区香蕉蜜桃| 洋洋成人永久网站入口| 欧美激情一区二区三区在线| 日韩欧美在线网站| 国产成人一级电影| 国产一区啦啦啦在线观看| 天天影视色香欲综合网老头| 亚洲国产三级在线| 一区二区三区四区精品在线视频| 国产亚洲成av人在线观看导航| 欧美一区二区网站| 欧美美女视频在线观看| 欧美亚洲日本国产| 欧美亚洲一区三区| 欧美日韩国产影片| 欧美日韩中字一区| 欧美精品亚洲一区二区在线播放| 色综合久久综合网欧美综合网| 91香蕉视频mp4| 99精品国产91久久久久久| 波多野结衣中文字幕一区二区三区 | 欧美日韩精品欧美日韩精品| 色94色欧美sute亚洲线路二| 色婷婷综合激情| 色先锋资源久久综合| 欧日韩精品视频| 91精品国产综合久久久久久久| 欧美狂野另类xxxxoooo| 欧美高清激情brazzers| 欧美一个色资源| 精品国产3级a| 欧美国产日韩一二三区| 中文字幕一区二区日韩精品绯色| 一区二区三区免费在线观看| 夜夜嗨av一区二区三区中文字幕| 国产精品女同互慰在线看| 亚洲色图视频免费播放| 欧美国产精品一区二区| 国产欧美一区二区三区在线看蜜臀| 国产精品免费网站在线观看| 一区二区三区四区在线播放| 青青青伊人色综合久久| 国产精品亚洲成人| 色综合激情五月| 日韩欧美亚洲国产另类| 中文字幕av一区二区三区高| 一区二区三区精品在线| 蜜桃视频在线观看一区二区| 成人丝袜高跟foot| 欧美日韩精品一区二区在线播放| 欧美一级一级性生活免费录像| 久久精品亚洲精品国产欧美kt∨| 中文字幕一区二区三区在线播放| 亚洲sss视频在线视频| 久久成人免费网站| 在线观看一区不卡| 久久人人97超碰com| 亚洲国产精品久久艾草纯爱| 国产一区二区三区在线观看精品| 一本久道中文字幕精品亚洲嫩| 欧美一区二区精美| 亚洲青青青在线视频| 久久99精品国产麻豆不卡| 91国模大尺度私拍在线视频| 久久久亚洲欧洲日产国码αv| 国产精品久久久久久久久免费樱桃 | 本田岬高潮一区二区三区| 91精品国产麻豆| 亚洲人成电影网站色mp4| 精品一区二区三区不卡 | 欧美国产精品中文字幕| 免费视频最近日韩| 欧美日本韩国一区| 亚洲视频一区二区在线| 不卡在线视频中文字幕| 国产喂奶挤奶一区二区三区| 免费看日韩精品| 欧美日韩日本视频| 亚洲激情男女视频| 国产黄人亚洲片| 久久综合久久鬼色| 亚洲在线观看免费| 97se亚洲国产综合在线| 中文在线一区二区| 国内成人自拍视频| 欧美亚洲国产一区在线观看网站| 1000精品久久久久久久久| 国产成人a级片| 国产精品情趣视频| 成人精品国产一区二区4080| 久久日一线二线三线suv| 裸体歌舞表演一区二区| 日韩精品一区在线观看| 喷水一区二区三区| 欧美一三区三区四区免费在线看| 一区二区三区四区高清精品免费观看 | 亚洲激情自拍偷拍| 在线亚洲精品福利网址导航| 亚洲午夜电影在线观看| 欧美性大战久久久久久久| 亚洲一区二区精品3399| 欧美日韩国产色站一区二区三区| 丝袜a∨在线一区二区三区不卡| 欧美日本在线观看| 亚洲第一主播视频| 欧美一区二区高清| 国产专区综合网| 日本一区二区三区dvd视频在线| 另类调教123区 | 久久精品一区二区| 丰满放荡岳乱妇91ww| 亚洲精品免费在线播放| 欧美性猛交xxxxxx富婆| 国产午夜精品一区二区三区四区| 欧美在线一区二区三区| 精品国产一二三| 久久精品在这里| 色婷婷综合久久| 五月天丁香久久| 久久亚洲精品小早川怜子| 国产精品自在欧美一区| 亚洲日本一区二区| 欧美一区二区日韩| va亚洲va日韩不卡在线观看| 午夜一区二区三区在线观看| 欧美成人一区二区三区| 色综合色狠狠综合色| 美女视频一区在线观看| 亚洲日本在线a| 精品999在线播放| 色综合天天综合| 精品一区二区在线免费观看| 久久综合九色欧美综合狠狠| 色综合网站在线| 韩国精品久久久| 天天色图综合网| 亚洲精品综合在线| 久久久精品欧美丰满| 欧美性猛交一区二区三区精品| 激情另类小说区图片区视频区| 亚洲男女毛片无遮挡| 精品成人免费观看| 欧美男同性恋视频网站| 色综合久久综合网| 日本视频免费一区| 亚洲一区av在线| 1000精品久久久久久久久| 日韩女优av电影在线观看| 91免费在线看| 久久er精品视频| 日本中文字幕一区二区有限公司| 亚洲自拍另类综合| 亚洲女性喷水在线观看一区| 国产欧美日韩不卡| 国产午夜精品在线观看| 久久久久久一二三区| 欧美一区二区黄色| 欧美老肥妇做.爰bbww| 在线欧美日韩精品| 一本到一区二区三区| 97精品国产露脸对白| 成人美女视频在线观看| 国产精品一区二区三区四区| 久久精品国产亚洲一区二区三区| 日韩精品午夜视频| 婷婷国产在线综合| 日韩精品91亚洲二区在线观看| 亚洲一区二区三区自拍| 久久久久久亚洲综合| 久久久久国产精品麻豆ai换脸| 欧美精品一区二区三区四区| 3d动漫精品啪啪一区二区竹菊| 国产精品一区二区三区四区| 国产高清精品在线| 国产99一区视频免费| 国产大陆亚洲精品国产| 国产精品综合网| 国产精品99久久不卡二区| 国产精品资源在线观看| 国产盗摄女厕一区二区三区| 成人久久视频在线观看| av电影一区二区| 欧美亚洲国产一区二区三区va | 美女视频黄 久久| 成熟亚洲日本毛茸茸凸凹| 91久久精品一区二区二区| 欧美xxx久久| 一个色在线综合| 国产一区二区三区最好精华液| 99精品黄色片免费大全| 欧美不卡视频一区| 亚洲一区二区免费视频| 成人激情校园春色| 欧美成人猛片aaaaaaa| 一区二区三区国产精品| 顶级嫩模精品视频在线看|