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

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

?? os_cpu_a.s

?? 一個(gè)適用于MPC565的uCOS接口程序源碼
?? S
字號(hào):
#
# OS_MPC565_A.s
#
# uC/OS-II MPC565 PowerPC Specific Assembly Language Functions
#
# Functions:
#   void OSStartHighRdy (void)
#   void OSCtxSw (void)                 
#   void OSIntCtxSw (void)
#   void decrementer_exception (void)
#
# Author: Harry E. Barnett 11/11/99
# harryb@hbbse.com http://www.hbbse.com
#
# Modified by Peter S 5/4/01
#   added: floating point support
#   added: SaveSPRs, SaveGPRs, RestoreGPRs, RestoreSPRs macros
#   moved: Stack Frame definition and macros to OS_MPC565_A.i
#   removed MSR,R2,R13 from stack frame
#
# Version V1.00
#
#########################################################################
    .title  "UCOS-II MPC565 Power PC Assembly Language Functions"
    .file   "OS_MPC565_A.s"

    .global OSStartHighRdy
    .global OSCtxSw
    .global OSIntCtxSw
    .global decrementer_exception
    .global dec_init

    .text
    .align  2

    .extern OSTCBHighRdy    ;pointer to highest priority ready task
    .extern OSTCBCur        ;pointer to current tasks TCB
    .extern OSTaskSwHook
    .extern OSRunning
    .extern OSTimeTick
    .extern OSIntExit
    .extern StackFrameSize

    .include OS_CPU_A.i  ;stack frame definition & macros


.page
#########################################################################
#   Start multitasking
#   void OSStartHighRdy(void)
#########################################################################
OSStartHighRdy:
# Call OSTaskSwHook
    bl          OSTaskSwHook

# Set OSRunning to TRUE
    li          r0,1
    lis         r11,OSRunning@ha
    stb         r0,OSRunning@l(r11)

# Get pointer to ready task TCB
    lis         r11,OSTCBHighRdy@ha
    lwz         r11,OSTCBHighRdy@l(r11)

# Save as current task TCB ptr.
    lis         r12,OSTCBCur@ha
    stw         r11,OSTCBCur@l(r12)

# Get new stack pointer
    lwz         r1,0(r11)

# Restore context
    RestoreGPRs                         ;Restore General Purpose Registers
    RestoreSPRs                         ;Restore Special Purpose Registers
    rfi


.page
#########################################################################
#   Perform a context switch from task level
#   void OSCtxSw(void)  Note: This is the System Call Exception Handler             
########################################################################
OSCtxSw:
#Save context
    SaveSPRs                            ;Save Special Purpose Registers
    mtspr       EID,r0                  ;Set MSR RI bit  
    SaveGPRs    2,29                    ;Save General Purpose Registers

# Get pointer to current TCB
    lis         r11,OSTCBCur@ha
    lwz         r11,OSTCBCur@l(r11)

# Save stack pointer in current TCB
    stw         r1,0(r11)

# Call OSTaskSwHook
    bl          OSTaskSwHook

# Get pointer to ready task TCB
    lis         r11,OSTCBHighRdy@ha
    lwz         r11,OSTCBHighRdy@l(r11)

# Save as current task TCB ptr.
    lis         r12,OSTCBCur@ha
    stw         r11,OSTCBCur@l(r12)

# Get High Ready Priority
    lis         r12,OSPrioHighRdy@ha
    lbz         r10,OSPrioHighRdy@l(r12)

# Save as Current Priority
    lis         r12,OSPrioCur@ha
    stb         r10,OSPrioCur@l(r12)

# Get new stack pointer
    lwz         r1,0(r11)

# Restore context
    RestoreGPRs 2,29                    ;Restore General Purpose Registers
    mtspr       EID,r0                  ;enter critical region  
    RestoreSPRs                         ;Restore Special Purpose Registers
    rfi


.page
#########################################################################
#   Perform a context switch from a Decrementer Exception (OS tick)
#   void OSIntCtxSw(void)                    
#########################################################################
OSIntCtxSw:
#  OSIntCtxSw SP needs to be adjusted based OSIntExit stack usage
#    addi        r1,r1,0x08       ;not needed starting in uC/OS-II rev 2.51

# Call OSTaskSwHook
    bl          OSTaskSwHook

#  Get pointer to ready task TCB
    lis         r11,OSTCBHighRdy@ha
    lwz         r11,OSTCBHighRdy@l(r11)

