I'm trying to learn X86 Assembly (for learn reverse engineering). I learned C# and C\C++ language and pretty of IL
Probably my main problem is English language because i'm Persian, and also i can't find any helpful document to learn X86 assembly that written in Persian. so what i decided to do what i did for learn C# and C++. I tried reading X86 samples and hello worlds but i failed because i can't understand which Register i have to choose for instructions and other problems that can't be solved by only look at source codes.
So i decided to change my strategy and do a challenge : Write a X86 Disassembler I'm mad, i know. But we can't say it's impossible. The first think that i need to understand (but no memorize) is this tables : http://ref.x86asm.net/coder32.html
I'm good with opcodes but i can't understand how to calculate size of operands or what about registers hex bytes ?
Sorry for my bad English.
PS. I want doing it using C#