2011-03-09 2 views
0

내 코드의 나누기 표현은 "a/b"입니다. 어셈블 할 때 컴파일 할 때 일반 나누기 명령어 다음에 트랩 테스트 명령어 (MIPS 어셈블 링의 teq)가 있습니다.
모든 컴파일러가 일반 나누기 명령어 뒤에 이런 종류의 트랩 명령어를 추가합니까? 나는이 상황에 익숙하지 않다. 매우 감사합니다.divide-zero 오류

답변

2

대부분의 컴파일러는 0으로 나눌 때 결과를 지정하지 않습니다. 사용중인 언어 나 컴파일러를 표시하지 않았으므로 그보다 더 구체적 일 수는 없습니다.

P. 컴파일러에서 어셈블리 출력을 읽을 수 있다는 것은 이와 같은 경우 큰 이점입니다.

+0

저는 MIPS 용으로 C++, gcc를 사용합니다. – Eric

+0

컴파일러에서 어셈블리 출력을 읽었습니다. 분할 명령어 뒤에 트랩 테스트 명령어 (MIPS의 teq)가 있습니다. – Eric

+1

@ 에릭 (Eric), 내가 말하고자하는 것은 필요한 컴파일러와 프로세서 아키텍처로 똑같은 일을 할 수 있다는 것입니다. C++은 특히 0으로 나누기 결과를 지정하지 않으므로 특정 컴파일러를 조사해야합니다. –