Register: 두 판 사이의 차이
youngwiki
편집 요약 없음 |
|||
| 14번째 줄: | 14번째 줄: | ||
[[파일:Names for Part of Register.png|테두리|프레임없음|420x420픽셀]] | [[파일:Names for Part of Register.png|테두리|프레임없음|420x420픽셀]] | ||
각각의 register는 8byte이지만 우리는 또한 해당 register의 lower 4byte, 2byte, 혹은 1byte에 접근할 수 있다. | 각각의 register는 8byte이지만 우리는 또한 해당 register의 lower 4byte, 2byte, 혹은 1byte에 접근할 수 있다. | ||
==Rules on the Use of Registers== | |||
Register들을 사용하기 위해서는 몇가지 규칙이 존재한다. | |||
* Calling convention | |||
** 함수의 1st, 2nd, 3rd argument는 반드시 %rdi, %rsi, %rdx로 pass된다. | |||
** Return 값은 %rax값이 pass된다. | |||
==각주== | ==각주== | ||
[[분류:컴퓨터 시스템]] | [[분류:컴퓨터 시스템]] | ||
2025년 3월 25일 (화) 00:39 판
상위 문서: 컴퓨터 시스템
개요
Registers in x86-64
위의 대부분의 register들은 자유롭게 사용가능하지만, 특정 몇몇은 특정한 용도만을 위해서 사용된다.
- %rip: program counter(instructor pointer)로 사용된다.
- %rsp: stack pointer로 사용된다.
Names for part of Register
각각의 register는 8byte이지만 우리는 또한 해당 register의 lower 4byte, 2byte, 혹은 1byte에 접근할 수 있다.
Rules on the Use of Registers
Register들을 사용하기 위해서는 몇가지 규칙이 존재한다.
- Calling convention
- 함수의 1st, 2nd, 3rd argument는 반드시 %rdi, %rsi, %rdx로 pass된다.
- Return 값은 %rax값이 pass된다.