세그먼트 레지스터의 유형 및 기능: 1. 현재 실행 중인 프로그램 코드의 세그먼트를 저장하는 데 사용되는 코드 세그먼트 레지스터 CS. 2. 데이터 세그먼트 레지스터 DS, 데이터 세그먼트를 저장하는 데 사용됩니다. 3. 스택 세그먼트 레지스터 SS는 스택 세그먼트를 저장합니다. 4. 추가 세그먼트 레지스터 ES는 현재 프로그램에서 사용되는 추가 데이터 세그먼트를 저장합니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.
세그먼트 레지스터는 메모리의 분할 관리를 위해 설정됩니다. 컴퓨터는 메모리를 다른 프로그램에 할당하기 위해 메모리를 분할해야 합니다(하드 디스크 페이징과 유사). 메모리 분할을 설명할 때 다음 세그먼트 정보가 필요합니다. 1. 세그먼트의 크기 2. 세그먼트의 시작 주소 3. 세그먼트의 관리 속성(쓰기 금지/실행 금지/시스템 독점 등) 이 정보를 저장하려면 8바이트(64비트)를 사용해야 하는데 세그먼트 레지스터에는 16비트만 있으므로 세그먼트 번호(세그먼트 셀렉터, "세그먼트 셀렉터"라고도 번역됨)만 세그먼트 레지스터에 저장할 수 있으며, 그런 다음 세그먼트 번호를 메모리에 존재하는 GDT(글로벌(세그먼트) 디스크립터 테이블, 글로벌 세그먼트 번호 레코드 테이블)에 매핑하여 세그먼트 정보를 읽습니다.
세그먼트 레지스터: 8086 시스템에서 메모리에 액세스하기 위한 주소 코드는 세그먼트 주소와 세그먼트 내의 오프셋 주소라는 두 부분으로 구성됩니다. 세그먼트 레지스터는 각 세그먼트의 논리 기본 값을 저장하는 데 사용되며 코드 세그먼트 레지스터 CS, 스택 세그먼트 레지스터 SS, 데이터 세그먼트 레지스터 DS 및 추가 세그먼트 데이터 레지스터 ES를 포함하여 현재 사용 중인 4개의 논리 세그먼트를 나타냅니다.
유형 및 기능:
1. 코드 세그먼트 레지스터 CS(Code Segment)
현재 실행 중인 프로그램 코드가 있는 세그먼트의 세그먼트 기본 주소를 저장합니다. 세그먼트 레지스터 세그먼트에 의해 지정된 메모리이며 해당 오프셋은 IP에 의해 제공됩니다.
2. 데이터 세그먼트 레지스터 DS(Data Segment)
현재 프로그램에서 사용하는 데이터가 저장되어 있는 세그먼트의 최하위 주소, 즉 데이터 세그먼트가 저장되어 있는 세그먼트의 기본 주소를 가리킨다.
3. 스택 세그먼트 레지스터 SS(Stack Segment)
는 현재 스택의 하위 주소, 즉 스택 세그먼트가 저장된 세그먼트 기본 주소를 가리킵니다.
4. 추가 세그먼트 레지스터 ES(Extra Segment)
는 현재 프로그램에서 사용하는 추가 데이터 세그먼트의 세그먼트 기본 주소를 나타냅니다. 이 세그먼트는 문자열 연산 명령의 대상 문자열이 위치한 세그먼트입니다.
더 많은 관련 기사를 보려면 PHP 중국어 웹사이트를 방문하세요! !
위 내용은 세그먼트 레지스터의 종류와 기능은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!