2015-01-18 4 views
1

x64 Opcode에서/r,/0,/2 및/4 문자는 무엇을 의미합니까? 나는/r이 ModR/M 바이트를 의미한다고 가정하지만,/0/2와/4는 무엇을 의미합니까? 예를 들어, '8 비트 직접 r/m8 명령어 추가'명령은 80/0 ib (457 페이지)입니다 ...Intel x64 Opcode

+0

읽고있는 문서를 말할 수 있습니까? –

답변

2

명령어 목록이 시작되기 직전에 설명 섹션이 있습니다 (번호는 버전마다 다를 수 있음).) :

3.1.1.1 Opcode Column in the Instruction Summary Table 

... 

/digit — A digit between 0 and 7 indicates that the ModR/M byte of the 
instruction uses only the r/m (register or memory) operand. The reg field 
contains the digit that provides an extension to the instruction's opcode. 

따라서이 숫자는 opcode의 일부를 나타냅니다. 지정한 예제를 확인하면 opcode 80 \ 2 (ADC)와 80 \ 4 (AND)가 완전히 유효하며 다른 지시 사항을 나타냅니다.

+0

오, 그래서 숫자가 실제로 인코딩되지 않습니까? –

+0

그렇지 않은 경우 CPU가 위의 경우를 어떻게 구분합니까? opcode에 여분의 비트를 사용하는 것입니다. – Leeor