1
0
mirror of https://github.com/bitdefender/bddisasm.git synced 2024-11-26 09:28:07 +00:00
bddisasm/bddisasm_test/basic/prefixes_64.asm
Andrei Vlad LUTAS 698ba367a1 Initial commit.
2020-07-21 11:19:18 +03:00

91 lines
4.7 KiB
NASM

bits 64
; Rex, 0x66.
db 0x33, 0xC0 ; xor eax, eax
db 0xF3, 0x33, 0xC0 ; xor eax, eax
db 0xF2, 0x33, 0xC0 ; xor eax, eax
db 0x67, 0x33, 0xC0 ; xor eax, eax
db 0x66, 0x33, 0xC0 ; xor ax, ax
db 0x48, 0x33, 0xC0 ; xor rax, rax
db 0x66, 0x48, 0x33, 0xC0 ; xor rax, rax
db 0x48, 0x66, 0x33, 0xC0 ; xor ax, ax
db 0x48, 0xF3, 0x33, 0xC0 ; xor eax, eax
db 0xF3, 0x48, 0x33, 0xC0 ; xor rax, rax
db 0x48, 0x48, 0x33, 0xC0 ; xor rax, rax
db 0x48, 0x40, 0x33, 0xC0 ; xor eax, eax
db 0x4A, 0x33, 0xC0 ; xor rax, rax
; 0x67.
db 0x31, 0x00 ; xor [rax], eax
db 0x67, 0x31, 0x00 ; xor [eax], eax
db 0x66, 0x67, 0x31, 0x00 ; xor [eax], ax
db 0x48, 0x67, 0x31, 0x00 ; xor [eax], eax
db 0x67, 0x48, 0x31, 0x00 ; xor [eax], rax
db 0xA1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; mov eax, [0x0000000000000000]
db 0x67, 0xA1, 0x00, 0x00, 0x00, 0x00 ; mov eax, [0x00000000]
db 0x66, 0xA1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; mov ax, [0x0000000000000000]
db 0x66, 0x67, 0xA1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; mov ax, [0x00000000]
db 0x48, 0xA1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; mov rax, [0x0000000000000000]
db 0x48, 0x67, 0xA1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; mov rax, [0x00000000]
db 0x66, 0xE3, 0x00 ; jrcxz $+3
db 0x48, 0xE3, 0x00 ; jrcxz $+3
db 0x67, 0xE3, 0x00 ; jecxz $+3
db 0x67, 0xA4 ; movsb
db 0x66, 0xA4 ; movsb
; Rep, repz, repnz.
db 0xF3, 0xAA ; rep stosb
db 0xF2, 0xAA ; repnz stosb
db 0xF3, 0xAE ; repz scasb
db 0xF2, 0xAE ; repnz scasb
db 0xF3, 0xF2, 0xAE ; repnz scasb
db 0xF2, 0xF3, 0xAE ; repz scasb
; Extension prefixes.
db 0x0F, 0x10, 0xC0 ; movups xmm0, xmm0
db 0x66, 0x0F, 0x10, 0xC0 ; movupd xmm0, xmm0
db 0x66, 0x66, 0x0F, 0x10, 0xC0 ; movupd xmm0, xmm0
db 0xF3, 0x0F, 0x10, 0xC0 ; movss xmm0, xmm0
db 0xF3, 0xF3, 0x0F, 0x10, 0xC0 ; movss xmm0, xmm0
db 0xF2, 0x0F, 0x10, 0xC0 ; movsd xmm0, xmm0
db 0xF2, 0xF2, 0x0F, 0x10, 0xC0 ; movsd xmm0, xmm0
db 0x66, 0xF2, 0xF3, 0x0F, 0x10, 0xC0 ; movss xmm0, xmm0
db 0x66, 0xF3, 0xF2, 0x0F, 0x10, 0xC0 ; movsd xmm0, xmm0
db 0xF2, 0xF3, 0x66, 0x0F, 0x10, 0xC0 ; movss xmm0, xmm0
db 0xF2, 0x66, 0xF3, 0x0F, 0x10, 0xC0 ; movss xmm0, xmm0
db 0xF3, 0xF2, 0x66, 0x0F, 0x10, 0xC0 ; movsd xmm0, xmm0
db 0xF3, 0x66, 0xF2, 0x0F, 0x10, 0xC0 ; movsd xmm0, xmm0
; Lock, xacquire, xrelease.
db 0xF3, 0x31, 0x00 ; xor [rax], eax
db 0xF2, 0x31, 0x00 ; xor [rax], eax
db 0xF0, 0x31, 0x00 ; lock xor [rax], eax
db 0xF0, 0x48, 0x31, 0x00 ; lock xor [rax], rax
db 0x48, 0xF0, 0x31, 0x00 ; lock xor [rax], eax
db 0xF2, 0xF0, 0x31, 0x00 ; lock xacquire xor [rax], eax
db 0xF0, 0xF2, 0x31, 0x00 ; lock xacquire xor [rax], eax
db 0xF3, 0xF0, 0x31, 0x00 ; lock xrelease xor [rax], eax
db 0xF0, 0xF3, 0x31, 0x00 ; lock xrelease xor [rax], eax
db 0xF2, 0xF3, 0xF0, 0x31, 0x00 ; lock xrelease xor [rax], eax
db 0xF3, 0xF2, 0xF0, 0x31, 0x00 ; lock xacquire xor [rax], eax
; Segment prefixes.
db 0x26, 0x31, 0x00 ; xor [rax], eax
db 0x2E, 0X31, 0x00 ; xor [rax], eax
db 0x36, 0X31, 0x00 ; xor [rax], eax
db 0x3E, 0X31, 0x00 ; xor [rax], eax
db 0x64, 0X31, 0x00 ; xor fs:[rax], eax
db 0x65, 0x31, 0x00 ; xor gs:[rax], eax
db 0x64, 0x65, 0x31, 0x00 ; xor gs:[rax], eax
db 0x65, 0x64, 0x31, 0x00 ; xor fs:[rax], eax
; Branch hints.
db 0x2E, 0x72, 0x00 ; bhnt jc $+3
db 0x3E, 0x72, 0x00 ; bht jc $+3
; Bound prefix.
db 0xF2, 0xE8, 0x00, 0x00, 0x00, 0x00 ; bnd call $+6