Page 313 - ARM 64 Bit Assembly Language
P. 313

302 Chapter 9

                  9.4.4.1 Syntax

                       <op>   St, St2, <addr>
                       <op>   Dt, Dt2, <addr>
                       <op>   Qt, Qt2, <addr>


                  •  <op> is either ldp or stp.
                  •  <addr> is 7 bits Pre-indexed, Post-indexed, or Signed immediate.
                  •  Signed immediate Xt range: [-0x200, 0x1f8]. Wt range: [-0x100, 0xfc].


                  9.4.4.2 Operations
                   Name     Effect                               Description

                    ldnp    Yt ← Mem[addr]                       Load register pair from memory
                            Yt2 ← Mem[addr+size(Yt)]
                   stnp     Mem[addr] ← Yt                       Store register pair in memory
                            Mem[addr+size(Yt)] ← Yt2


                  9.5 Data movement instructions


                  With the addition of all of the FP registers, there many more possibilities for how data can
                  be moved. There are many more registers, and FP registers may be 32 or 64 bit. This results
                  in several combinations for moving data among all of the registers. The FP instruction set
                  includes instructions for moving data between two FP registers, between FP and integer regis-
                  ters, and between the various system registers.


                  9.5.1 Moving between data registers

                  The most basic move instruction involving FP registers simply moves data between two float-
                  ing point registers, or moves data between an FP register and an Integer register. The instruc-
                  tion is:
                  fmov    Move Between Data Registers.


                  9.5.1.1 Syntax

                       fmov     Sd, Sn
                       fmov     Wd, Sn
                       fmov     Sd, Wn
   308   309   310   311   312   313   314   315   316   317   318