☞ 프로시저를 이용한 context 스위칭 프로그램 만들기
- 현재 레지스터값 출력!!
C 소스 |
#include <stdio.h>
}context ;
void linux(context *);
int main() context stReg = { Printf_REG(&stReg); return 0;
void Printf_REG(context *stpReg) printf("EAX : 0x%08X ECX : 0x%08X \n", stpReg->eax, stpReg->ecx);
}
|
ASM 프로시저 |
.386 PUBLIC _linux
push ebp ; Entry code
pushad ;레지스터 값 push
add esp, 24 ;구조체의 esp 멤버 위치로 가서 mov eax, ebp push [ebp] ; main:: ebp push
mov esp, ebp ; Exit code
_linux ENDP END
☞ 결과
|
'코스웨어 > 13년 스마트컨트롤러' 카테고리의 다른 글
어셈블리 과제 0916 -임기준 (0) | 2013.09.16 |
---|---|
[stack] 코드의 스텍영역 살펴보기 - 0911 정리 (0) | 2013.09.16 |
20130916 어셈블리 - 이수현 (0) | 2013.09.16 |
20130916 어셈블리 - 전영기 (0) | 2013.09.16 |
20130917 이세웅 숙제 (0) | 2013.09.16 |
main의 ESP 찾기 (0) | 2013.09.13 |
2013_09_09 정리 입니다 -한성원- (0) | 2013.09.13 |
어셈블리 구조체포인터 함수 - 전영기 (0) | 2013.09.13 |