summaryrefslogtreecommitdiff
path: root/01/commands.txt
diff options
context:
space:
mode:
Diffstat (limited to '01/commands.txt')
-rw-r--r--01/commands.txt65
1 files changed, 65 insertions, 0 deletions
diff --git a/01/commands.txt b/01/commands.txt
new file mode 100644
index 0000000..812b026
--- /dev/null
+++ b/01/commands.txt
@@ -0,0 +1,65 @@
+|| - ELF Header
+
+00 - Byte 00
+..
+ff - Byte ff
+
+'a - Character a (byte 0x61)
+'! - Character ! (byte 0x21)
+etc.
+
+zA - Zero rax
+im - Set rax to an immediate value, e.g.
+ im;05;00;00;00;00;00;00;00;
+ will set rax to 5.
+
+ax bx cx dx sp bp si di
+A B C D S R I J
+The instruction for moving one register to another is [dest][src], e.g. CS is
+mov rcx, rsp.
+
+XA - mov r8, rax
+YA - mov r9, rax
+ZA - mov r10, rax
+
+xc - xchg rax, rbx
+
+sq - mov qword [rbx], rax
+lq - mov rax, qword [rbx]
+sd - mov dword [rbx], eax
+ld - mov eax, dword [rbx]
+sw - mov word [rbx], ax
+lw - mov ax, word [rbx]
+sb - mov byte [rbx], al
+lb - mov al, byte [rbx]
+Sq - mov qword [rsp], rax
+Lq - mov rax, qword [rsp]
+
+nA - neg rax
++B - add rax, rbx
+-* - imul rbx
+-/ - idiv rbx
++* - mul rbx
++/ - div rbx
+!A - not rax
+&B - and rax, rbx
+|B - or rax, rbx
+^B - xor rax, rbx
+<C - shl rax, cl
+<I - shl rax, imm8
+>C - shr rax, cl
+>I - shr rax, imm8
+]C - sar rax, cl
+]I - sar rax, imm8
+-S - sub rsp, imm32
+cm - cmp rax, rbx
+te - test rax, rax
+jm - jmp rel32
+je - je rel32
+jn - jne rel32
+jl - jl rel32
+jb - jb rel32
+ja - ja rel32
+cl - call rax
+re - ret
+sy - syscall