0924_MEMtoCPU.c |
#include <stdio.h> typedef struct _Context { int efl; int eip; int edi; int esi; int ebp; int esp; int ebx; int edx; int ecx; int eax; }CONTEXT; void PrintReg(CONTEXT *); void STST(CONTEXT *); void LDST(CONTEXT *); int main() { CONTEXT stpReg = {0,}; PrintReg(&stpReg); STST(&stpReg); PrintReg(&stpReg); getchar(); LDST(&stpReg); // STST로 가게해줌. while 문 역할 // 메모리안에 있는 정보를 CPU 로 옮겨준다. printf("Kernel Panic\n"); return 0; } void PrintReg(CONTEXT *stpReg) { printf("------------------------------------------------\n"); printf("EAX VALUE : 0x%08x ECX VALUE : 0x%08x\n", stpReg->eax, stpReg->ecx); printf("EDX VALUE : 0x%08x EBX VALUE : 0x%08x\n", stpReg->edx, stpReg->ebx); printf("ESP VALUE : 0x%08x EBP VALUE : 0x%08x\n", stpReg->esp, stpReg->ebp); printf("ESI VALUE : 0x%08x EDI VALUE : 0x%08x\n", stpReg->esi, stpReg->edi); printf("EIP VALUE : 0x%08x EFL VALUE : 0x%08x\n", stpReg->eip, stpReg->efl); } |
0924_Monitor.asm Source |
.386 .MODEL FLAT |
실행화면 |
▶ STST 함수 CPU -> Memory , CPU 안에 있는 레지스터 값을 메모리에 저장
▶ LDST 함수 Memory -> CPU , 메모리 안에 있는 레지스터를 CPU 로 돌려줘서 다시 STST 함수가 실행 되도록 하여 무한반복문 동작을 한다. |
'코스웨어 > 13년 스마트컨트롤러' 카테고리의 다른 글
9월 24일 ATmega 시리얼 통신 & 어셈블리 정리 (0) | 2013.09.24 |
---|---|
20130924 어셈블리 pushad - 손초롱 (0) | 2013.09.24 |
CONTEXT 프로젝트(2) POPAD -0924 임기준 (0) | 2013.09.24 |
STST, LDST context switching 프로그램 만들기 (0) | 2013.09.24 |
2013년 9월 24일 어셈블리 - 이수현 (0) | 2013.09.24 |
20130924 USART -이세웅 (0) | 2013.09.24 |
AVR UART 인터럽트 - 전영기 (0) | 2013.09.24 |
시리얼통신, 무한반복 함수 어셈 (0) | 2013.09.24 |