Section courante

A propos

Section administrative du site

Assembleur 80x86

INSERTPS

SSE4.1 Insert Packed Single Precision Floating-Point Value

Syntaxe

INSERTPS dest,source,immediat

Description

Cette instruction permet d'insérer une valeur réel de simple précision d'un opérande source dans l'emplacement d'un registre d'opérande de destination et met des 0 dans les données en dehors du masque de destination.

Algorithme

SI source est un registre ALORS
   COUNT_S ← immediat(7..6)
SINON
   COUNT_S ← 0
FIN SI
COUNT_D ← immediat(5..4)
ZMASK ← immediat(3..0)
EVALUER CAS COUNT_S DE
   CAS 0: TMP ← source(31..0)
   CAS 1: TMP ← source(63..32)
   CAS 2: TMP ← source(95..64)
   CAS 3: TMP ← source(127..96)
FIN EVALUER CAS
EVALUER CAS COUNT_D DE
   CAS 0:
      TMP2(31..0) ← TMP
      TMP2(127..32) ← dest(127..32)
   CAS 1:
      TMP2(63..32) ← TMP
      TMP2(31..0) ← dest(31..0)
      TMP2(127..64) ← dest(127..64)
   CAS 2:
      TMP2(95..64) ← TMP
      TMP2(63..0) ← dest(63..0)
      TMP2(127..96) ← dest(127..96)
   CAS 3:
      TMP2(127..96) ← TMP
      TMP2(95..0) ← dest(95..0)
FIN EVALUER CAS
SI ZMASK(0) = 1 ALORS
   dest(31..0) ← 00000000h
SINON
   dest(31..0) ← TMP2(31..0)
   SI ZMASK(1) = 1 ALORS
      dest(63..32) ← 00000000h
   SINON
      dest(63..32) ← TMP2(63..32)
      SI ZMASK[2] = 1 ALORS
         dest(95..64) ← 00000000h
      SINON
         dest(95..64) ← TMP2(95..64)
         SI ZMASK[3] = 1 ALORS
            dest(127..96) ← 00000000h
         SINON
            dest(127..96) ← TMP2(127..96)
         FIN SI
      FIN SI
   FIN SI
FIN SI

Mnémonique

Instruction Opcode Description
INSERTPS xmm1,xmm2/m32,imm8 66h 0Fh 3Ah 21h /r ib Cette instruction permet d'insérer une valeur réel de simple précision d'un opérande source dans l'emplacement d'un registre d'opérande de destination et met des 0 dans les données en dehors du masque de destination.

Références

Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2A: Instruction Set Reference, A-M, Edition Intel, Mars 2010, Publication No. 253666-034US, page 578 à 580.

Dernière mise à jour : Lundi, le 1 septembre 2014