avrx_priority.s

来自「血凝仪检测系统,硬件电路部分由正弦波产生模块、前级放大与滤波模块、检测线圈、锁相」· S 代码 · 共 60 行

S
60
字号
#include        "avrx.inc"
/*
        Copyright 1999-2001, Larry Barello
        larry@barello.net

*/
        _MODULE(avrx_priority)

        _EXTERN(RunQueue)

        _CODESECTION
/*+
; --------------------------------------------------
; uint8_t AvrXChangePriority(pProcessID, uint8_t)
; uint8_t AvrXPriority(void)
; pProcessID AvrXSelf(void)
;
; Routines for manipulating process priorities.  Since GCC is
; inherently little endien and AvrX is big endien, access to
; AvrX data structures is strictly limited to AvrX code.
;
; If I changed AvrX, then many routines could be written in
; C...  Maybe tomorrow
;
; PASSED:       
; RETURNS:      
; USES: 
; CALLS:
; ASSUMES:
; NOTES:        
-*/
        _FUNCTION(AvrXChangePriority)

AvrXChangePriority:
        mov     Zl, p1l
        mov     Zh, p1h
        ldd     r1l, Z+PidPriority
        std     Z+PidPriority, p2l
        ret
        _ENDFUNC
        
        _FUNCTION(AvrXSelf)

AvrXSelf:
        lds     r1h, RunQueue+NextH
        lds     r1l, RunQueue+NextL
        ret
        _ENDFUNC
        
        _FUNCTION(AvrXPriority)

AvrXPriority:
        lds     Zh, RunQueue+NextH
        lds     Zl, RunQueue+NextL
        ldd     r1l, Z+PidPriority
        ret
        _ENDFUNC
        _END
        

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?