Crossware

Table of Contents        Previous topic       Next topic       

MATHS CO-PROCESSOR REFERENCE->FMOVEM

FMOVEM     Move Multiple Registers

Registers -> Destination
Source -> Registers

Selected registers are transferred to or from consecutive memory starting at <ea>

Assembler Syntax:FMOVEM.X <register list>,<ea>
FMOVEM.X Dn,<ea>
FMOVEM.X <ea>,<register list>
FMOVEM.X <ea>,Dn
<register list> is a list (static mask) of any combination of the eight floating point data registers.

Dn is a dynamic mask in which the least significant 8 bits specify the registers to be transferred.

Size:  Extended

Condition Codes: Not Affected

    Allowable Addressing Modes

<ea>,register listregister list,<ea>

FMOVEM.X(An),list FMOVEM.Xlist,(An)
FMOVEM.X(An)+,list
FMOVEM.Xlist,-(An)
FMOVEM.X(d16,An),listFMOVEM.Xlist,(d16,An)
FMOVEM.X(d8,An,Xn),listFMOVEM.Xlist,(d8,An,Xn)
FMOVEM.X(bd,An,Xn),listFMOVEM.Xlist,(bd,An,Xn)
FMOVEM.X([bd,An,Xn],od),listFMOVEM.Xlist,([bd,An,Xn],od)
FMOVEM.X([bd,An],Xn,od),listFMOVEM.Xlist,([bd,An],Xn,od)
FMOVEM.X(xxx).W,listFMOVEM.Xlist,(xxx).W
FMOVEM.X(xxx).L,listFMOVEM.Xlist,(xxx).L
FMOVEM.X(d16,PC),list
FMOVEM.X(d8,PC,Xn),list
FMOVEM.X(bd,PC,Xn),list
FMOVEM.X([bd,PC,Xn],od),list
FMOVEM.X([bd,PC],Xn,od),list
list example: FP3-FP7/FP1/FP0

Allowable Addressing Modes
    
<ea>,DnDn,<ea>
    
FMOVEM.X(An),Dn  FMOVEM.XDn,(An)
FMOVEM.X(An)+,Dn
FMOVEM.XDn,-(An)
FMOVEM.X(d16,An),DnFMOVEM.XDn,(d16,An)
FMOVEM.X(d8,An,Xn),DnFMOVEM.XDn,(d8,An,Xn)
FMOVEM.X(bd,An,Xn),DnFMOVEM.XDn,(bd,An,Xn)
FMOVEM.X([bd,An,Xn],od),DnFMOVEM.XDn,([bd,An,Xn],od)
FMOVEM.X([bd,An],Xn,od),DnFMOVEM.XDn,([bd,An],Xn,od)
FMOVEM.X(xxx).W,DnFMOVEM.XDn,(xxx).W
FMOVEM.X(xxx).L,DnFMOVEM.XDn,(xxx).L
FMOVEM.X(d16,PC),Dn
FMOVEM.X(d8,PC,Xn),Dn
FMOVEM.X(bd,PC,Xn),Dn
FMOVEM.X([bd,PC,Xn],od),Dn
FMOVEM.X([bd,PC],Xn,od),Dn

    Dn bits  7   6   5   4   3   2   1   0
    -(An)   FP7 FP6 FP5 FP4 FP3 FP2 FP1 FP0
    others  FP0 FP1 FP2 FP3 FP4 FP5 FP6 FP7


FMOVEM     Move Multiple Control Registers

Registers -> Destination
Source -> Registers

Selected control registers are transferred to or from consecutive memory starting at <ea>

Assembler Syntax: FMOVEM.L <register list>,<ea>   FMOVEM.L <ea>,<register list>

<register list> is a list (static mask) of any combination of FPCR, FPSR or FPIAR

Size:  Long

Condition Codes: Not Affected

Allowable Addressing Modes
    
<ea>,listlist,<ea>
    
FMOVEM.LDn,list  (Note 1) FMOVEM.LDn,list  (Note 1)
FMOVEM.LAn,list  (Note 2) FMOVEM.Llist,An  (Note 2)
FMOVEM.L(An),list FMOVEM.Llist,(An)
FMOVEM.L(An)+,listFMOVEM.Llist,(An)+
FMOVEM.L-(An),listFMOVEM.Llist,-(An)
FMOVEM.L(d16,An),listFMOVEM.Llist,(d16,An)
FMOVEM.L(d8,An,Xn),listFMOVEM.Llist,(d8,An,Xn)
FMOVEM.L(bd,An,Xn),listFMOVEM.Llist,(bd,An,Xn)
FMOVEM.L([bd,An,Xn],od),listFMOVEM.Llist,([bd,An,Xn],od)
FMOVEM.L([bd,An],Xn,od),listFMOVEM.Llist,([bd,An],Xn,od)
FMOVEM.L(xxx).W,listFMOVEM.Llist,(xxx).W
FMOVEM.L(xxx).L,listFMOVEM.Llist,(xxx).L
FMOVEM.L#(data),list
FMOVEM.L(d16,PC),list
FMOVEM.L(d8,PC,Xn),list
FMOVEM.L(bd,PC,Xn),list
FMOVEM.L([bd,PC,Xn],od),list
FMOVEM.L([bd,PC],Xn,od),list
Note 1:  Only if a single FP control register selecter
Note 2:  Only if the FPIAR is the single register selected