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]
73 Special Registers Altered:
77 # Store Halfword with Update Indexed
87 MEM(ea, 2) <- (RS)[XLEN-16:XLEN-1]
90 Special Registers Altered:
94 # Store Word with Update
104 MEM(ea, 4) <- (RS)[XLEN-32:XLEN-1]
107 Special Registers Altered:
111 # Store Word with Update Indexed
121 MEM(ea, 4) <- (RS)[XLEN-32:XLEN-1]
124 Special Registers Altered:
128 # Store Doubleword with Update
136 EA <- (RA) + EXTS(DS || 0b00)
141 Special Registers Altered:
145 # Store Doubleword with Update Indexed
158 Special Registers Altered: