-1
현재 운영체제를 개발 중입니다.이것이 왜 EBP 레지스터 값입니까?
페이징 과정에서 페이지 폴트 처리기를 만들고 있습니다. 페이지 오류 처리기
write_cr0 :
push ebp
mov ebp, esp
mov eax, dword[ebp+8]
mov cr0, eax
pop ebp
retn
는 오프 또는 페이징 켜 상기 write_cr0 기능을 사용할 CR0 레지스터의 PG 비트를 설정.
프로세스 # 0 (유휴 프로세스)에서 오류없이 실행됩니다. 팝 때 EBP 레지스터의 그러나, 쉘 프로세스가 새로운 프로세스를 생성하고 페이지 오류가 발생하면, 값은 스택으로 푸시하는 것은 이상하다. 난 정말 왜 모르는
(0xffffffff를). 해결책 알려 줘.
왜 페이지 폴트 처리기에서 페이징을 켜고 끄고해야하는지 궁금하십니까? 그것은 심각한 문제를 일으킬 수 있습니다. –
0xffffffff 값이 올바르지 않다고 생각할만한 이유가 있습니까? – prl
페이지 오류 처리 코드를 표시 할 수 있습니까? –