@@ -35,73 +35,73 @@ ADDRESS_MSK .set 0xFFFFFFF0
3535;{
3636 . global rt_hw_stack_init
3737rt_hw_stack_init:
38- SUB A6 , 1 , B1 ;
39- MVKL ADDRESS_MSK, A1 ;
40- MVKH ADDRESS_MSK, A1 ; Build address mask
41- MVC CSR , B0 ;
42- AND - 2 , B0 , B0 ; Clear GIE bit
43- OR 2 , B0 , B0 ; Set PGIE bit for interrupt return
44- AND A1 , B1 , B1 ; Ensure alignment
38+ SUB A6 , 1 , B1 ;
39+ MVKL .S1 ADDRESS_MSK, A1 ;
40+ MVKH .S1 ADDRESS_MSK, A1 ; Build address mask
41+ MVC .S2 CSR , B0 ;
42+ AND - 2 , B0 , B0 ; Clear GIE bit
43+ OR 2 , B0 , B0 ; Set PGIE bit for interrupt return
44+ AND A1 , B1 , B1 ; Ensure alignment
4545;
4646; Actually build the stack frame.
4747;
48- MV B1 , A3
49- MV B14 , A2
50- STDW A3:A2 ,*-- B1 [ 1 ] ; Initial B15:B14
48+ MV .S1 B1 , A3
49+ MV .S1 B14 , A2
50+ STDW .D2T1 A3:A2 ,*-- B1 [ 1 ] ; Initial B15:B14
5151 SUBAW .D2 B1 , 2 , B1
5252 ZERO A2
53- ZERO A3 ; Clear value
54- STDW A3:A2 ,* B1 --[ 1 ] ; Initial A15:A14
55- STDW A3:A2 ,* B1 --[ 1 ] ; Initial A13:A12
56- STDW A3:A2 ,* B1 --[ 1 ] ; Initial A11:A10
57- STDW A3:A2 ,* B1 --[ 1 ] ; Initial A9:A8
58- STDW A3:A2 ,* B1 --[ 1 ] ; Initial A7:A6
59- MV B4 , A2
60- STDW A3:A2 ,* B1 --[ 1 ] ; Initial A5:A4
53+ ZERO A3 ; Clear value
54+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial A15:A14
55+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial A13:A12
56+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial A11:A10
57+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial A9:A8
58+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial A7:A6
59+ MV .S1 B4 , A2
60+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial A5:A4
6161 ZERO A2
62- STDW A3:A2 ,* B1 --[ 1 ] ; Initial A3:A2
63- STDW A3:A2 ,* B1 --[ 1 ] ; Initial A1:A0
62+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial A3:A2
63+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial A1:A0
6464
65- STDW A3:A2 ,* B1 --[ 1 ] ; Initial A31:A30
66- STDW A3:A2 ,* B1 --[ 1 ] ; Initial A29:A28
67- STDW A3:A2 ,* B1 --[ 1 ] ; Initial A27:A26
68- STDW A3:A2 ,* B1 --[ 1 ] ; Initial A25:A24
69- STDW A3:A2 ,* B1 --[ 1 ] ; Initial A23:A22
70- STDW A3:A2 ,* B1 --[ 1 ] ; Initial A21:A20
71- STDW A3:A2 ,* B1 --[ 1 ] ; Initial A19:A18
72- STDW A3:A2 ,* B1 --[ 1 ] ; Initial A17:A16
65+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial A31:A30
66+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial A29:A28
67+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial A27:A26
68+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial A25:A24
69+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial A23:A22
70+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial A21:A20
71+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial A19:A18
72+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial A17:A16
7373
74- STDW A3:A2 ,* B1 --[ 1 ] ; Initial B13:B12
75- STDW A3:A2 ,* B1 --[ 1 ] ; Initial B11:B10
76- STDW A3:A2 ,* B1 --[ 1 ] ; Initial B9:B8
77- STDW A3:A2 ,* B1 --[ 1 ] ; Initial B7:B6
78- STDW A3:A2 ,* B1 --[ 1 ] ; Initial B5:B4
79- MV B6 , A3
80- STDW A3:A2 ,* B1 --[ 1 ] ; Initial B3:B2
74+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial B13:B12
75+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial B11:B10
76+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial B9:B8
77+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial B7:B6
78+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial B5:B4
79+ MV .S1 B6 , A3
80+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial B3:B2
8181 ZERO A3
82- STDW A3:A2 ,* B1 --[ 1 ] ; Initial B1:B0
82+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial B1:B0
8383
84- STDW A3:A2 ,* B1 --[ 1 ] ; Initial B31:B30
85- STDW A3:A2 ,* B1 --[ 1 ] ; Initial B29:B28
86- STDW A3:A2 ,* B1 --[ 1 ] ; Initial B27:B26
87- STDW A3:A2 ,* B1 --[ 1 ] ; Initial B25:B24
88- STDW A3:A2 ,* B1 --[ 1 ] ; Initial B23:B22
89- STDW A3:A2 ,* B1 --[ 1 ] ; Initial B21:B20
90- STDW A3:A2 ,* B1 --[ 1 ] ; Initial B19:B18
91- STDW A3:A2 ,* B1 --[ 1 ] ; Initial B17:B16
84+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial B31:B30
85+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial B29:B28
86+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial B27:B26
87+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial B25:B24
88+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial B23:B22
89+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial B21:B20
90+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial B19:B18
91+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial B17:B16
9292
93- MV A4 , A3
94- MV B0 , A2
95- STDW A3:A2 ,* B1 --[ 1 ] ; Initial PC:CSR
93+ MV .S1 A4 , A3
94+ MV .S1 B0 , A2
95+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial PC:CSR
9696
9797 ZERO A2
9898 ZERO A3
99- STDW A3:A2 ,* B1 --[ 1 ] ; Initial ILC:RILC
99+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial ILC:RILC
100100 B B3
101- MVKL 0x3 , B0
102- MV B0 , A3
103- MVKL 1 , A2
104- STDW A3:A2 ,* B1 --[ 1 ] ; Initial TSR:stack type
105- MV B1 , A4 ; Save to TCB
101+ MVKL .S2 0x3 , B0
102+ MV .S1 B0 , A3
103+ MVKL .S1 1 , A2
104+ STDW .D2T1 A3:A2 ,* B1 --[ 1 ] ; Initial TSR:stack type
105+ MV .S1 B1 , A4 ; Save to TCB
106106;}
107107 .end
0 commit comments