인터럽트 루틴 내부를 추적하지 않는다는 규칙!?
글쓴이: gurumong / 작성시간: 금, 2007/02/16 - 6:36오전
IBM? PC 어셈블리 프로그래밍 (저자 Peter able)책을 보고 공부하고 있습니다
이 책의 68페이지에 아래와 같은 문장이 있는데요
인터럽트 루틴 내부를 추적하면 왜 안되는것인가요?
그리고 이것 이외에 다른 규칙들이 있는지요?
xxxx:0100 INT 11 xxxx:0102 JMP 100 BIOS는 AX에 정보를 전달하는 인터럽트 루틴 INT 11H를 제공한다. 명령어 INT 11H는 BIOS의 루틴에 제어를 넘기고, 그 루틴은 장치 데이터를 AX에 전달한다. T와 엔터를 반복적으로 눌러서 각 BIOS 명령어가 실행되는것을 살펴보라. (이러한 과정은 인터럽트 루틴 내부를 추적하지 않는다는 규칙을 어긴다. 그러나 이러한 연산은 올바르게 동작한다)
Forums:
하드웨어 인터럽트라면 위험할 수도 있기 때문입니다.
하드웨어 인터럽트를 추적한다면 인터럽트가 오랫동안 중지된 상태를 유지하게 됩니다. 그럴 경우 심하면 PC 가 멈추기도 합니다. PC가 멈추지 않을 정도의 대책을 갖추고 있는 디버거가 아니라면 하드웨어 인터럽트의 디버깅은 위험한 작업입니다. 하지만 위의 경우에는 소프트웨어 인터럽트입니다. 소프트웨어 인터럽트는 Trap Flag를 이용한 디버깅(T 명령) 및 INT 3을 이용한 디버깅 (P 명령) 모두 사용할 수 있습니다.
답변 감사합니다 ^^
여러 어셈블리 프로그래밍 책을 뒤지고 웹서칭을 하고 해도 정보를 얻을수 없어서 오랫동안 궁금했던것인데
이제서야 조금 이해가 된거 같습니다
답변 정말 감사합니다 ^^
(영어를 좀 할줄 알면 어셈블리어 공부에 도움이 될거 같은데 이거 큰일입니다 ㅜ.ㅜ)
댓글 달기