SP ; Stack Pointer
: 서브루틴 호출이나 인터럽트 발생시에 복귀주소(return address)를 저장, C 프로그램에서 지역변수(local variable)를 저장, 어셈블리 프로그램에서 임시 데이터를 저장
Ø Stack : 데이터 메모리인 RAM의 일부를 특별한 데이터 저장 영역으로 할당하여 두고 후입선출(LIFO; Last-In First-Out) 방식으로만 액세스하여 사용하는 메모리
Ø stack overflow : stack의 용량을 너무 작게 설정하거나, 또한 프로그램 작성시에 stack에 데이터를 push하는 동작과 pop하는 동작이 쌍으로 이루어지지 않으면 stack에 데이터가 누적되고 결국 지정된 stack 영역 메모리의 범위를 벗어나는 에러 발생.
Bit |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
$3E($5E) |
SP15 |
SP14 |
SP13 |
SP12 |
SP11 |
SP10 |
SP9 |
SP8 |
$3D($5D) |
SP7 |
SP6 |
SP5 |
SP4 |
SP3 |
SP2 |
SP1 |
SP0 |
|
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Read/Write |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W | |
Initial Value |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
'C.E > Assembly' 카테고리의 다른 글
Flag Register (0) | 2014.04.21 |
---|---|
어셈블리 명령어 모음 (0) | 2014.04.15 |