diff --git a/src/asm-manual.adoc b/src/asm-manual.adoc index 558f7a2..dd1ffce 100644 --- a/src/asm-manual.adoc +++ b/src/asm-manual.adoc @@ -739,15 +739,15 @@ This generates the following instructions and relocations as seen by `objdump` The following pseudoinstructions are available to load from and store to global objects: -* `l{b|h|w|d} , `: load byte, half word, word or double word from global{empty} +* `l{b|h|w|d} , `: load byte, half word, word or double word from global{empty} footnote:fn-1[the first operand is implicitly used as a scratch register.] -* `l{bu|hu|wu} , `: load unsigned byte, half word, or word from global{empty} +* `l{bu|hu|wu} , `: load unsigned byte, half word, or word from global{empty} footnote:fn-1[] -* `s{b|h|w|d} , , `: store byte, half word, word or double word to global{empty} +* `s{b|h|w|d} , , `: store byte, half word, word or double word to global{empty} footnote:fn-2[the last operand specifies the scratch register to be used.] -* `fl{h|w|d|q} , , `: load half, float, double or quad precision from global{empty} +* `fl{h|w|d|q} , , `: load half, float, double or quad precision from global{empty} footnote:fn-2[] -* `fs{h|w|d|q} , , `: store half, float, double or quad precision to global{empty} +* `fs{h|w|d|q} , , `: store half, float, double or quad precision to global{empty} footnote:fn-2[] The following example shows how these pseudoinstructions are used: @@ -784,6 +784,10 @@ as seen by `objdump`: 1c: R_RISCV_PCREL_LO12_S .L0 ---- +On RV32, `ld , ` and `sd , , ` can be used to +generate a sequence including the `ld` and `sd` instructions in Zilsd -- in +these cases, `` denotes the even GPR in an even-odd GPR pair. + == Constants The following example shows loading a constant using the `%hi` and