3. 범용 레지스터

    Register


    1. Register, Registry

    우선 레지스터와 레지스트리는 명백히 다른것이다.

    레지스트리는 윈도우 운영체제의 설정과 선택항목을 담고있는 데이터베이스로서

    사용자 PC에 대한 정보와 설정이 들어있다.

    레지스터는 컴퓨터의 프로세서(CPU) 내에서 자료를 보관하는 아주 빠른 기억 장소이다.

    일반적으로 현재 계산을 수행중인 값을 저장, 연산하는데 사용된다.


    2. General-Purpose Register

    각 레지스터들은 32비트로 구현되어 있다.

    [그림]


    EAX로 설명을 해보자면

    하위 8bit는 AL(Low) 상위 8bit는 AH(High) 이 두 바이트를 합친것을 AX라고한다.

    그리고 CPU가 발전하면서 32bit로 증가되어 AX만큼의 크기가 하나 더 붙은 EAX(Extended)가 생겼다.

    (크기 순)

    AL = AH < AX < EAX 로 나열할 수 있다.


    만약 십진수 1234567이라는 값을 EAX에 저장한다면

    우선 십진수를 16진수로 변환한다.

    1234567 = 12D687

    그 후 EAX에 넣게된다. 하지만 우리가 저장하려는 값은 3바이트인데 남은 1바이트에는 0으로 채워지게 된다.

    그래서 0012D687으로 EAX에 저장되게 된다.

    EAX = 0012D687

    AX(하위 16비트) =     D687

    AH(AX의 상위 8비트) = D6

    AL(하위 8비트) =       87


    위와같은 구조로 EAX,EBX,ECX,EDX가 동일하게 생성되어있다.



    'Assembly' 카테고리의 다른 글

    6. JMP  (0) 2017.05.14
    5. 메모리에 저장하는 방식  (0) 2017.05.14
    4. 메모리  (0) 2017.05.13
    2. MOV  (0) 2017.05.12
    1. 어셈블리어 개요  (0) 2017.05.12
    Posted by Config