1 <!-- This defines instructions described in PowerISA Version 3.0 B Book 1 -->
3 <!-- This defines instructions that store from a register to RAM -->
5 <!-- Note that these pages also define equivalent load instructions, -->
6 <!-- these are described in fixedload.mdwn -->
8 <!-- Section 3.3.3 Fixed-Point Store Instructions pages 54 - 57 -->
9 <!-- Section 3.3.3.1 64-bit Fixed-Point Store Instructions page 57 -->
10 <!-- Section 3.3.4 Fixed Point Load and Store Quadword Instructions pages 58 - 59 -->
11 <!-- Section 3.3.5 Fixed-Point Load and Store with Byte Reversal Instructions page 60 -->
12 <!-- Section 3.3.5.1 64-Bit Load and Store with Byte Reversal Instructions page 61 -->
13 <!-- Section 3.3.6 Fixed-Point Load and Store Multiple Instructions page 62 -->
15 <!-- Section 3.3.3 Fixed-Point Store Instructions pages 54 - 57 -->
27 MEM(EA, 1) <- (RS)[XLEN-8:XLEN-1]
31 Let the effective address (EA) be the sum (RA|0)+ D.
32 RS[56:63] are stored into the byte in storage addressed
35 Special Registers Altered:
49 MEM(EA, 1) <- (RS)[XLEN-8:XLEN-1]
53 Let the effective address (EA) be the sum
54 (RA|0)+ (RB). RS [56:63] are stored into the byte in stor-
57 Special Registers Altered:
61 # Store Byte with Update
70 MEM(EA, 1) <- (RS)[XLEN-8:XLEN-1]
73 Special Registers Altered:
77 # Store Byte with Update Indexed
86 MEM(EA, 1) <- (RS)[XLEN-8:XLEN-1]
89 Special Registers Altered:
103 MEM(EA, 2) <- (RS)[XLEN-16:XLEN-1]
105 Special Registers Altered:
109 # Store Halfword Indexed
119 MEM(EA, 2) <- (RS)[XLEN-16:XLEN-1]
121 Special Registers Altered:
125 # Store Halfword with Update
134 MEM(EA, 2) <- (RS)[XLEN-16:XLEN-1]
137 Special Registers Altered:
141 # Store Halfword with Update Indexed
150 MEM(EA, 2) <- (RS)[XLEN-16:XLEN-1]
153 Special Registers Altered:
167 MEM(EA, 4) <- (RS)[XLEN-32:XLEN-1]
169 Special Registers Altered:
183 MEM(EA, 4) <- (RS)[XLEN-32:XLEN-1]
185 Special Registers Altered:
189 # Store Word with Update
198 MEM(EA, 4) <- (RS)[XLEN-32:XLEN-1]
201 Special Registers Altered:
205 # Store Word with Update Indexed
214 MEM(EA, 4) <- (RS)[XLEN-32:XLEN-1]
217 Special Registers Altered:
223 <!-- Section 3.3.3.1 64-bit Fixed-Point Store Instructions page 57 -->
234 EA <- b + EXTS(DS || 0b00)
237 Special Registers Altered:
241 # Store Doubleword Indexed
253 Special Registers Altered:
257 # Store Doubleword with Update
265 EA <- (RA) + EXTS(DS || 0b00)
269 Special Registers Altered:
273 # Store Doubleword with Update Indexed
285 Special Registers Altered:
290 <!-- Section 3.3.4 Fixed Point Load and Store Quadword Instructions pages 58 - 59 -->
292 <!-- For stq, the contents of an even-odd pair of GPRs is stored into the quadword -->
293 <!-- in storage addressed by EA as follows. In Big-Endian mode, the even-numbered -->
294 <!-- GPR is stored into the doubleword in storage addressed by EA and the -->
295 <!-- odd-numbered GPR is stored into the doubleword addressed by EA+8. In -->
296 <!-- Little-Endian mode, the even-numbered GPR is stored byte-reversed into the -->
297 <!-- doubleword in storage addressed by EA+8 and the odd-numbered GPR is stored -->
298 <!-- byte-reversed into the doubleword addressed by EA. -->
310 EA <- b + EXTS(DS || 0b00)
313 Special Registers Altered:
317 <!-- Section 3.3.5 Fixed-Point Load and Store with Byte Reversal Instructions page 60 -->
319 # Store Halfword Byte-Reverse Indexed
329 MEM(EA, 2) <- (RS) [56:63] || (RS)[48:55]
331 Special Registers Altered:
335 # Store Word Byte-Reverse Indexed
345 MEM(EA, 4) <- ((RS)[56:63] || (RS)[48:55] || (RS)[40:47]
348 Special Registers Altered:
352 <!-- Section 3.3.5.1 64-Bit Load and Store with Byte Reversal Instructions page 61 -->
354 # Store Doubleword Byte-Reverse Indexed
364 MEM(EA, 8) <- ((RS) [56:63] || (RS)[48:55]
365 || (RS)[40:47] || (RS)[32:39]
366 || (RS)[24:31] || (RS)[16:23]
367 || (RS)[8:15] || (RS)[0:7])
369 Special Registers Altered:
374 <!-- Section 3.3.6 Fixed-Point Load and Store Multiple Instructions page 62 -->
376 # Store Multiple Word
388 MEM(EA, 4) <- GPR(r)[32:63]
392 Special Registers Altered:
396 <!-- Checked March 2021 -->