BOUND - Array Index Bound Check
Usage: BOUND src,limit
Modifie les Flags suivant: Aucun
Vérifie que la valeur signée d'un index est contenu entre les limites supérieures et inférieures d'un tableau. L'opérande destination peut être n'importe lequel des registres 16 bits contenant l'index à être vérifié. L'opérand source doit donc être un opérande mémoire 32 bit dans lequel le mot de poids fort et faible contiennent respectivement la valeur de départ et d'arrivée. ( Avec un processeur 386 ou + , l'opérande de destination peut être un registre 32 bit, et dans ce cas, l'opérande source doit être un opérande 64 bit construit avec deux limites de 32 bit ). Si l'opérande source est plus petite que la première limite, ou plus grande que la plus grande limite, alors une interruption 5 est déclenchée. BOUND reg16, mem32 BOUND reg32, mem64 (pour 386 ou + ) exemple : bound di , base-4
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg16,mem32 | nj=13 | nj=10 | 7 | 2 |
reg32,mem64 | nj=13 | nj=10 | 7 | 2 |
nj = no jump taken |
BSF - Bit Scan Forward (386+)
Usage: BSF dest,src
Modifie le Flag suivant: ZF
Scanne l'ensemble d'une opérande pour trouver le premier bit mis à un. Si un tel bit est trouvé, le Flag ZF est posé et l'opérande de destination est chargé avec l'index du bit du premier bit posé rencontré. Si aucun bit posé n'est trouvé, le Flag ZF est éffacé. BSF scanne du bit 0 jusqu'au bit significatif.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg,reg | 10+3n | 6-42 | 3 | |
reg,mem | 10+3n | 7-43 | 3-7 | |
reg32,reg32 | 10+3n | 6-42 | 3-7 | |
reg32,mem32 | 10+3n | 7-43 | 3-7 |
BSR - Bit Scan Reverse (386+)
Usage: BSR dest,src
Modifie le Flag suivant: ZF
Agit exactement comme BSF, si ce n'est qu'une toute petite différence intervient. BSR scanne du bit le plus significatif jusqu'au bit 0.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg,reg | 10+3n | 6-103 | 3 | |
reg,mem | 10+3n | 7-104 | 3-7 | |
reg32,reg32 | 10+3n | 6-103 | 3-7 | |
reg32,mem32 | 10+3n | 7-104 | 3-7 |
BSWAP - Byte Swap (486+)
Usage: BSWAP reg32
Modifie les Flags suivants: aucun(e)
Change l'ordre des bytes d'un registre 32 bit du poids fort au poids faible et vice-versa. Le résultat dans le registre de destination est inconnu si l'opérande est un registre 16 bit.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg32 | 1 | 2 |
BT - Bit Test (386+)
Usage: BT dest,src
Modifie le Flag suivant: CF
Le bit de destination indexé par la valeur de la source est copié dans le Flag CF " CARRY FLAG".
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg16,immed8 | 3 | 3 | 4-8 | |
mem16,immed8 | 6 | 6 | 4-8 | |
reg16,reg16 | 3 | 3 | 3-7 | |
mem16,reg16 | 12 | 12 | 3-7 |
BTC - Bit Test with Compliment (386+)
Usage: BTC dest,src
Modifie les Flags suivants: CF
Le bit de destination indexé par la valeur de la source est copié après avoir été complémenté.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg16,immed8 | 6 | 6 | 4-8 | |
mem16,immed8 | 8 | 8 | 4-8 | |
reg16,reg16 | 6 | 6 | 3-7 | |
mem16,reg16 | 13 | 13 | 3-7 |
BTR - Bit Test with Reset (386+)
Usage: BTR dest,src
Modifie les Flags suivants: CF
Le bit de destination indexé par la valeur de la source est copié dans le Flag CARRY FLAG ( CF ) et ensuite éffacé dans la destination.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg16,immed8 | 6 | 6 | 4-8 | |
mem16,immed8 | 8 | 8 | 4-8 | |
reg16,reg16 | 6 | 6 | 3-7 | |
mem16,reg16 | 13 | 13 | 3-7 |
BTS - Bit Test and Set (386+)
Usage: BTS dest,src
Modifie les Flags suivants: CF
Le bit de destination indexé par la valeur de la source est copié dans le Flag CARRY FLAG ( CF ) et ensuite posé dans la destination.
Horloges | ||||
---|---|---|---|---|
opérandes | 286 | 386 | 486 | Taille en Bytes |
reg16,immed8 | 6 | 6 | 4-8 | |
mem16,immed8 | 8 | 8 | 4-8 | |
reg16,reg16 | 6 | 6 | 3-7 | |
mem16,reg16 | 13 | 13 | 3-7 |