|
40 | 40 | ;/* FUNCTION RELEASE */ |
41 | 41 | ;/* */ |
42 | 42 | ;/* _tx_thread_system_return RXv3/CCRX */ |
43 | | -;/* 6.x */ |
| 43 | +;/* 6.1.9 */ |
44 | 44 | ;/* AUTHOR */ |
45 | 45 | ;/* */ |
46 | 46 | ;/* William E. Lamie, Microsoft Corporation */ |
|
72 | 72 | ;/* */ |
73 | 73 | ;/* DATE NAME DESCRIPTION */ |
74 | 74 | ;/* */ |
75 | | -;/* xx-xx-xxxx William E. Lamie Initial Version 6.x */ |
| 75 | +;/* 06-02-2021 William E. Lamie Initial Version 6.1.7 */ |
| 76 | +;/* 10-15-2021 William E. Lamie Modified comment(s), and */ |
| 77 | +;/* removed unused code, */ |
| 78 | +;/* resulting in version 6.1.9 */ |
76 | 79 | ;/* */ |
77 | 80 | ;/**************************************************************************/ |
78 | 81 | ;VOID _tx_thread_system_return(VOID) |
79 | 82 | ;{ |
80 | 83 | .GLB __tx_thread_system_return |
81 | 84 | __tx_thread_system_return: |
82 | | -; |
83 | | -; /* Save call save registers on the stack. */ |
84 | | -; |
85 | | - PUSHM R6-R13 |
86 | | - PUSHC PSW |
87 | | - MOV.L #0, R1 |
88 | | - PUSH.L R1 ; solicited stack frame |
89 | | -; |
90 | | -; /* Lockout interrupts. */ |
91 | | -; |
92 | | - CLRPSW I ; Lockout interrupts |
93 | | -; |
94 | | -; /* Save current stack in current Thread controle block. */ |
95 | | -; _tx_thread_current_ptr -> tx_thread_stack_ptr = SP; |
96 | | - MOV.L #__tx_thread_current_ptr, R2 |
97 | | - MOV.L [R2], R3 |
98 | | - MOV.L R0, 8[R3] |
99 | | - |
100 | | - MOV.L #__tx_timer_time_slice, R4 |
101 | | - MOV.L [R4], R5 |
102 | 85 |
|
103 | | -; /* Determine if the time-slice is active. */ |
104 | | -; if (_tx_timer_time_slice) |
105 | | -; { |
106 | | -; |
107 | | - CMP #0,R5 ; Is a time-slice present? |
108 | | - BEQ __tx_thread_dont_save_ts ; No, don't save the time-slice |
109 | | -; |
110 | | -; /* Save time-slice for the thread and clear the current time-slice. */ |
111 | | - ; _tx_thread_current_ptr -> tx_thread_time_slice = _tx_timer_time_slice; |
112 | | - MOV.L R5,24[R3] |
113 | | -; _tx_timer_time_slice = 0; |
114 | | -; |
115 | | - MOV.L R1, [R4] ; Disable the time-slice |
116 | | -; |
117 | | -; } |
118 | | -__tx_thread_dont_save_ts: |
119 | | -; |
120 | | -; /* Clear the current thread pointer. */ |
121 | | -; _tx_thread_current_ptr = TX_NULL; |
122 | | -; |
123 | | - MOV.L R1, [R2] |
124 | | - BRA __tx_thread_schedule |
| 86 | + BRA __tx_thread_system_return |
125 | 87 | ;} |
126 | 88 | .END |
127 | 89 |
|
0 commit comments