وو

وحید آنلاین . آرشیو وبلاگ وحیدمی دات آی آر . شرکت بیان. vahidmy.blog.ir

وو

وحید آنلاین . آرشیو وبلاگ وحیدمی دات آی آر . شرکت بیان. vahidmy.blog.ir

STMXCSR

STMXCSR 

Usage: STMXCSR  dest                               Modifies flags: None

Stores the contents of the MXCSR control and status register to the 'dest' operand. The 'dest' operand is a 32-bit memory location. The reserved bits in the MXCSR register are stored as 0s.

Store Streaming SIMD Extension  Control/Status


STMXCSR m32                   ; 0F AE /3        [KATMAI,SSE]


STMXCSR stores the contents of the MXCSR control/status register to the specified memory location. MXCSR is used to enable masked/unmasked exception handling, to set rounding modes, to set flush-to-zero mode, and to view exception status flags. The reserved bits in the MXCSR register are stored as 0s.


For details of the MXCSR register, see the Intel processor docs.


See also LDMXCSR.


EXAMPLE:

stmxcsr label

 

STI

STI 

Usage:  STI                                           Modifies flags: IF

Sets the Interrupt Flag to 1, which enables recognition of all hardware interrupts. If an interrupt is generated by a hardware device, an End of Interrupt (EOI) must also be issued to enable other hardware interrupts of the same or lower priority.

Set Flags


STC                           ; F9                   [8086]

STD                           ; FD                   [8086]

STI                           ; FB                   [8086]


These instructions set various flags. STC sets the carry flag; STD sets the direction flag; and STI sets the interrupt flag (thus enabling interrupts).


To clear the carry, direction, or interrupt flags, use the CLC, CLD and CLI instruction. To invert the carry flag, use CMC.


Example:

sti


STI

STD

STD 

Usage:  STD                                           Modifies flags: DF

Sets the Direction Flag to 1 causing string instructions to auto-decrement SI and DI instead of auto-increment.

Set Flags


STC                           ; F9                   [8086]

STD                           ; FD                   [8086]

STI                           ; FB                   [8086]


These instructions set various flags. STC sets the carry flag; STD sets the direction flag; and STI sets the interrupt flag (thus enabling interrupts).


To clear the carry, direction, or interrupt flags, use the CLC, CLD and CLI instructions. To invert the carry flag, use CMC.


Example:

        std

            Do

                mov al bl | and al 0F | add al '0'

                On al > '9', add al 7

                stosb | shr ebx 4

            Do_Loop

        cld  

STD

STC

STC 

Usage:  STC                                          Modifies flags: CF

Sets the Carry Flag to 1.

Set Flags


STC                           ; F9                   [8086]

STD                           ; FD                   [8086]

STI                           ; FB                   [8086]


These instructions set various flags. STC sets the carry flag; STD sets the direction flag; and STI sets the interrupt flag (thus enabling interrupts).


To clear the carry, direction, or interrupt flags, use the CLC, CLD and CLI instructions. To invert the carry flag, use CMC.


Example:

stc

 

STC

SQRTSS

SQRTSS 

Usage: SQRTSS  dest,src                                          Modifies flags: None

Computes the square root of the low single-precision floating-point value in the 'src' operand and stores the single-precision floating-point result in the 'dest' operand.

Scalar Single-Precision FP Square Root



SQRTSS xmm1,xmm2/m128         ; F3 0F 51 /r     [KATMAI,SSE]


SQRTSS calculates the square root of the low-order single-precision FP value from the source operand, and stores the single-precision result in the destination register.


The 'src' operand can be an XMM register or a 32-bit memory location. The 'dest'  operand is an XMM register. The three high-order doublewords of the 'dest'  operand remain unchanged.


EXAMPLE:

sqrtss xmm1 Label


SQRTSD

SQRTSD 

Usage: SQRTSD  dest,src                                          Modifies flags: None

Computes the square root of the low double-precision floating-point value in the 'src' and stores the double-precision floating-point result in the 'dest' operand. 

Scalar Double-Precision FP Square Root



SQRTSD xmm1,xmm2/m128         ; F2 0F 51 /r     [WILLAMETTE,SSE2]


SQRTSD calculates the square root of the low-order double-precision FP value from the source operand, and stores the double-precision result in the destination register.


The 'src' operand can be an XMM register or a 64-bit memory location. The 'dest'  operand is an XMM register. The high quadword of the 'dest' operand remains unchanged.


EXAMPLE:

sqrtsd xmm1 Label


SQRTPS

SQRTPS 

Usage: SQRTPs  dest,src                                          Modifies flags: None

Performs an SIMD computation of the square roots of the four packed single-precision floating-point values in the 'src' operand stores the packed single-precision floating-point results in the 'dest' operand. 

Packed Single-Precision FP Square Root



SQRTPS xmm1,xmm2/m128         ; 0F 51 /r        [KATMAI,SSE]


SQRTPS calculates the square root of the packed single-precision FP value from the source operand, and stores the single-precision results in the destination register.


The 'src' operand can be an XMM register or a 128- bit memory location. The 'dest'  operand is an XMM register.


EXAMPLE:

sqrtps xmm1 Label


SQRTPD

SQRTPD 

Usage: SQRTPD  dest,src                                          Modifies flags: None

Performs an SIMD computation of the square roots of the two packed double-precision floating-point values in the 'src' operand then stores the packed double-precision floating-point results in the 'dest' operand.

Packed Double-Precision FP Square Root



SQRTPD xmm1,xmm2/m128         ; 66 0F 51 /r     [WILLAMETTE,SSE2]


SQRTPD calculates the square root of the packed double-precision FP value from the source operand, and stores the double-precision results in the destination register.xmm1 Label


The 'src' operand can be an XMM register or a 128- bit memory location. The 'dest'  operand is an XMM register. 


EXAMPLE:

sqrtpd xmm1 Label

SQRTPD

SQRTPD 

Usage: SQRTPD  dest,src                                          Modifies flags: None

Performs an SIMD computation of the square roots of the two packed double-precision floating-point values in the 'src' operand then stores the packed double-precision floating-point results in the 'dest' operand.

Packed Double-Precision FP Square Root



SQRTPD xmm1,xmm2/m128         ; 66 0F 51 /r     [WILLAMETTE,SSE2]


SQRTPD calculates the square root of the packed double-precision FP value from the source operand, and stores the double-precision results in the destination register.xmm1 Label


The 'src' operand can be an XMM register or a 128- bit memory location. The 'dest'  operand is an XMM register. 


EXAMPLE:

sqrtpd xmm1 Label

SMSW

SMSW 

Usage:  SMSW    dest                              Modifies flags: none

Store Machine Status Word (MSW) into 'dest'.

Store Machine Status Word


SMSW r/m16                    ; 0F 01 /4             [286,PRIV]


SMSW stores the bottom half of the CR0 control register (or the Machine Status Word, on 286 processors) into the destination operand. See also LMSW.


For 32-bit code, this would use the low 16-bits of the specified register (or a 16bit memory location), without needing an operand size override byte.


Example:

smsw Label