저는 최근에 어셈블리를 연구 중이므로 예외가 어떻게 작동 하는지를 이해할 수 없습니다. 좀 더 구체적으로, 예외 6이 발생하고 무시 된 메시지가 나타납니다. 누군가가 정확히 무슨 뜻인지 설명해 주시겠습니까? qtspim을 사용하고 있습니다.MIPS의 예외적 인 의미는 무엇입니까?
0
A
답변
0
예외는 하드웨어 또는 소프트웨어로 인해 발생한 것일 수 있습니다. 예외는 새로운 주소로 점프하는 예기치 않은 함수 호출과 같습니다. 프로그램에서 정의되지 않은 명령어 과 같은 오류 조건이 발생할 수 있습니다. 그런 다음 프로그램은 운영 체제 (OS)의 코드로 이동하여 프로그램을 종료 할 수 있습니다. 예외의 다른 원인으로는 0으로 나누기, 존재하지 않는 메모리 읽기, 하드웨어 오작동, 디버거 중단 점 및 산술 오버플로가 있습니다.
예외가 발생했을 때 프로세서는 예외의 원인과 PC
의 값을 기록합니다. 그런 다음 예외 핸들러 함수로 이동합니다. 예외 처리기는 예외의 원인 인 을 검사하고 적절하게 응답하는 코드 (일반적으로 OS)이며 예외가 발생하기 전에 이 실행 중이던 프로그램으로 돌아갑니다.
MIPS에서 예외 처리기는 항상 0x80000180
에 있습니다. 예외가 발생하면 프로세서는 원인에 관계없이 항상이 명령 주소로 점프합니다.
MIPS 아키텍처는 원인 레지스터라는 특수 목적 레지스터를 사용하여 예외의 원인을 기록합니다.
MIPS는 다른 특수 목적 레지스터는 예외 발생시 PC
의 값을 저장하는 예외 프로그램 카운터 (EPC
)라고 이용한다. 프로세서는 예외를 처리하는 이후 EPC
의 주소로 돌아갑니다. 이것은 jal
명령 중에 을 사용하여 이전의 값을 저장하는 것과 유사합니다.
관련 문제
- 1. 예외 - "예외적 인"것은 무엇입니까?
- 2. 일부 예외적 인 오류
- 3. 무엇 "% 안녕 (__ gnu_local_gp)"MIPS의 의미는 assebmly
- 4. 예외적 인 일반적인 의문을 잡기
- 5. 예외적 인 시나리오를위한 기능 사양
- 6. MIPS의 점프에 대한 질문
- 7. 예외적 인 C# 소스 코드 문서의 예
- 8. 비 포괄적 패턴에 대한 예외적 인 경우
- 9. 반복적 인 SQL : 의미는 무엇입니까?
- 10. 예외적 인 예외를 이해하는데있어서 매우 좋지 않음.
- 11. 내 앱의 예외적 인 ios5 버전을 출시하십시오.
- 12. grails 초기화 트랜잭션 예외적 인 예외 처리
- 13. 예외적 인 경우는 MySQL에있는 다른 항목
- 14. C++ "예외적 인"예외 처리 방법
- 15. NHibernate - 분산 트랜잭션과 예외적 인 결과를 제공한다.
- 16. JSR223 및 그 예외적 인 예외
- 17. RemoveAllControls에 대한 Bada 예외적 인 호출
- 18. 서비스 작업에 대한 예외적 인 예외
- 19. GoogleMap getFragmentManager를했을 때의 예외적 인 경우
- 20. MIPS의 'align'명령어
- 21. MIPS의 부동 소수점 레지스터는 무엇입니까?
- 22. 이 맥락에서 추상적 인 의미는 무엇입니까?
- 23. Dagger2 설명서의 "완전히 정적 인"의미는 무엇입니까?
- 24. 기본값이 아닌 switch 문에서 각 사례가 예외적 인 조건을 다루는 이유는 무엇입니까?
- 25. 카운터 직관적 인 의미는 SQL
- 26. Mips의 하위 문자열
- 27. MIPS의 나누기 의사 명령어
- 28. MIPS의 스톨 또는 버블
- 29. MIPS의 이진 파일에서 읽기
- 30. MIPS의 반복 작성
Google 검색의 몇 초 후, 이것은 당신을 도울 수있는 시뮬레이터 (스핌) 것 같아요, 제가 손에서 봤던 몇 안되는 것들은 실제 하드웨어가 있어야 할 것입니다. 정렬되지 않은 액세스, 주소 공간 외부의 명령어 가져 오기 등 기본적으로 코드에 버그가 있습니다. 나는 이것이 스왑 포인트에 관해서는 알지 못한다. 어떤 명령이나 어드레스 등이 발생했는지 알려준다면, 무시하고 멈추지 않고 무시하고 멈추는 기능이있다. –