- - 64- . : Ȼ, -Ż, Ȼ, Ȼ. , -Ż, . , -. MMX-.
pand , Ȼ . , -. -, 64- . . 2.4.
2.4. Ȼ
pand :
.data; mem dw 0505h df 7ff002203080hmem1 dw 0005h df 7ff002000f80h.code.........movq rmmx0, mem;rmmx0=7ff0 0220 3080 0505;mem1 =7ff0 0200 0f80 0005pand rmmx0, mem1;rmmx0=7ff0 0200 0080 0005.........pandn , -Ż . , -. -, 64- . . 2.5. , , . , .
2.5. -Ż
pandn :
.data; mem dw 0505h df 7ff002203080hmem1 dw 0005h df 7ff003000f80h.code.........movq rmmx0, mem;rmmx0=7ff0 0220 3080 0505;mem1 =7ff0 0300 0f80 0005pandn rmmx0, mem1;rmmx0=0000 0100 0f00 0000.........
r , Ȼ . , -. -, 64- . . 2.6.
2.6. Ȼ
:
.data; mem dw 0505hdf 7ff002203080h
mem1 dw 0005h df 7ff003000f80h.code.........movq rmmx0, mem;rmmx0=7ff0 0220 3080 0505;mem1=7ff0 0300 0f80 0005por rmmx0, mem1; rmmx0=7ff0 0320 3f80 0505.........
pxor , Ȼ . , -. -, 64- . . 2.7.
|
|
2.7. Ȼ
r :
.data: mem dw 0505h df 7ff002203080hmem1 dw 0005h df 7ff003000f80h
.code.........movq rmmx0, mem;rmmx0=7ff0 0220 3080 0505;mem1 =7ff0 0300 0f80 0005 r rmmx0, mem1;rmmx0=0000 0120 3f00 0500.........
- . , - . , ( -).
psllw | pslld | psllq , , , . , -. -, 64- . nueu .
psllw | pslld | psllq , _ , , , , . .
psrlw | psrld | psrlq , , , . , -. -, 64- . .
psrlw | psrld | psrlq , _ , , , , . .
.data; mem dw 0ffffh df 0ffffffffffffh mem1 dw 4 df 0.code.........movq rmmx0, mem;rmmx0=ffff ffff ffff ffff;mem1 =0000 0000 0000 0004 psllw rmmx0, mem1;rmmx0=fff0 fff0 fff0 fff0 psrlw rmmx0, 4;rmmx0=0fff 0fff 0fff 0fff.......... . , , .
|
|
psraw | psrad , , . , -. -, 64- . () .
.data; mem dw 0fff0h df 0fff0fff0fff0h mem1 dw 4 df 0.code movq rmmx0, mem;rmmx0=fff0 fff0 fff0 fff0;mem1 =0000 0000 0000 0004 psraw rmmx0, 4;rmmx0=ffff ffff ffff ffff