2012-03-05 1 views
1

중단 점 구현을 위해 gdb를 조사하고 있습니다. 쉽게 GDB 2.51 (1988 년 출시)의 첫 번째 버전을 만들었습니다. 중단 점 삽입 데이터가 다음과 같이 표시됩니다. -gdb 소스 코드 breakpoint.c - 0x4e 0x4f

#define BREAKPOINT {0x4e, 0x4f} 

0x4e 및 0x4f는 무엇입니까?

답변

3

0x4E 0x4F는 "TRAP # 15"에 대한 Motorola 68000 기계 명령어입니다. TRAP 명령은 예외를 강제 실행하고 특정 플랫폼에서 trap # 15는 중단 점 예외로 정의됩니다. 이것은 sun3과 같은 플랫폼을 처리하기 위해 GDB 2.51 소스에 0x4E와 0x4F가 나타나는 이유입니다.

참고 :

Motorola M68000 Family Programmer's Reference Manual 페이지 4-188에 TRAP 명령의 세부 사항이 포함되어 있습니다. 특히 명령어는 12 비트 값 010011100100과 4 비트 "벡터"(이 경우 1111)로 표시됩니다. 따라서 "트랩 # 15"은 0x4E 0x4F로 표시됩니다. Sun은 특히 중단 점/추적에 벡터 15를 사용합니다. Google search은 수많은 주석과 소스 코드 예제를 보여줍니다.

+0

어디서 발견 했습니까? – Kamath

+0

일부 기술 리소스에 대한 링크가 추가되었습니다. –