2010-04-19 4 views
4

인텔의 IA-32 소프트웨어 개발자 설명서를 연구 중입니다. 특히 다음 설명서를 읽는 중입니다. http://www.intel.com/Assets/PDF/manual/253666.pdf. 예를 들어 ADD 명령을 예로 들어 봅시다. 79 페이지에서 r8 (8 비트 레지스터)을 r/m8 (8 비트 레지스터 또는 메모리 위치)에 추가 할 수 있습니다. 아래의 몇 줄에 r8에 r/m8을 추가 할 수 있습니다. 질문 : 두 개의 8 비트 레지스터를 추가하면 어떤 명령어를 사용합니까? 감사.인텔의 IA-32 소프트웨어 개발자 설명서에 대한 질문

+1

질문의 제목에서 "의심"을 "질문"으로 변경했습니다. 분명히 영어 단어 "의심"과 "질문"에 동일한 단어를 사용하는 언어가 있습니다. 여기에 그래서, "질문"은 거의 항상 당신이 원하는 단어입니다. –

답변

8

add 명령어에는 여러 버전이 있습니다 ... 사용하는 피연산자에 따라 동일한 니모닉을 다른 opcode로 인코딩 할 수 있습니다. :

+0

오버로드 된 함수와 비슷합니까? – IAbstract

+0

"유사"의 몇 가지 정의에 대해 ...... 나는 당신이 그렇게 말할 수 있다고 생각합니다 :) – Virgil

1

추가 명령이 9 개 다른 인코딩 유형과 두 개의 연산 코드가 예약되어있다 (그리고 특정 질문에 대답하기 위해 "R8을 추가, R8"명령 아마 같은 일을 두 가지 가능한 인코딩을 가지고) :

Opcode: 00/r = ADD r/m8, r8 
Opcode: 02/r = ADD r8, r/m8 

"ADD r8, r8"이 모두 효과가있는 경우.

관련 문제