You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Load and store instructions transfer a value between the registers and memory. Loads are encoded in the I-type format and stores are S-type. The effective byte address is obtained by adding register rs1 to the sign-extended 12-bit offset. Loads copy a value from memory to register rd. Stores copy the value in register rs2 to memory.
We reserve a whole 16 bit at the end (0xFFFF), instead of just 12 bits (0x0FFF), though. I don't know why we reserve an extra 4 bits. Might be just for simplicity?
Whoever takes this issue: please verify the reasoning above, and mention it somewhere discoverable eg in a doc comment or so. (Or if the reasoning above is wrong, obviously you should correct it, and put the real reason in the doc comment. ;)
For example, those two definition are different:
ceno/ceno_rt/memory.x
Line 3 in cec7b82
ceno/ceno_emul/src/platform.rs
Line 23 in cec7b82
And other differences following recent changes in Platform.
(cc @lightsing)
The text was updated successfully, but these errors were encountered: