2014-08-29 9 views
1

IA-32에서 주소 지정 모드를 검색했지만 주소 지정 모드를 간단히 설명한 웹 사이트 나 기사를 보지 못했습니다. 변경 사항을 기억하고 그림으로 주소 모드를 지정하면 메모리의 일부 그림만으로 문제를 설명하는 기사 나 무언가가 필요합니다. 나는의 정확한 의미를 알고 싶어IA-32의 주소 지정 모드

세그먼트 +베이스 + (인덱스 * 스케일) + 변위

:

나는 주소의 IA-32의 일반적인 형태로 다음과 같은 형식을 따르는 것을 알고있다 변위, 스케일, 인덱스 및 최종베이스. 영어도 잘 모르겠지만 강제로 검색 할 수는 있지만이 경우에 대한 기술적 인 의미는 찾지 못했습니다.

마지막으로, 나는-32 IA 단순히 바람직 메모리에 대 한 사진으로 표현 된 그 ...

내가 어셈블리 가이드에 의해 어셈블리 프로그래밍 언어를 배울 오프셋의 주소 모드에 대한 설명을 원한다 리눅스 프로그래밍의 서적.

감사합니다.

+0

_Intel® 64 및 IA-32 아키텍처 소프트웨어 개발자 설명서 볼륨 1 : 기본 아키텍처, 3.7.5 절 오프셋 지정을 참조하십시오. – Jester

+0

내가 아는 한, 모든 조합이 사용된다면 약 30 가지의 다른 유형의 어드레싱 모드가 가능합니다. 이 링크의 4 장은 모두 당신을 위해 그들을 분명히 할 것입니다 : http://www.ic.unicamp.br/~pannain/mc404/aulas/pdfs/Art%20Of%20Intel%20x86%20Assembly.pdf – icbytes

+0

감사합니다. 답장 .PDF를 읽으겠습니다. 문제를 분명히 밝히기를 바랍니다. – user3679015

답변

1

이 이미지를 this power point presentation에서 찾을 수 있습니다.

Addressing modes

이것은 당신이 [eax + ecx * 2 + 100] 같은 주소를 가질 수 있다는 것을 의미한다. 반드시이 필드들을 모두 사용할 필요는 없습니다. 세그먼트 레지스터는 문제의 명령어 또는 세그먼트 오버라이드 프리픽스 (예 : ds:, cs:)에 따라 자동으로 선택됩니다. 세그먼트 레지스터 값은 왼쪽으로 4 비트 시프트되고 기본, 인덱스, 스케일 및 위치 변경에서 계산 된 주소에 추가되어 최종 주소를 얻습니다.

+0

나머지는 정상이지만 32 비트 주소 지정 모드에서는 세그먼트 레지스터가 왼쪽으로 4 비트 이동하지 않습니다 주소에 추가 된 "경우 대개 선택기 테이블에 대한 색인 (색인)입니다. 선택기에는 세그먼트에 대한 정보가 있습니다. –

+0

명확히하기 위해 4 비트 시프트는 리얼 모드에서만 발생합니다. –

+0

답장을 보내 주셔서 감사 드리며 간단합니다. 특히 실제 모드와 보호 모드에서 4 비트 이동하는 방법에 대해 알아 보았습니다. – user3679015