2012-11-07 38 views
5

在使用作弊引擎我偶然发现了这两个操作码的结果在同一汇编代码:为什么是两个“03 8”和“01 C1” =加ECX,EAX

 
03C8 add ecx,eax 

 
01C1 add ecx,eax 

这是为什么,有什么区别?

+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

[编码ADC EAX,ECX - 2种不同的编码方式可能重复? (arch x86)](https://stackoverflow.com/questions/22217436/encoding-adc-eax-ecx-2-different-ways-to-encode-arch-x86) –

回答

13

01表格是add r/m, r03表格是add r, r/m。由于两个操作数都是寄存器,因此可以采用任何方式进行编码。

相关问题