Added English Language description for stwup instruction
[openpower-isa.git] / openpower / isa / pifixedstore.mdwn
1 <!-- This defines DRAFT instructions described in SV -->
2
3 <!-- This defines instructions that store from a register to RAM -->
4 <!-- Effective Address is always RA, and the usual EA is stored late in RA -->
5
6 # Store Byte with Update
7
8 D-Form
9
10 * stbup RS,D(RA)
11
12 Pseudo-code:
13
14 EA <- (RA) + EXTS(D)
15 ea <- (RA)
16 MEM(ea, 1) <- (RS)[XLEN-8:XLEN-1]
17 RA <- EA
18
19 Description:
20
21 Let the effective address (EA) be the sum (RA)+ D.
22 (RS)[56:63] are stored into the byte in storage addressed
23 by EA.
24
25 EA is placed into register RA.
26
27 If RA=0, the instruction form is invalid.
28
29 Special Registers Altered:
30
31 None
32
33 # Store Byte with Update Indexed
34
35 X-Form
36
37 * stbupx RS,RA,RB
38
39 Pseudo-code:
40
41 EA <- (RA) + (RB)
42 ea <- (RA)
43 MEM(ea, 1) <- (RS)[XLEN-8:XLEN-1]
44 RA <- EA
45
46 Description:
47
48 Let the effective address (EA) be the sum (RA)+ (RB).
49 (RS)[56:63] are stored into the byte in storage addressed
50 by EA.
51
52 EA is placed into register RA.
53
54 If RA=0, the instruction form is invalid.
55
56 Special Registers Altered:
57
58 None
59
60 # Store Halfword with Update
61
62 D-Form
63
64 * sthup RS,D(RA)
65
66 Pseudo-code:
67
68 EA <- (RA) + EXTS(D)
69 ea <- (RA)
70 MEM(ea, 2) <- (RS)[XLEN-16:XLEN-1]
71 RA <- EA
72
73 Description:
74
75 Let the effective address (EA) be the sum (RA|0)+ D.
76 (RS)[48:63] are stored into the halfword in storage
77 addressed by EA.
78
79 Special Registers Altered:
80
81 None
82
83 # Store Halfword with Update Indexed
84
85 X-Form
86
87 * sthupx RS,RA,RB
88
89 Pseudo-code:
90
91 EA <- (RA) + (RB)
92 ea <- (RA)
93 MEM(ea, 2) <- (RS)[XLEN-16:XLEN-1]
94 RA <- EA
95
96 Description:
97
98 Let the effective address (EA) be the sum (RA)+ (RB).
99 (RS)[56:63] are stored into the byte in storage addressed
100 by EA.
101
102 EA is placed into register RA.
103
104 If RA=0, the instruction form is invalid
105
106 Special Registers Altered:
107
108 None
109
110 # Store Word with Update
111
112 D-Form
113
114 * stwup RS,D(RA)
115
116 Pseudo-code:
117
118 EA <- (RA) + EXTS(D)
119 ea <- (RA)
120 MEM(ea, 4) <- (RS)[XLEN-32:XLEN-1]
121 RA <- EA
122
123 Description:
124
125 Let the effective address (EA) be the sum (RA)+ D.
126 (RS)[32:63] are stored into the word in storage addressed
127 by EA.
128
129 EA is placed into register RA.
130
131 If RA=0, the instruction form is invalid.
132
133 Special Registers Altered:
134
135 None
136
137 # Store Word with Update Indexed
138
139 X-Form
140
141 * stwupx RS,RA,RB
142
143 Pseudo-code:
144
145 EA <- (RA) + (RB)
146 ea <- (RA)
147 MEM(ea, 4) <- (RS)[XLEN-32:XLEN-1]
148 RA <- EA
149
150 Special Registers Altered:
151
152 None
153
154 # Store Doubleword with Update
155
156 DS-Form
157
158 * stdup RS,DS(RA)
159
160 Pseudo-code:
161
162 EA <- (RA) + EXTS(DS || 0b00)
163 ea <- (RA)
164 MEM(ea, 8) <- (RS)
165 RA <- EA
166
167 Special Registers Altered:
168
169 None
170
171 # Store Doubleword with Update Indexed
172
173 X-Form
174
175 * stdupx RS,RA,RB
176
177 Pseudo-code:
178
179 EA <- (RA) + (RB)
180 ea <- (RA)
181 MEM(ea, 8) <- (RS)
182 RA <- EA
183
184 Special Registers Altered:
185
186 None
187