mirror of
https://github.com/bitdefender/bddisasm.git
synced 2024-11-29 02:48:07 +00:00
9ba1e6a2f9
Multiple minor fixes to existing instructions. Moved x86 decoding tests in a separate directory & improved the test script.
67 lines
3.9 KiB
NASM
67 lines
3.9 KiB
NASM
bits 64
|
|
|
|
; EVEX.b (broadcast) enabled for an instruction which does not support broadcast (mod: mem)
|
|
db 0x62, 0xf1, 0x7d, 0x18, 0xc4, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; EVEX.b (ER/SAE) enabled for an instruction which does not support ER/SAE (mod: reg)
|
|
db 0x62, 0xf1, 0x7d, 0x18, 0xc4, 0xd2, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; EVEX.aaa != 0 for an instruction which does not support masking
|
|
db 0x62, 0xf1, 0x7d, 0x0b, 0xc4, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; EVEX.aaa != 0 for an instruction which does not support masking
|
|
db 0x62, 0xf1, 0x7d, 0x0b, 0xc4, 0xd2, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; EVEX.z enabled for an instruction which does not support zeroing
|
|
db 0x62, 0xf1, 0x7d, 0x88, 0xc4, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; EVEX.z enabled for an instruction which does not support zeroing
|
|
db 0x62, 0xf1, 0x7d, 0x88, 0xc4, 0xd2, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; EVEX.aaa == 0 for an instruction which has mandatory masking
|
|
db 0x62, 0xf2, 0xfd, 0x08, 0x92, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; EVEX.aaa == 0 for an instruction which has mandatory masking
|
|
db 0x62, 0xf2, 0xfd, 0x28, 0x92, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; EVEX.aaa == 0 for an instruction which has mandatory masking
|
|
db 0x62, 0xf2, 0xfd, 0x48, 0x92, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; EVEX.b (broadcast) enabled for an instruction which does not support broadcast (mod: mem)
|
|
db 0x62, 0xf2, 0xfd, 0x19, 0x92, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; EVEX.b (broadcast) enabled for an instruction which does not support broadcast (mod: mem)
|
|
db 0x62, 0xf2, 0xfd, 0x39, 0x92, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; EVEX.b (broadcast) enabled for an instruction which does not support broadcast (mod: mem)
|
|
db 0x62, 0xf2, 0xfd, 0x59, 0x92, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; EVEX.z enabled for an instruction which does not support zeroing
|
|
db 0x62, 0xf2, 0xfd, 0x89, 0x92, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; EVEX.z enabled for an instruction which does not support zeroing
|
|
db 0x62, 0xf2, 0xfd, 0xa9, 0x92, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; EVEX.z enabled for an instruction which does not support zeroing
|
|
db 0x62, 0xf2, 0xfd, 0xc9, 0x92, 0x52, 0x40, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; Destination reg equal to the first source operand for instruction which must have dst != sources
|
|
db 0x62, 0xf6, 0x7f, 0x49, 0x56, 0xdb, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; Destination reg equal to the second source operand for instruction which must have dst != sources
|
|
db 0x62, 0xf6, 0x67, 0x49, 0x56, 0xdf, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; EVEX.VVVV != 0 for instruction that does not use EVEX.VVVV
|
|
db 0x62, 0xf1, 0x64, 0xa9, 0x11, 0xdf, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; EVEX.V' set for an instruction which does not use it
|
|
db 0x62, 0xf1, 0x7c, 0xa1, 0x11, 0xdf, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; EVEX.z set for memory operand
|
|
db 0x62, 0xf1, 0x7c, 0xa9, 0x11, 0x1f, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; EVEX.z set but EVEX.aaa == 0
|
|
db 0x62, 0xf3, 0x7d, 0xa8, 0x19, 0xc9, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
|
|
|
|
; EVEX.z set but EVEX.aaa == 0
|
|
db 0x62, 0xf3, 0xfd, 0xa8, 0x0b, 0xc9, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 |