2012-11-07 7 views
5

Podczas korzystania silnik oszukiwać natknąłem się, że oba te rozkazy wyników w tym samym kodzie montaż:Dlaczego jest zarówno „03 c8” i „01 c1” = dodać ecx, eax

 
03C8 add ecx,eax 

i

 
01C1 add ecx,eax 

Dlaczego tak jest i czy są jakieś różnice?

+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

Możliwy duplikat [Kodowania ADC EAX, ECX - 2 różne sposoby kodowania? (arch x86)] (https://stackoverflow.com/questions/22217436/encoding-adc-eax-ecx-2-different-ways-to-encode-arch-x86) –

Odpowiedz

13

Formularz 01 to add r/m, r, formularz 03 to add r, r/m. Ponieważ oba operandy są rejestrami, mogą być kodowane w dowolny sposób.

Powiązane problemy