본문 바로가기

strlen 구현 AT&T문법 어셈블리 코딩 연습 - strlen 더보기
Debug Register 디버그 레지스터는 프로그램 디버깅을 목적으로 프로세서에 의해 사용되는 레지스터로써 DR0~DR7까지 총 8개가 있습니다. 그 중 DR0~DR3까지 4개의 레지스터만 직접 사용이 가능합니다. 우리가 보통 하드웨어 브레이크 포인트를 4개 까지만 설정이 가능한 이유도 이와 같습니다. 그림으로 보면 이렇게 볼 수 있습니다. 그리고 나머지 DR4~DR7 까지 4개의 레지스터는 상태를 관리하기 위해 쓰입니다. 특별히 그 중 DR7레지스터는 Debug Control Register로 불리며 15비트부터 31비트까지 R/W 0~3의 비트가 있습니다. 이 비트들은 DR0~DR3 까지의 브레이크 포인트 속성과 관련 된 내용입니다. 각 비트는 두 개의 비트로 이루어져 있으며 각 의미를 보면 00 - 명령어가 실행 되었을 때.. 더보기
Control Register 컨트롤 레지스터란 운영체제의 운영 모드를 변경하고 현재 운영 중인 모드의 기능을 제어하는 레지스터이다. CR0, CR1, CR2, CR3, CR4 이렇게 다섯 개의 레지스터가 존재한다. 전체적인 부분을 그림으로 보면 그리고이렇게 나눌 수 있다. 각 레지스터들을 기능을 나누어 설명하면CR0 - 운영모드를 제어하는 레지스터 PE - Protection Enable (보호모드와 리얼모드 설정) MP - Monitor Coprocessor (wait, fwait 명령시 TS필드의 참조 여부) EM - Emulation (FPU가 내장되었는지 여부 설정) TS - Task Switched (FPU명령 사용시 예외 설정 여부) ET - Extension Type (1로 예약되어있음) NE - Numeric Erro.. 더보기