#  Save as current task TCB ptr.
    lis         r12,OSTCBCur@ha
    stw         r11,OSTCBCur@l(r12)

# Get High Ready Priority
    lis         r12,OSPrioHighRdy@ha
    lbz         r10,OSPrioHighRdy@l(r12)

# Save as Current Priority
    lis         r12,OSPrioCur@ha
    stb         r10,OSPrioCur@l(r12)

#  Get new stack pointer
    lwz         r1,0(r11)

# Restore context
    RestoreGPRs                         ;Restore General Purpose Registers
    mtspr       EID,r0                  ;enter critcal region
    RestoreSPRs                         ;Restore Special Purpose Registers
    rfi


.page
#########################################################################
#   Decrementer Exception Handler (OS Tick)
#   void DECIntr (void)
#########################################################################
decrementer_exception:
    SaveSPRs                            ;Save Special Purpose Registers
    mtspr       EIE,r0                  ;allow interrupts & mark as recoverable
    SaveGPRs    3,28                    ;Save General Purpose Registers

    mtspr       EID,r0                  ;enter critical region  
    lwz         r4,dec_init@sdarx(r0)   ;get decrementer initial value,
    mfspr       r5,DEC                  ;compensate for interrupt latency by
    add         r4,r4,r5                ;adding decrementer underflow,
    mtspr       DEC,r4                  ;set decrementer to new value
    mtspr       EIE,r0                  ;exit critical region

    lbz         r12,OSIntNesting@sdarx(r0)  ;OSIntNesting++; 
    addi        r12,r12,1   
    stb         r12,OSIntNesting@sdarx(r0)

    lwz         r11,OSTCBCur@sdarx(r0)  ;Save stack pointer in current TCB 
    stw         r1,0(r11)

    bl          OSTimeTick
    bl          OSIntExit

    RestoreGPRs 3,28                    ;Restore General Purpose Registers
    mtspr       EID,r0                  ;enter critical region  
    RestoreSPRs                         ;Restore Special Purpose Registers
    rfi

    .end

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产风韵犹存在线视精品| 亚洲一区日韩精品中文字幕| 韩国女主播一区二区三区| 精品美女一区二区三区| 国产曰批免费观看久久久| 久久精品人人做| 不卡电影一区二区三区| 亚洲人成伊人成综合网小说| 欧美亚洲日本国产| 成人精品国产福利| 亚洲免费大片在线观看| 欧美午夜精品一区| 蜜臀久久99精品久久久久宅男| 久久综合久久综合久久综合| 粉嫩绯色av一区二区在线观看| 亚洲色图制服诱惑| 日韩一区二区三区在线| 国产精品一区二区黑丝| 亚洲精品美国一| 91精品国产一区二区三区| 国产中文一区二区三区| 亚洲欧美日韩国产中文在线| 欧美一区二区久久久| 成人综合在线网站| 午夜精品福利在线| 国产欧美va欧美不卡在线| 欧美日韩在线播| 国产成人福利片| 午夜av一区二区| 国产精品嫩草影院av蜜臀| 欧美人与禽zozo性伦| 粉嫩绯色av一区二区在线观看| 亚洲国产精品自拍| 久久精品网站免费观看| 在线观看91精品国产麻豆| 大美女一区二区三区| 日本麻豆一区二区三区视频| 亚洲欧洲99久久| 精品久久一二三区| 欧美性受xxxx| 懂色av一区二区三区蜜臀| 青草av.久久免费一区| 国产激情精品久久久第一区二区 | 日韩av电影天堂| 国产欧美一区二区三区沐欲 | av电影在线观看不卡| 日本女人一区二区三区| 一区二区三区欧美日| 国产亚洲综合在线| 欧美一区二区啪啪| 欧美亚洲一区二区三区四区| 成人一区二区三区在线观看| 99久久久久免费精品国产| 久久激情综合网| 亚洲欧洲精品一区二区三区| 亚洲一卡二卡三卡四卡五卡| 精品久久久久一区| 欧美日韩中文字幕一区| 91影院在线观看| 国产不卡高清在线观看视频| 精品亚洲aⅴ乱码一区二区三区| 一区二区欧美国产| 国产精品久久久久桃色tv| 欧美精品一区二区久久婷婷 | 国产三级精品三级在线专区| 日韩一区二区三免费高清| 欧美性色综合网| 91久久免费观看| 91在线看国产| 99久久久免费精品国产一区二区| 国产白丝网站精品污在线入口| 激情六月婷婷久久| 激情综合色丁香一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲成人激情社区| 亚洲国产日韩一区二区| 亚洲一区二区在线视频| 一区二区高清在线| 一区二区三区不卡视频在线观看 | 亚洲成人免费观看| 亚洲一区二区三区四区五区黄 | 久久综合色8888| 国产午夜三级一区二区三| 久久只精品国产| 国产精品视频第一区| 国产精品电影一区二区| 亚洲精品视频在线看| 亚洲一区二区精品久久av| 亚洲电影在线播放| 日本午夜精品一区二区三区电影| 麻豆成人久久精品二区三区小说| 韩国欧美国产1区| 成人激情校园春色| 91国偷自产一区二区三区成为亚洲经典| 91福利社在线观看| 7777精品伊人久久久大香线蕉 | 日本一区二区免费在线观看视频 | 美腿丝袜亚洲一区| 国产成人综合在线| 色哟哟亚洲精品| 69成人精品免费视频| 久久免费国产精品| 亚洲精品日日夜夜| 美女视频免费一区| 99久免费精品视频在线观看 | 972aa.com艺术欧美| 欧美三级电影在线观看| 日韩欧美一级二级| 国产精品国产三级国产专播品爱网 | 久久蜜桃av一区精品变态类天堂| 中文字幕欧美国产| 丝袜诱惑制服诱惑色一区在线观看 | 麻豆91精品91久久久的内涵| 国产69精品久久99不卡| 在线看不卡av| 久久久久久久久99精品| 亚洲乱码精品一二三四区日韩在线| 五月天丁香久久| 国产69精品久久99不卡| 5566中文字幕一区二区电影| 久久久午夜精品| 亚洲国产精品久久人人爱| 国产一区二区三区久久久 | 偷拍一区二区三区四区| 国产精品一区二区91| 欧美亚洲日本国产| 国产欧美视频在线观看| 天涯成人国产亚洲精品一区av| 国产福利不卡视频| 日韩手机在线导航| 一卡二卡欧美日韩| 国产精品91一区二区| 制服.丝袜.亚洲.另类.中文| 综合久久国产九一剧情麻豆| 久久se精品一区精品二区| 欧美亚洲高清一区| 国产精品嫩草影院com| 久久成人18免费观看| 欧美三级欧美一级| 亚洲黄色片在线观看| 岛国精品一区二区| 2022国产精品视频| 日本va欧美va欧美va精品| 色琪琪一区二区三区亚洲区| 国产天堂亚洲国产碰碰| 久久99国产精品久久| 欧美老肥妇做.爰bbww视频| 18涩涩午夜精品.www| 国产福利一区二区三区| 久久综合久久综合亚洲| 美女视频黄 久久| 91精品福利在线一区二区三区| 亚洲午夜三级在线| 在线免费观看日本一区| 亚洲免费观看高清完整| 91丨porny丨蝌蚪视频| 国产精品盗摄一区二区三区| 丁香亚洲综合激情啪啪综合| 国产午夜精品一区二区三区视频 | 中文字幕在线观看不卡视频| 国产久卡久卡久卡久卡视频精品| 欧美电视剧在线看免费| 免费xxxx性欧美18vr| 欧美一区二区三区视频在线观看 | 国产成人a级片| 国产精品午夜春色av| 国产jizzjizz一区二区| 久久精品人人做人人爽97| 国产伦精品一区二区三区免费 | 成人国产精品免费观看| 一色屋精品亚洲香蕉网站| 99久久精品国产观看| 亚洲靠逼com| 在线精品视频免费观看| 亚洲成人福利片| 日韩一区二区高清| 国内精品第一页| 国产精品久线在线观看| 一本一本大道香蕉久在线精品 | 精品奇米国产一区二区三区| 久久99热这里只有精品| 国产亚洲欧美在线| 97久久久精品综合88久久| 一区av在线播放| 日韩欧美在线影院| 国产高清不卡二三区| 国产精品久久久久久久蜜臀| 一本色道综合亚洲| 免费在线观看一区二区三区| 亚洲精品一区在线观看| 成人黄色电影在线| 午夜久久电影网| 久久综合久久久久88| 91视频xxxx| 欧美aaa在线| 国产婷婷色一区二区三区在线| 亚洲国产成人午夜在线一区| 91精品1区2区| 久久超级碰视频| 亚洲精品国产无天堂网2021|