From 00302a2018299d1c96a58e6786f81b4834f63b36 Mon Sep 17 00:00:00 2001 From: Irene Knapp Date: Sat, 3 Oct 2026 18:22:38 -0700 Subject: oops, this file was moved to historical/ but the old copy was kept Force-Push: yes Change-Id: I541a6740ccb219d51c2e4f6bb3b02511329e6ea7 --- asm-notes.txt | 83 ----------------------------------------------------------- 1 file changed, 83 deletions(-) delete mode 100644 asm-notes.txt (limited to 'asm-notes.txt') diff --git a/asm-notes.txt b/asm-notes.txt deleted file mode 100644 index e3c4d67..0000000 --- a/asm-notes.txt +++ /dev/null @@ -1,83 +0,0 @@ -HLT will drop you into the debugger - db 0xf4 ; HLT DO NOT SUBMIT - -or perhaps you want to do a clean exit() - mov.b rax, 60 ; DO NOT SUBMIT - mov.b rdi, 0 ; DO NOT SUBMIT - syscall ; DO NOT SUBMIT - - - ; opcode c7 is Ev, Iz. c6 is Eb, Ib - ; Eb: ModR/M to follow, byte - ; consider 1100 011w : 11 000 reg : imm - ; also consider 1011 w reg : imm for bytes - -32-bit target, 8-bit source - match =eax?, target - db 0xB8 - dd source - else match =edi?, target - db 0xBF - dd source - -64-bit target, 32-bit source - match =rax?, target ; mov rax, 0x1234 - db 0x48, 0xC7, 0xC0 - dd source -; 48 eAX REX.W prefix -; (DEC is the 32-bit meaning, ignore it) -; eAX -> register identifier, -; width depends on operand -; REX.W -> set 64-bit operand mode -; c7 Grp 11^1A - MOV Ev, Iz -; immediate to register -; 1A -> bits 5,4,3 of ModR/M are opcode -; extension -; E -> modR/M byte to follow for operand -; v -> word of appropriate size -; I -> immediate data -; z -> 32-bit operand -; c0 ModR/M byte -; 0b11000000 -; 11 mod: always 11 -; 000 op/reg: Mov Ev, Iz -; 00x w absent -; 0 w (ignored) - - - - match =rdi, target ; mov rdi, 0x1234 - db 0x48, 0xC7, 0xC7 - dd source -; 7: 48 c7 c7 2a 00 00 00 mov $0x2a,%rdi -; 48 eAX REX.W prefix -; (DEC is the 32-bit meaning, ignore it) -; c7 Grp 11^1A - MOV Ev, Iz -; immediate to register -; 1A -> bits 5,4,3 of ModR/M are opcode -; extension -; Ev -> ModR/M to follow for 32-bit operand -; Iz -> Immediate data, 32-bits -; c7 ModR/M byte -; 0b11000111 -; 11 mod: always 11 -; 000 op/reg: Mov Ev, Iz -; 11x w present -; 1 w true; use EDI - - - -64-bit target, 64-bi source - - match =rdi, target ; mov rdi, 0x1234 - db 0x48, 0xB8, 0x38 - dq source - - match =rsi, target - db 0x48, 0xB8, 0x30 - dq source - ; opcode c7 is Ev, Iz. c6 is Eb, Ib - ; Eb: ModR/M to follow, byte - ; consider 1100 011w : 11 000 reg : imm - ; also consider 1011 w reg : imm for bytes - -- cgit 1.4.1