주소 지정 모드는 아키텍처에서 액세스하려는 개체의 주소를 지정하는 방법입니다. GPR 컴퓨터에서 주소 지정 모드는 상수, 레지스터 또는 메모리의 위치를 지정할 수 있습니다. 주소 지정 모드는 대부분의 중앙 처리 장치(CPU) 설계에서 명령 집합 아키텍처의 한 측면입니다. 지정된 명령 집합 아키텍처에 정의된 다양한 주소 지정 모드는 해당 아키텍처의 기계 언어 명령이 각 명령의 설명과를 식별하는 방법을 정의합니다. 주소 지정 모드는 레지스터에 보관된 정보 및/또는 컴퓨터 명령 또는 다른 곳에 포함된 상수에 포함된 정보를 사용하여 피연산자의 유효 메모리 주소를 계산하는 방법을 지정합니다. 주소 지정 모드- 주소 지정 모드라는 용어는 명령의 설명과가 지정된 방식을 나타냅니다. 주소 지정 모드는 피연산자가 실제로 실행되기 전에 명령의 주소 필드를 해석하거나 수정하는 규칙을 지정합니다. 8086 지침에 대한 주소 지정 모드는 두 가지 범주로 나뉩니다. 대부분의 컴퓨터 아키텍처는 이러한 구분을 유지하지만 모든 주소 지정 모드를 모든 컨텍스트에서 사용할 수 있도록 허용하는 일부 아키텍처가 있습니다. 기억에서 카연산을 사용하는 대신, 설명자의 값은 명령 자체 내에서 유지됩니다. DEC VAX 컴퓨터에서 리터럴 발음판 크기는 6비트, 8비트, 16비트 또는 32비트 길이일 수 있습니다. 예 1: 서브루틴 내에서 프로그래머는 주로 매개 변수와 로컬 변수에 관심을 가지며, 이 변수는 64KB를 거의 초과하지 않으며, 이 변수는 하나의 기본 레지스터(프레임 포인터)로 충분합니다.

이 루틴이 개체 지향 언어의 클래스 메서드인 경우 현재 개체에 대한 특성(일부 상위 수준의 언어에서 이 또는 self)을 가리키는 두 번째 기본 레지스터가 필요합니다. 높은 수준의 언어에서는 종종 결과를 반환하는 기능이 부작용이 없어야한다는 좋은 생각으로 생각됩니다 (부작용의 부족은 프로그램 이해와 유효성 검사를 훨씬 쉽게 만듭니다). 이 주소 지정 모드는 기본 레지스터가 변경된다는 점에서 부작용이 있습니다. 후속 메모리 액세스로 인해 인터럽트(예: 페이지 오류, 버스 오류, 주소 오류)가 발생하면 하나 이상의 레지스터를 이전 상태로 다시 설정해야 할 수 있기 때문에 명령을 다시 시작하는 것이 훨씬 더 문제가 됩니다. 명령이 원래 시작되었습니다. 최신 CPU의 많은 기능 – 명령 프리 페치 및 더 복잡한 파이프 라인, 순서가 아닌 실행 등 – 각 명령이 다음 명령이 시작되기 전에 완료되는 환상을 유지, 그 정확히 무엇을하지 않더라도, 동일한 최종 결과를 제공 내부적으로 발생합니다. 다른 모든 조건부 분기와 달리 “건너뛰기” 명령은 다음 명령을 무시해야 할 수 있지만 명령 파이프라인을 플러시할 필요가 없습니다. PC 상대 주소 지정의 또 다른 장점은 코드가 위치와 무관할 수 있다는 것입니다. 자동 감소 모드는 자동 증분 모드와 동일합니다. 둘 다 푸시 및 팝으로 스택을 구현하는 데 사용할 수도 있습니다. 자동 증분 및 자동 감소 모드는 “마지막-첫 번째-아웃” 데이터 구조를 구현하는 데 유용합니다. x86-64 아키텍처와 64비트 ARMv8-A 아키텍처[13]에는 x86-64의 “RIP 상대”와 ARMv8-A의 “리터럴”이라는 PC 상대 주소 지정 모드가 있습니다.

enter site 모토로라 6809는 PC 상대 주소 지정 모드도 지원합니다. 대부분의 RISC 아키텍처에는 약 5개의 간단한 주소 지정 모드가 있으며 DEC VAX와 같은 CISC 아키텍처에는 12개 이상의 주소 지정 모드가 있으며 그 중 일부는 매우 복잡합니다.