Pogledaj ono sto sam pisao u topicu
Instrukcioni kod. Registar naredbi i dekoder?
Naziv topika nema mnogo veze sa onim sto je autor teme ustvari hteo, ali bitno je da je to ono sto ustvari tebi treba:
http://www.elitesecurity.org/tema/92300
1-bajtni format: opcode [registar]
jedan bajt je kada se operand podrazumeva, ili kad je neki registar u pitanju...
npr: pop eax; push ebx; inc eax; dec eax...
2-bajtni format: opcode (mod reg r/m)
dva bajta je kad je neka instrukcija tipa registar/memorija u/iz registra bez pomeraja...
npr: mov eax, ebx; add ecx, edx; mov ebx, [eax]...
3-bajtni format: opcode (neposredni operand)
tri bajta je kad ides neposredni operand u/iz registra...
npr: add esp, -10...
Ima i meni tu jos nekih nejasnih stvari, ali ovo je pravi put :)