x86 easy as a pie
Apr. 1st, 2017 09:09 pmhttp://net.cs.uni-bonn.de/fileadmin/user_upload/plohmann/x86_opcode_structure_and_instruction_overview.pdf
просто как таблица умножения. к примеру, NOP, это 0x90, смотрим по вертикальному полю цифру 9, затем по горизонтальному полю цифру 0.
вся "плашка" с 90 по 97 это XCHG EAX, REG
за REG отвечают младшие биты, и соот-но,
0x90 xchg eax, EAX ; NOP
0x91 xchg eax, ECX
92 .. , EDX
93 .. , EBX
94 .. , ESP
95 .. , EBP
96 .. , ESI
0x97 xchg eax, EDI
та же самая зависимость наблюдается для команд, где базовым опкодом (байтом, обозначающим мнемонику) будет B8
b8 -> mov EAX, непосредственное число (immediate или сокращенно imm)
b9 -> mov ECX, imm
ba -> mov EDX, imm
..
b8 + 7 = bf -> mov EDI, imm
благодарность Яше @ wasm.in
вся "плашка" с 90 по 97 это XCHG EAX, REG
за REG отвечают младшие биты, и соот-но,
0x90 xchg eax, EAX ; NOP
0x91 xchg eax, ECX
92 .. , EDX
93 .. , EBX
94 .. , ESP
95 .. , EBP
96 .. , ESI
0x97 xchg eax, EDI
та же самая зависимость наблюдается для команд, где базовым опкодом (байтом, обозначающим мнемонику) будет B8
b8 -> mov EAX, непосредственное число (immediate или сокращенно imm)
b9 -> mov ECX, imm
ba -> mov EDX, imm
..
b8 + 7 = bf -> mov EDI, imm
благодарность Яше @ wasm.in
no subject
Date: 2017-04-03 11:53 am (UTC)http://www.c-jump.com/CIS77/CPU/x86/lecture.html
( http://www.c-jump.com/CIS77/CIS77syllabus.htm , week 6 )