2012-11-07 12 views
5

Durante l'utilizzo di cheat engine sono incappato che entrambi questi codici operativi risultati nello stesso codice assembly:Perché entrambi "03 C8" e "01 c1" = aggiungere ECX, eax

 
03C8 add ecx,eax 

e

 
01C1 add ecx,eax 

Perché è questo e c'è qualche differenza?

+0

http://www.strchr.com/machine_code_redundancy –

+0

http://stackoverflow.com/questions/22217436/encoding-adc-eax-ecx-2-different-ways-to-encode-arch-x86?rq = 1 –

+0

Possibile duplicato di [Codifica ADC EAX, ECX - 2 modi diversi di codificare? (arch x86)] (https://stackoverflow.com/questions/22217436/encoding-adc-eax-ecx-2-different-ways-to-encode-arch-x86) –

risposta

13

Il modulo 01 è add r/m, r, il modulo 03 è add r, r/m. Poiché entrambi gli operandi sono registri, possono essere codificati in entrambi i modi.

Problemi correlati