- 참치군
- ?
- stalk.io
- :: 2013년, 스리는 여섯살
- 웹 강좌
- 점프 투 파이썬
- 요니나의 대학생 재테크
- This is CS50
- 애자일 이야기
- isao의 IT,게임번역소
- 소프트웨어 이야기
- Color Scripter
- 어디를 가든지 마음을 다해 가라
- VisuAlgo
- 서울대 평생교육원
- 몽환
- RegExr: Learn, Build, & Test R…
- Hello, Stranger :D
- I Like Exploit
- Z3alous Security Story
- Project Euler
- Blog
- pieces of code
- window 쪼물딱 거리기
- IT - Informatics Alphabet
- rop
- 국제 정보교육센터 I2sec 대구 1기
- This is the moment. :)
- blackmoon
- z3alous는 세상에 소리 z3alous~
- Acord
- FORENSIC-PROOF
- 어셈블리
- Outsider's Dev Story
- Open Tutorials
- 코드라이언
- 컴퓨터 그래픽스와 3D 프린팅
- HACKABILITY
- Lee, Jae-Hong
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Hello World
- 베이스
- 컴파일러
- 블루블랙
- 동대구
- Debug
- 공간복잡도
- 발표
- Calling Convention
- ubuntu
- C언어
- Packet
- 오지총
- 레지스터
- 파이썬
- Wireshark
- 탈색
- 디버깅
- 염색
- 소켓
- 알고리즘
- 펌
- 버퍼오버플로우
- 호출규약
- 시간복잡도
- Visual Studio
- BOF
- 창의공학설계
- 추상데이터타입
- 피보나치
- Today
- Total
목록레지스터 (2)
c0smicb0y
컴퓨터에서 수행되는 대부분의 연산은 레지스터를 이용하여 이루어지게 된다. 하지만 이 레지스터의 개수는 극히 제한적이기 때문에 함수 내에서 또 다른 함수 호출 시에는 레지스터간의 충돌을 고려해야한다. 우리가 사용하는 Windows의 컴파일러들은 이러한 문제를 피하기 위해 아래와 같은 규칙을 사용하여 함수들간의 레지스터 사용의 충돌을 피하고 있다. Platform Caller-save 레지스터 Callee-save 레지스터 x86 Windows EAX, ECX, EDX, ST(0)~ST(7), XMM0~XMM7 EBX, ESI, EDI, EBP x64 Windows RAX, RCX, RDX, R8~R11, ST(0)~ST(7), XMM0~XMM5, High half of XMM6~XMM15 RBX, RSI,..
레지스터는 CPU의 작은 저장 공간으로 CPU가 데이터에 접근하는 가장 빠른 방법을 제공한다.x86 명령 셋에서 CPU는 8개의 범용 레지스터(EAX, EDX, ECX, ESI, EDI, EBP, ESP, EBX)를 사용한다. EAX는 accumlator regiter라고 불리며, 산술 연산을 수행하기 위해 사용 된다. x86 명령 셋에서 최적화된 많은 명령이 데이터 계산과 저장을 위해 EAX 레지스터를 사용하도록 설계되었다. 또한 EAX 레지스터는 함수의 리턴 값을 저장하므로 EAX에 저장된 값을 조사하면 호출한 함수가 어떤 리턴 값을 가지는 지 알 수 있다. EDX 레지스터는 Data register이다. 이 레지스터는 기본적으로 EAX 레지스터의 확장 개념으로 사용된다. 즉, 나누기나 곱하기 같은 ..