SPRUII0F May 2019 – June 2024 TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S
Set or Clear Selected Floating-Point Status Flags
FLAG | 8-bit mask indicating which floating-point status flags to change. |
VALUE | 8-bit mask indicating the flag value: 0 or 1. |
LSW: FFFF FFFF VVVV VVVV
MSW: 0111 1001 1100 0000
The MSETFLG instruction is used to set or clear selected floating-point status flags in the MSTF register. The FLAG field is an 11-bit value that indicates which flags are changed. That is, if a FLAG bit is set to 1, that flag is changed; all other flags are not modified. The bit mapping of the FLAG field is:
9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|
RNDF32 | Reserved | TF | Reserved | ZF | NF | LUF | LVF |
The VALUE field indicates the value the flag can be set to: 0 or 1.
This instruction modifies the following flags in the MSTF register:
Flag | TF | ZF | NF | LUF | LVF |
---|---|---|---|---|---|
Modified | Yes | Yes | Yes | Yes | Yes |
Any flag can be modified by this instruction. The MEALLOW and RPC fields cannot be modified with this instruction.
This is a single-cycle instruction.
To make it easier and legible, the assembler accepts a FLAG=VALUE syntax for the MSTFLG operation as:
MSETFLG RNDF32=0, TF=0, NF=1; FLAG = 11000100; VALUE = 00XXX1XX;