📄 os_sem.asm
字号:
BD L21 ; |222|
NOP
LD *SP(2),A ; |222|
; branch occurs ; |222|
L20:
MVDK *SP(6),*(AR1) ; |222|
LDM AR1,A ; |222|
BC L13,AEQ ; |222|
; branch occurs ; |222|
STM #1,AR0 ; |222|
CMPR 0,AR1 ; |222|
BC L15,TC ; |222|
; branch occurs ; |222|
B L19 ; |222|
; branch occurs ; |222|
L21:
.line 73
FRAME #4 ; |224|
POPM AR1 ; |224|
RET ; |224|
; return occurs ; |224|
.endfunc 224,000000400h,5
.sect ".text"
.global _OSSemPend
.sym _OSSemPend,_OSSemPend, 32, 2, 0
.func 258
;***************************************************************
;* FUNCTION DEF: _OSSemPend *
;***************************************************************
_OSSemPend:
;* A assigned to _pevent
.sym _pevent,0, 24, 17, 16, _os_event
.sym _timeout,4, 14, 9, 16
.sym _err,5, 30, 9, 16
.sym _pevent,0, 24, 1, 16, _os_event
PSHM AR1
FRAME #-2
NOP
.line 2
STL A,*SP(0) ; |259|
.line 8
LD *(_OSIntNesting),A ; |265|
BC L22,AEQ ; |265|
; branch occurs ; |265|
.line 9
MVDK *SP(5),*(AR1) ; |266|
ST #2,*AR1 ; |266|
.line 10
B L27 ; |267|
; branch occurs ; |267|
L22:
.line 13
LD *SP(0),A ; |270|
BC L23,ANEQ ; |270|
; branch occurs ; |270|
.line 14
MVDK *SP(5),*(AR1) ; |271|
ST #4,*AR1 ; |271|
.line 15
B L27 ; |272|
; branch occurs ; |272|
L23:
.line 18
MVDK *SP(0),*(AR1) ; |275|
CMPM *AR1,#3 ; |275|
BC L24,TC ; |275|
; branch occurs ; |275|
.line 19
MVDK *SP(5),*(AR1) ; |276|
ST #1,*AR1 ; |276|
.line 20
B L27 ; |277|
; branch occurs ; |277|
L24:
.line 22
ssbx INTM
.line 23
LD *AR1(2),A ; |280|
BC L25,AEQ ; |280|
; branch occurs ; |280|
.line 24
ADDM #-1,*AR1(2) ; |281|
.line 25
rsbx INTM
.line 26
MVDK *SP(5),*(AR1) ; |283|
ST #0,*AR1 ; |283|
.line 27
B L27 ; |284|
; branch occurs ; |284|
L25:
.line 30
MVDM *(_OSTCBCur),AR1 ; |287|
NOP
ORM #1,*AR1(15) ; |287|
.line 31
MVDM *(_OSTCBCur),AR1 ; |288|
LD *SP(4),A ; |288|
STL A,*AR1(14) ; |288|
.line 32
LD *SP(0),A ; |289|
CALL #_OS_EventTaskWait ; |289|
; call occurs [#_OS_EventTaskWait] ; |289|
.line 33
rsbx INTM
.line 34
CALL #_OS_Sched ; |291|
; call occurs [#_OS_Sched] ; |291|
.line 35
ssbx INTM
.line 36
MVDM *(_OSTCBCur),AR1 ; |293|
NOP
BITF *AR1(15),#1 ; |293|
BC L26,NTC ; |293|
; branch occurs ; |293|
.line 37
LD *SP(0),A ; |294|
CALL #_OS_EventTO ; |294|
; call occurs [#_OS_EventTO] ; |294|
.line 38
rsbx INTM
.line 39
MVDK *SP(5),*(AR1) ; |296|
ST #10,*AR1 ; |296|
.line 40
B L27 ; |297|
; branch occurs ; |297|
L26:
.line 42
ST #0,*AR1(10) ; |299|
.line 43
rsbx INTM
.line 44
MVDK *SP(5),*(AR1) ; |301|
ST #0,*AR1 ; |301|
.line 45
L27:
FRAME #2
POPM AR1
RET
; return occurs
.endfunc 302,000000400h,3
.sect ".text"
.global _OSSemPost
.sym _OSSemPost,_OSSemPost, 46, 2, 0
.func 322
;***************************************************************
;* FUNCTION DEF: _OSSemPost *
;***************************************************************
_OSSemPost:
;* A assigned to _pevent
.sym _pevent,0, 24, 17, 16, _os_event
.sym _pevent,2, 24, 1, 16, _os_event
PSHM AR1
FRAME #-4
NOP
.line 2
STL A,*SP(2) ; |323|
.line 9
LD *SP(2),A ; |330|
BC L28,ANEQ ; |330|
; branch occurs ; |330|
.line 10
BD L32 ; |331|
NOP
LD #4,A ; |331|
; branch occurs ; |331|
L28:
.line 13
MVDK *SP(2),*(AR1) ; |334|
CMPM *AR1,#3 ; |334|
BC L29,TC ; |334|
; branch occurs ; |334|
.line 14
BD L32 ; |335|
NOP
LD #1,A ; |335|
; branch occurs ; |335|
L29:
.line 16
ssbx INTM
.line 17
LD *AR1(1),A ; |338|
BC L30,AEQ ; |338|
; branch occurs ; |338|
.line 18
ST #0,*SP(0) ; |339|
ST #1,*SP(1) ; |339|
CALLD #_OS_EventTaskRdy ; |339|
NOP
LDM AR1,A ; |339|
; call occurs [#_OS_EventTaskRdy] ; |339|
.line 19
rsbx INTM
.line 20
CALL #_OS_Sched ; |341|
; call occurs [#_OS_Sched] ; |341|
.line 21
BD L32 ; |342|
NOP
LD #0,A ; |342|
; branch occurs ; |342|
L30:
.line 23
STM #65535,AR0 ; |344|
MVDK *AR1(2),*(AR1) ; |344|
CMPR 1,AR1 ; |344|
BC L31,NTC ; |344|
; branch occurs ; |344|
.line 24
MVDK *SP(2),*(AR1) ; |345|
ADDM #1,*AR1(2) ; |345|
.line 25
rsbx INTM
.line 26
BD L32 ; |347|
NOP
LD #0,A ; |347|
; branch occurs ; |347|
L31:
.line 28
rsbx INTM
.line 29
LD #50,A ; |350|
L32:
.line 30
FRAME #4 ; |351|
POPM AR1 ; |351|
RET ; |351|
; return occurs ; |351|
.endfunc 351,000000400h,5
.sect ".text"
.global _OSSemQuery
.sym _OSSemQuery,_OSSemQuery, 46, 2, 0
.func 372
;***************************************************************
;* FUNCTION DEF: _OSSemQuery *
;***************************************************************
_OSSemQuery:
;* A assigned to _pevent
.sym _pevent,0, 24, 17, 16, _os_event
.sym _p_sem_data,5, 24, 9, 16, _os_sem_data
.sym _pevent,0, 24, 1, 16, _os_event
.sym _psrc,1, 30, 1, 16
.sym _pdest,2, 30, 1, 16
PSHM AR1
FRAME #-3
NOP
.line 2
STL A,*SP(0) ; |373|
.line 11
LD *SP(0),A ; |382|
BC L33,ANEQ ; |382|
; branch occurs ; |382|
.line 12
BD L35 ; |383|
NOP
LD #4,A ; |383|
; branch occurs ; |383|
L33:
.line 15
MVDK *SP(0),*(AR1) ; |386|
CMPM *AR1,#3 ; |386|
BC L34,TC ; |386|
; branch occurs ; |386|
.line 16
BD L35 ; |387|
NOP
LD #1,A ; |387|
; branch occurs ; |387|
L34:
.line 18
ssbx INTM
.line 19
LD *AR1(1),A ; |390|
MVDK *SP(5),*(AR1) ; |390|
STL A,*AR1(9) ; |390|
.line 20
LD #4,A ; |391|
ADD *SP(0),A ; |391|
STL A,*SP(1) ; |391|
.line 21
LD *SP(5),A ; |392|
ADD #1,A ; |392|
STL A,*SP(2) ; |392|
.line 23
MVDK *SP(1),*(AR1) ; |394|
LD *AR1+,B ; |394|
MVKD *(AR1),*SP(1) ; |394|
STLM A,AR1 ; |394|
NOP
LDM AR1,A ; |394|
ADD #1,A,A ; |394|
STL A,*SP(2) ; |394|
STL B,*AR1 ; |394|
.line 27
MVDK *SP(1),*(AR1) ; |398|
LD *AR1+,B ; |398|
MVKD *(AR1),*SP(1) ; |398|
MVDK *SP(2),*(AR1) ; |398|
LDM AR1,A ; |398|
ADD #1,A,A ; |398|
STL A,*SP(2) ; |398|
STL B,*AR1 ; |398|
.line 31
MVDK *SP(1),*(AR1) ; |402|
LD *AR1+,B ; |402|
MVKD *(AR1),*SP(1) ; |402|
MVDK *SP(2),*(AR1) ; |402|
LDM AR1,A ; |402|
ADD #1,A,A ; |402|
STL A,*SP(2) ; |402|
STL B,*AR1 ; |402|
.line 35
MVDK *SP(1),*(AR1) ; |406|
LD *AR1+,B ; |406|
MVKD *(AR1),*SP(1) ; |406|
MVDK *SP(2),*(AR1) ; |406|
LDM AR1,A ; |406|
ADD #1,A,A ; |406|
STL A,*SP(2) ; |406|
STL B,*AR1 ; |406|
.line 39
MVDK *SP(1),*(AR1) ; |410|
LD *AR1+,B ; |410|
MVKD *(AR1),*SP(1) ; |410|
MVDK *SP(2),*(AR1) ; |410|
LDM AR1,A ; |410|
ADD #1,A,A ; |410|
STL A,*SP(2) ; |410|
STL B,*AR1 ; |410|
.line 43
MVDK *SP(1),*(AR1) ; |414|
LD *AR1+,B ; |414|
MVKD *(AR1),*SP(1) ; |414|
MVDK *SP(2),*(AR1) ; |414|
LDM AR1,A ; |414|
ADD #1,A,A ; |414|
STL A,*SP(2) ; |414|
STL B,*AR1 ; |414|
.line 47
MVDK *SP(1),*(AR1) ; |418|
LD *AR1+,B ; |418|
MVKD *(AR1),*SP(1) ; |418|
MVDK *SP(2),*(AR1) ; |418|
LDM AR1,A ; |418|
ADD #1,A,A ; |418|
STL A,*SP(2) ; |418|
STL B,*AR1 ; |418|
.line 51
MVDK *SP(1),*(AR2) ; |422|
MVDK *SP(2),*(AR3) ; |422|
MVDD *AR2,*AR3 ; |422|
.line 53
MVDK *SP(0),*(AR2) ; |424|
MAR *+AR2(#2) ; |424|
MVDK *SP(5),*(AR3) ; |424|
MVDD *AR2,*AR3 ; |424|
.line 54
rsbx INTM
.line 55
LD #0,A ; |426|
L35:
.line 56
FRAME #3 ; |427|
POPM AR1 ; |427|
RET ; |427|
; return occurs ; |427|
.endfunc 427,000000400h,4
;***************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;***************************************************************
.global _OS_EventTaskRdy
.global _OS_EventTaskWait
.global _OS_EventTO
.global _OS_EventWaitListInit
.global _OS_Sched
.global _OSTCBCur
.global _OSIntNesting
.global _OSEventFreeList
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -