2016-12-03 5 views
0

x8086의 레지스터에 대한 정보를 찾는 데 문제가 있습니다.
나는 레지스터 중 하나를 사용할 수 있고 사용할 수없는 것이 무엇인지 말해 줄 수 있습니까?어셈블리 언어로 사용 등록

예를 들어 bx, di 및 si 레지스터는 주소 포인터로 사용할 수 있습니다.
(예 : 도끼 만 컴파일하면 안됨).

편집 :에,
지금까지 모든 정보를 주셔서 감사합니다,하지만 내 질문은 아마 정보 메신저는 언어에 의해 개조하지만 산술 opartions 및 기타 주어진 oprations를 해결에 대해 밤은 추구, 충분한 understandble 않네 그들 각각.

내가 등록 할 수있는 CAN 및 CANT는 각각의 어셈블리 운영자를 사용합니까?
(MOV, 추가 서브 [] MUL 등)

+0

[x86 태그 위키] (http://stackoverflow.com/tags/x86/info)에는 많은 유용한 링크가 포함되어 있습니다. –

+0

@CodyGray 이미 유용한 것을 찾지 못했습니다. 은 각 레지스터가 익숙한 것이지만 각 레지스터의 한계에 대한 정보는 없다고 말합니다. –

+2

[이 기사] (http://www.swansontec.com/sregisters.html)는 당신이 알고 싶어 할 수있는 모든 것을 설명하지만주의 깊게 읽어야합니다. * "16 비트 모드에서 기본 레지스터 EBX는 범용 포인터 역할을합니다. 특수 ESI, EDI 및 EBP 레지스터 외에도 다음과 같은 기능이 있습니다. (예 : MOV [BX], AX)에서 볼 수있는 유일한 범용 레지스터입니다. 그러나 32 비트 환경에서는 모든 레지스터가 메모리 오프셋으로 사용될 수 있으므로 기본 레지스터 더 이상 특별하지 않습니다. "* –

답변

1

x86 명령어 세트는 역사적 조각 패치 충분히 설명하지만 그렇다하더라도 응집 구조가 결여 놀라운 뒤범벅이다. 어떤 레지스터가 주소 포인터로 작동하는지에 대한 특정 정보는 reference manual section on addressing forms 섹션 2.1.5에서 찾을 수 있습니다. 그러나 나는 그것을 커버 할 수 있을지 잘 모르겠습니다. 암시 적 포인터를 사용하는 작업의 스택 푸시/팝 패밀리를 확실히 설명하지 않습니다. 몇 개의 섹션 (2.2.1.6)에서 RIP- 상대 주소 지정 모드를 찾을 수 있습니다.

+1

글쎄요, 8086에는 RIP- 상대 주소 지정이 없습니다 :-)이 모델은 64 비트 확장에서 새로 추가되었습니다. –

+0

@CodyGray - OP가 RIP와 IP 상대 주소 지정 모드를 혼동하는 경우, 지점 근처의 8086과 가까운 전화는 IP 상대 경로입니다. – rcgldr