6
NULL_SV.
NULLRST
INSTRUCTION SEQUENCE TO STORE THE PREVIOUS CONTEXT
FSAVE - (An)
TST.B (An)
BEQ NULL.SV
FMOVEM FPO-FP7, - (An)
FMOVEM FPCR/FPSR/FPIAR, - {An}
MOVE.L
# -
1, - (An)
SAVE MC68881 STATE FRAME
CHECK FOR A NULL FRAME
SKIP PROGRAMMER'S MODEL; SAVE IF NULL
ELSE, SAVE DATA REGISTERS
AND SAVE CONTROL REGISTERS
PLACE NOT-NULL FLAG ON STACK
INSTRUCTION SEQUENCE TO LOAD THE NEXT CONTE)Q"
TST.B [An)
BEQ NULL_RST
ADDQ.L #4,An
FMOVEM (An)+,FPCR/FPSR/FFIAR
FMOVEM (An) + ,FPO-FP7
FRESTORE (An) +
CHECK FOR NULL FRAME OR NOT-NULL F]..~G
SKIP PROGRAMMER'S MODEL; RESTORE IF NULL
ELSE, THROW AWAY THE NOT-NULL FLAG
RESTORE THE CONTROL REGISTERS
RESTORE THE DATA REGISTERS
RESTORE THE FPCP STATE FRAME
Figure 6-7. Full Context Save/Restore Instruction Sequences
FREESCALE
6-40
MC68881/MC68882 USER'S MANUAL