RAX 레지스터는 x86 아키텍처에서의 64비트 레지스터 중 하나로, Accumulator(누산기)의 약어이다. 이 레지스터는 다양한 목적으로 사용되며, 주로 산술 및 논리 연산, 데이터의 저장과 이동 등에 활용된다. RAX 레지스터는 또한 함수의 반환값을 저장하는 데에도 사용되어 함수 호출에서 중요한 역할을 한다.
용도와 기능
- 산술 및 논리 연산: RAX 레지스터는 산술 및 논리 연산을 수행하는 데에 사용된다. 연산 결과는 RAX에 저장되어 다음 명령어에서 활용될 수 있다.
- 데이터의 임시 저장: 프로그램이 실행되는 동안 발생하는 임시 데이터나 계산 중인 중간 값 등을 저장하는 데에 사용된다.
- 함수 호출과 반환값 저장: 함수 호출 시, 인자 전달과 반환값 저장에 사용된다. 특히, 64비트 아키텍처에서는 함수 호출 시 RAX 레지스터를 통해 반환값을 전달한다. (시스템 콜에서 반환값이 있는 경우 RAX를 통해 전달한다.)
예시 코드
assemblyCopy code
section .data
; 데이터 섹션
section .text
global _start
_start:
; 프로그램 시작 지점
mov rax, 10 ; RAX 레지스터에 값 10을 저장
add rax, 5 ; RAX에 5를 더함
; 이후 RAX 값은 15
; 여기서부터는 추가적인 명령어 작성 가능
위의 어셈블리 코드에서 볼 수 있듯이, RAX 레지스터는 mov 명령어를 통해 값을 할당받고, 다른 명령어를 통해 값을 변경하거나 활용할 수 있다.
'운영체제(OS) > keyword' 카테고리의 다른 글
(Project2-User Programs) 인터럽트(Interrupt) (0) | 2023.12.16 |
---|---|
(Project2-User Programs) 32 bit OS vs 64 bit OS (0) | 2023.12.15 |
(Project2-User Programs) 원자적 연산(Atomic Operation) (0) | 2023.12.15 |
(Project2-User Programs) 캐시(Cache) (0) | 2023.12.15 |
(Project2-User Programs) 파일 디스크립터(File Descriptor) (0) | 2023.12.15 |