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]
100 Special Registers Altered:
104 # Store Word with Update
114 MEM(ea, 4) <- (RS)[XLEN-32:XLEN-1]
117 Special Registers Altered:
121 # Store Word with Update Indexed
131 MEM(ea, 4) <- (RS)[XLEN-32:XLEN-1]
134 Special Registers Altered:
138 # Store Doubleword with Update
146 EA <- (RA) + EXTS(DS || 0b00)
151 Special Registers Altered:
155 # Store Doubleword with Update Indexed
168 Special Registers Altered: