1 <!-- This defines DRAFT instructions described in SV -->
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 -->
6 # Store Byte with Update
16 MEM(ea, 1) <- (RS)[XLEN-8:XLEN-1]
21 Let the effective address (EA) be the sum (RA)+ D.
22 (RS)[56:63] are stored into the byte in storage addressed
25 EA is placed into register RA.
27 If RA=0, the instruction form is invalid.
29 Special Registers Altered:
33 # Store Byte with Update Indexed
43 MEM(ea, 1) <- (RS)[XLEN-8:XLEN-1]
48 Let the effective address (EA) be the sum (RA)+ (RB).
49 (RS)[56:63] are stored into the byte in storage addressed
52 EA is placed into register RA.
54 If RA=0, the instruction form is invalid.
56 Special Registers Altered:
60 # Store Halfword with Update
70 MEM(ea, 2) <- (RS)[XLEN-16:XLEN-1]
75 Let the effective address (EA) be the sum (RA|0)+ D.
76 (RS)[48:63] are stored into the halfword in storage
79 Special Registers Altered:
83 # Store Halfword with Update Indexed
93 MEM(ea, 2) <- (RS)[XLEN-16:XLEN-1]
98 Let the effective address (EA) be the sum (RA)+ (RB).
99 (RS)[56:63] are stored into the byte in storage addressed
102 EA is placed into register RA.
104 If RA=0, the instruction form is invalid
106 Special Registers Altered:
110 # Store Word with Update
120 MEM(ea, 4) <- (RS)[XLEN-32:XLEN-1]
125 Let the effective address (EA) be the sum (RA)+ D.
126 (RS)[32:63] are stored into the word in storage addressed
129 EA is placed into register RA.
131 If RA=0, the instruction form is invalid.
133 Special Registers Altered:
137 # Store Word with Update Indexed
147 MEM(ea, 4) <- (RS)[XLEN-32:XLEN-1]
152 Let the effective address (EA) be the sum (RA)+ (RB).
153 (RS)[32:63] are stored into the word in storage addressed
156 EA is placed into register RA.
158 If RA=0, the instruction form is invalid.
160 Special Registers Altered:
164 # Store Doubleword with Update
172 EA <- (RA) + EXTS(DS || 0b00)
179 Let the effective address (EA) be the sum
180 (RA)+ (DS||0b00). (RS) is stored into the doubleword in
181 storage addressed by EA.
183 EA is placed into register RA.
185 If RA=0, the instruction form is invalid.
187 Special Registers Altered:
191 # Store Doubleword with Update Indexed
206 Let the effective address (EA) be the sum (RA)+ (RB).
207 (RS) is stored into the doubleword in storage
210 EA is placed into register RA.
212 If RA=0, the instruction form is invalid.
214 Special Registers Altered: