diff --git a/zilsd.adoc b/zilsd.adoc index ad1c2c0..eed46c4 100644 --- a/zilsd.adoc +++ b/zilsd.adoc @@ -25,10 +25,12 @@ If the C extension is present and F is not present, Zilsd adds the following RV3 - C.LDSP loads stack-pointer relative 64-bit value into registers `rd'` and `rd'+1`. It computes its effective address by adding the zero-extended offset, scaled by 8, to the stack pointer, `x2`. It expands to `ld rd, offset(x2)`. C.LDSP is only valid when _rd_≠x0; the code points with _rd_=x0 are reserved. - C.SDSP stores a stack-pointer relative 64-bit value from registers `rs2'` and `rs2'+1`. It computes an effective address by adding the _zero_-extended offset, scaled by 8, to the stack pointer, `x2`. It expands to `sd rs2, offset(x2)`. - - C.LD loads a 64-bit value into registers `rd'` and `rd'+1`. It expands to - `ld rd', offset(rs1')`. - - C.SD stores a 64-bit value from registers `rs2'` and `rs2'+1`. It expands to - `sd rs2', offset(rs1')`. + - C.LD loads a 64-bit value into registers `rd'` and `rd'+1`. + It computes an effective address by adding the zero-extended offset, scaled by 8, to the base address in register rs1'. + It expands to `ld rd', offset(rs1')`. + - C.SD stores a 64-bit value from registers `rs2'` and `rs2'+1`. + It computes an effective address by adding the zero-extended offset, scaled by 8, to the base address in register rs1'. + It expands to `sd rs2', offset(rs1')`. These instructions are mutually exclusive with Zcf.