summaryrefslogtreecommitdiff
path: root/instructions.txt
diff options
context:
space:
mode:
Diffstat (limited to 'instructions.txt')
-rw-r--r--instructions.txt136
1 files changed, 0 insertions, 136 deletions
diff --git a/instructions.txt b/instructions.txt
deleted file mode 100644
index 4758835..0000000
--- a/instructions.txt
+++ /dev/null
@@ -1,136 +0,0 @@
-Linux syscall calling convention:
-rax - syscall number
-rdi, rsi, rdx, r10, r8, r9 - arguments
-return value placed in rax
-
-Instruction set:
-
-mov rax, imm64
->48 b8 IMM64
-xor eax, eax (sets rax to 0, much shorter than mov rax, 0)
->31 c0
-xor edx, edx
->31 d2
-mov rdest, rsrc
-ax bx cx dx sp bp si di
-0 3 1 2 4 5 6 7
->48 89 (dest | src << 3 | 0xc0)
-mov r8, rax (for syscalls)
->49 89 c0
-mov r9, rax (for syscalls)
->49 89 c1
-mov r10, rax (for syscalls)
->49 89 c2
-xchg rax, rbx
->48 93
-mov qword [rbx], rax
->48 89 03
-mov rax, qword [rbx]
->48 8b 03
-mov dword [rbx], eax
->89 03
-mov eax, dword [rbx]
->8b 03
-mov word [rbx], ax
->66 89 03
-mov ax, word [rbx]
->66 8b 03
-mov byte [rbx], al
->88 03
-mov al, byte [rbx]
->8a 03
-mov rax, qword [rbp+imm32]
->48 8b 85 IMM32 (note: imm may be negative)
-lea rax, [rbp+imm32]
->48 8d 85 IMM32 (note: imm may be negative)
-lea rsp, [rbp+imm32]
->48 8d a5 IMM32 (note: imm may be negative)
-mov qword [rbp+imm32], rax
->48 89 85 IMM32 (note: imm may be negative)
-mov qword [rsp+imm32], rax
->48 89 84 24 IMM32 (note: imm may be negative)
-mov qword [rsp], rbp
->48 89 2c 24
-mov rbp, qword [rsp]
->48 8b 2c 24
-mov ebx, imm32
->bb IMM32
-neg rax
->48 f7 d8
-add rax, rbx
->48 01 d8
-sub rax, rbx
->48 29 d8
-imul rbx
->48 f7 eb
-idiv rbx
->48 f7 fb
-mul rbx
->48 f7 e3
-div rbx
->48 f7 f3
-not rax
->48 f7 d0
-and rax, rbx
->48 21 d8
-or rax, rbx
->48 09 d8
-xor rax, rbx
->48 31 d8
-shl rax, cl
->48 d3 e0
-shl rax, imm8
->48 c1 e0 IMM8
-shr rax, cl
->48 d3 e8
-shr rax, imm8
->48 c1 e8 IMM8
-sar rax, cl
->48 d3 f8
-sar rax, imm8
->48 c1 f8 IMM8
-sub rsp, imm32
->48 81 ec IMM32
-add rsp, imm32
->48 81 c4 IMM32
-cmp rax, rbx
->48 39 d8
-test rax, rax
->48 85 c0
-jmp rel32
->e9 REL32
-je rel32
->0f 84 REL32
-jne rel32
->0f 85 REL32
-jl rel32
->0f 8c REL32
-jg rel32
->0f 8f REL32
-jle rel32
->0f 8e REL32
-jge rel32
->0f 8d REL32
-jb rel32
->0f 82 REL32
-ja rel32
->0f 87 REL32
-jbe rel32
->0f 86 REL32
-jae rel32
->0f 83 REL32
-call rax
->ff d0
-ret
->c3
-syscall
->0f 05
-nop
->90
-(more will be added as needed)
-
-to be removed:
-mov qword [rsp], rax
->48 89 04 24
-mov rax, qword [rsp]
->48 8b 04 24