카테고리

asm (27) bootloader_x86_grub (1) C (92) compile (11) config (76) CPP (13) CSS (1) debugging (7) gimp (1) Go (1) html (1) Java (1) JavaScript (1) kernel (19) LibreOffice (3) Linux system progamming (21) MFC (1) opencv (4) OpenGL (1) PHP (1) Python (4) qemu (29) shell (3) socket (7) troubleshooting (2) ubuntu18.04 (2) windows (1)

2018/12/08

64bit ASM Register define

레지스터는 일시적으로 메모리를 보유하고있는 프로세서의 이다.
x86_64 아키텍처에서 레지스터는 64 비트를 유지한다. 
이는 각 레지스터가 다음 값을 가질 수 있음을 의미한다.
    • Unsigned: 0                        ~ 18,445,744,073,709,551,616
    • Signed: -9,223,372,036,854,775,808 ~  9,223,372,036,854,775,807




레지스터: CPU가 사용하려고 가지고 있는 데이터
eax: 계산에 대한 저장을 하는 데이터
ebx: 베이스 레지스터
ecx: 카운터 레지스터(숫자를 세거나)
edx: 데이터 레지스터
esi: 소스 인덱스 (출발지)
edi: 데스티네이션 인덱스 (목적지)
ebp: 스택의 아랫부분 (베이스) 포인터
esp: 스택의 윗부분 (탑) 포인터
eip: CPU가 다음에 실행할 명령어 주소

10진수 0-9
16진수 0-F 0123456789ABCDEF
4바이트 = 32비트
eax    = 32bit
 ax    = 16bit
 ah/al = 8bit

댓글 없음:

댓글 쓰기