📄 creatroutine.asm
字号:
ldiu *+fp(1),ar0 ; |63|
ldiu ar0,r0 ; |63|
sti r0,*ar0 ; |63|
.line 25
;----------------------------------------------------------------------
; 64 | protect -> pro_link_previous = protect;
;----------------------------------------------------------------------
ldiu *+fp(1),ar0 ; |64|
ldiu ar0,r0 ; |64|
sti r0,*+ar0(1) ; |64|
L7:
.line 27
;----------------------------------------------------------------------
; 66 | PRO_Total_Protect++;
;----------------------------------------------------------------------
ldp @CL1,DP
ldiu @CL1,ar0 ; |66|
ldiu 1,r0 ; |66|
addi3 r0,*ar0,r0 ; |66| Unsigned
sti r0,*ar0 ; |66|
.line 29
;----------------------------------------------------------------------
; 68 | (*protect_initialize)(protect);
;----------------------------------------------------------------------
ldiu *+fp(1),r0 ; |68|
push r0 ; |68|
ldiu *-fp(3),r0 ; |68|
callu r0 ; |68|
; |68| Call Occurs
subi 1,sp ; |68|
.line 32
;----------------------------------------------------------------------
; 71 | protect -> pro_routine_handler = protect_routine;
; |
;----------------------------------------------------------------------
ldiu *+fp(1),ar0 ; |71|
ldiu *-fp(4),r0 ; |71|
sti r0,*+ar0(80) ; |71|
.line 33
; Begin Epilog Code
ldiu *-fp(1),r1
ldiu *fp,fp
; Unallocate the Frame
subi 4,sp
bu r1
;* Branch Occurs to r1
.endfunc 72,000000000h,2
.sect ".text"
.global _CCOM_Initialize
.sym _CCOM_Initialize,_CCOM_Initialize,32,2,0
.func 81
;******************************************************************************
;* FUNCTION NAME: _CCOM_Initialize *
;* *
;* Architecture : TMS320C32 *
;* Calling Convention : Stack Parameter Convention *
;* Function Uses Regs : r0,ar0 *
;* Regs Saved : *
;* Stack Frame : Full (w/ debug) *
;* Total Frame Size : 2 Call + 0 Parm + 0 Auto + 0 SOE = 2 words *
;******************************************************************************
_CCOM_Initialize:
.line 1
;----------------------------------------------------------------------
; 81 | VOID CCOM_Initialize(VOID)
;----------------------------------------------------------------------
push fp
ldiu sp,fp
.line 4
;----------------------------------------------------------------------
; 84 | CHK_Total_Check = 0;
;----------------------------------------------------------------------
ldp @CL4,DP
ldiu @CL4,ar0 ; |84|
ldiu 0,r0 ; |84|
sti r0,*ar0 ; |84|
.line 6
;----------------------------------------------------------------------
; 86 | CHK_Created_Check_List = NU_NULL;
;----------------------------------------------------------------------
ldp @CL5,DP
ldiu @CL5,ar0 ; |86|
sti r0,*ar0 ; |86|
.line 8
;----------------------------------------------------------------------
; 88 | CHK_Execute_Check = NU_NULL;
;----------------------------------------------------------------------
ldp @CL6,DP
ldiu @CL6,ar0 ; |88|
sti r0,*ar0 ; |88|
.line 9
; Begin Epilog Code
ldiu *-fp(1),r1
ldiu *fp,fp
; Unallocate the Frame
subi 2,sp
bu r1
;* Branch Occurs to r1
.endfunc 89,000000000h,0
.sect ".text"
.global _CCOM_Create_Check
.sym _CCOM_Create_Check,_CCOM_Create_Check,32,2,0
.func 99
;******************************************************************************
;* FUNCTION NAME: _CCOM_Create_Check *
;* *
;* Architecture : TMS320C32 *
;* Calling Convention : Stack Parameter Convention *
;* Function Uses Regs : r0,ar0,ar1,fp,sp,st,pc *
;* Regs Saved : *
;* Stack Frame : Full (w/ debug) *
;* Total Frame Size : 2 Call + 3 Parm + 2 Auto + 0 SOE = 7 words *
;******************************************************************************
_CCOM_Create_Check:
.sym _Check_ptr,-2,16,9,32
.sym _Check_initialize,-3,144,9,32
.sym _Check_routine,-4,144,9,32
.sym _Check,1,24,1,32,_CHECK_STRUCT
.sym _i,2,4,1,32
.line 1
;----------------------------------------------------------------------
; 99 | VOID CCOM_Create_Check(VOID *Check_ptr,VOID (*Check_initialize)(CHEC
; | K *),
; 100 | VOID (*Check_routine)(CHECK *))
;----------------------------------------------------------------------
push fp
ldiu sp,fp
addi 2,sp
.line 3
;----------------------------------------------------------------------
; 102 | CHECK *Check; /* check control block
; | ptr */
; 103 | INT i; /* Working inde
; | x variable */
;----------------------------------------------------------------------
.line 8
;----------------------------------------------------------------------
; 106 | Check = (CHECK *)Check_ptr;
;----------------------------------------------------------------------
ldiu *-fp(2),r0 ; |106|
sti r0,*+fp(1) ; |106|
.line 11
;----------------------------------------------------------------------
; 109 | if (CHK_Created_Check_List) /* Determine if the list in non
; | -empty. */
;----------------------------------------------------------------------
ldp @CL5,DP
ldiu @CL5,ar0 ; |109|
ldiu *ar0,r0 ; |109|
cmpi 0,r0 ; |109|
beq L15 ; |109|
;* Branch Occurs to L15 ; |109|
.line 14
;----------------------------------------------------------------------
; 112 | Check -> chk_link_previous = CHK_Created_Check_List -> chk_link_
; | previous;
;----------------------------------------------------------------------
ldp @CL5,DP
ldiu @CL5,ar0 ; |112|
ldiu *ar0,ar0 ; |112|
ldiu *+fp(1),ar1 ; |112|
ldiu *+ar0(1),r0 ; |112|
sti r0,*+ar1(1) ; |112|
.line 15
;----------------------------------------------------------------------
; 113 | (Check -> chk_link_previous) -> chk_link_next = Check;
;----------------------------------------------------------------------
ldiu *+fp(1),ar0 ; |113|
ldiu *+ar0(1),ar0 ; |113|
ldiu *+fp(1),r0 ; |113|
sti r0,*ar0 ; |113|
.line 16
;----------------------------------------------------------------------
; 114 | Check -> chk_link_next = CHK_Created_Check_List;
;----------------------------------------------------------------------
ldiu @CL5,ar0 ; |114|
ldiu *+fp(1),ar1 ; |114|
ldiu *ar0,r0 ; |114|
sti r0,*ar1 ; |114|
.line 17
;----------------------------------------------------------------------
; 115 | (Check -> chk_link_next) -> chk_link_previous = Check;
; 117 | else
;----------------------------------------------------------------------
ldiu *+fp(1),ar0 ; |115|
ldiu *ar0,ar0 ; |115|
ldiu *+fp(1),r0 ; |115|
sti r0,*+ar0(1) ; |115|
bu L16 ; |98|
;* Branch Occurs to L16 ; |98|
L15:
.line 22
;----------------------------------------------------------------------
; 120 | CHK_Created_Check_List = Check;
;----------------------------------------------------------------------
ldp @CL5,DP
ldiu @CL5,ar0 ; |120|
ldiu *+fp(1),r0 ; |120|
sti r0,*ar0 ; |120|
.line 23
;----------------------------------------------------------------------
; 121 | Check -> chk_link_next = Check;
;----------------------------------------------------------------------
ldiu *+fp(1),ar0 ; |121|
ldiu ar0,r0 ; |121|
sti r0,*ar0 ; |121|
.line 24
;----------------------------------------------------------------------
; 122 | Check -> chk_link_previous = Check;
;----------------------------------------------------------------------
ldiu *+fp(1),ar0 ; |122|
ldiu ar0,r0 ; |122|
sti r0,*+ar0(1) ; |122|
L16:
.line 26
;----------------------------------------------------------------------
; 124 | CHK_Total_Check++;
;----------------------------------------------------------------------
ldp @CL4,DP
ldiu @CL4,ar0 ; |124|
ldiu 1,r0 ; |124|
addi3 r0,*ar0,r0 ; |124| Unsigned
sti r0,*ar0 ; |124|
.line 28
;----------------------------------------------------------------------
; 126 | (*Check_initialize)(Check);
;----------------------------------------------------------------------
ldiu *+fp(1),r0 ; |126|
push r0 ; |126|
ldiu *-fp(3),r0 ; |126|
callu r0 ; |126|
; |126| Call Occurs
subi 1,sp ; |126|
.line 31
;----------------------------------------------------------------------
; 129 | Check -> chk_routine_handler = Check_routine;
;----------------------------------------------------------------------
ldiu *+fp(1),ar0 ; |129|
ldiu *-fp(4),r0 ; |129|
sti r0,*+ar0(10) ; |129|
.line 32
; Begin Epilog Code
ldiu *-fp(1),r1
ldiu *fp,fp
; Unallocate the Frame
subi 4,sp
bu r1
;* Branch Occurs to r1
.endfunc 130,000000000h,2
.sect ".text"
.global _ProtectCreat
.sym _ProtectCreat,_ProtectCreat,32,2,0
.func 140
;******************************************************************************
;* FUNCTION NAME: _ProtectCreat *
;* *
;* Architecture : TMS320C32 *
;* Calling Convention : Stack Parameter Convention *
;* Function Uses Regs : r0,r1,r2,r3,fp,sp *
;* Regs Saved : *
;* Stack Frame : Full (w/ debug) *
;* Total Frame Size : 2 Call + 0 Parm + 0 Auto + 0 SOE = 2 words *
;******************************************************************************
_ProtectCreat:
.line 1
;----------------------------------------------------------------------
; 140 | VOID ProtectCreat(VOID)
;----------------------------------------------------------------------
push fp
ldiu sp,fp
.line 3
;----------------------------------------------------------------------
; 142 | PCOM_Initialize(); //Pcom.c : protect link table initialize
;----------------------------------------------------------------------
ldp @CL7,DP
ldiu @CL7,r0 ; |142|
callu r0 ; far call to _PCOM_Initialize ; |142|
; |142| Far Call Occurs
.line 4
;----------------------------------------------------------------------
; 143 | PCOM_Create_Protect(&protect_OC_I_Direction,OC_I_Direction_Initialize,O
; | C_I_Direction_Routine);//lht.2001.10.23
;----------------------------------------------------------------------
ldp @CL8,DP
ldiu @CL8,r0 ; |143|
ldp @CL9,DP
ldiu @CL9,r1 ; |143|
ldp @CL10,DP
ldiu @CL10,r2 ; |143|
push r0 ; |143|
ldp @CL11,DP
push r1 ; |143|
ldiu @CL11,r3 ; |143|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -