Debug 는 무엇을 의미합니까?
디버그 메인 명령 1. A[ 주소] 어셈블리 명령
기능: 명령어를 기계 코드로 직접 컴파일하여 메모리에 입력합니다.
설명: 작은 프로그램 어셈블리 및 대상 프로그램 수정에 사용됩니다. 입력된 모든 숫자는 16 진수이고, 사용자가 메모리를 로드하는 어셈블리 문은 연속적으로 저장됩니다. 주소를 지정하지 않고 이전에 어셈블리 명령을 사용하지 않은 경우 이 문은 CS: 0100 영역으로 어셈블됩니다. -a0100 08f1: 0100 mov ah, 09 08f1: 0102 mov dx, 109 08f1: 0105 int 21h 08f1: 0109 db' hello world! $' 08f1: 0115-g
2.D[ 주소] 또는 D[ 시작 주소] [대상 주소] 덤프 명령
기능: 메모리의 정보를 메모리 이미지로 표시합니다.
설명: 덤프는 왼쪽과 오른쪽 두 부분으로 메모리 이미지 내용을 표시합니다. 왼쪽은 16 진수로, 오른쪽은 ASCII 문자로, 인쇄 불가능한 모든 문자는 마침표 (.) 로 표시됩니다. 행당 16 바이트의 내용이 표시되고 8 번째 바이트와 9 번째 바이트 사이에 하이픈이 있습니다. 이 명령의 암시적 세그먼트 주소는 DS 값입니다. 시작 주소가 지정되지 않은 경우 D 명령은 표시된 마지막 셀의 다음 셀부터 표시되고, 이전에 D 명령을 사용하지 않은 경우 초기화된 세그먼트 레지스터의 내용과 주소 오프셋 0100H 부터 표시됩니다.
3.E[ 주소] [바이트 문자열) 메모리 수정 명령
기능: 지정된 주소에서 시작하여 메모리 값을 수정합니다.
설명: 주소 섹션에 오프셋만 입력된 경우 E 명령은 세그먼트가 DS 레지스터에 포함된 것으로 간주합니다. 두 가지 명령 형식이 있습니다. 하나는 지정된 주소로 시작하는 여러 바이트의 내용을 명령에 포함된 바이트 문자열로 바꾸는 것입니다. 둘째, 명령 뒤에 바이트 문자열을 따르지 않는 경우 바이트를 순서대로 표시하고 수정할 수 있으며, 스페이스바를 눌러 다음 바이트 내용을 표시하고, 수정하려면 해당 값을 직접 입력할 수 있습니다.
4.F[ 주소 범위] [바이트 또는 바이트 문자열] 채우기 명령
기능: 주소 범위에 의해 지정된 스토리지에 채울 바이트 또는 바이트 문자열을 채웁니다.
5.G[= 시작 주소] [[중단점] …] 명령 실행
기능: 디버깅 중인 프로그램을 실행하고 중단점에 도달하면 실행을 중지하고 레지스터 플래그와 실행할 다음 명령을 표시합니다.
설명: 시작 주소가 지정되지 않은 경우 현재 지시어 주소는 CS, IP 레지스터의 내용에 의해 결정되며 사용자가 시작 주소를 지정하면 지정된 시작 주소에서 실행됩니다. 중단점을 지정하면 명령이 명령 주소에 도달하면 실행이 중지되고 각 레지스터 플래그 비트의 내용과 실행할 다음 명령이 표시됩니다. 최대 10 개의 중단점을 설정할 수 있습니다.
6.L[ 주소] [디스크 번호:] [논리 섹터 번호] [섹터 수 ]
기능: 파일 또는 디스크의 절대 섹터를 메모리에 로드합니다.
설명: 단일 L 명령에 장착할 수 있는 최대 섹터 수는 80H 입니다. 여기서 디스크 번호 0, 1, 2, 3. 각각 A, B, C 를 나타냅니다. 읽기 오류가 발생하여 오류 메시지가 표시됩니다.
7.N[ 디스크 번호:] [경로] [파일 이름] [확장자 ]
기능: 작업 파일 이름을 정의합니다.
설명: 두 개의 작업 파일을 동시에 정의하고 결과 파일 제어 블록을 메모리 CS: 5C 및 CS: 6C 에 적절히 설정하여 향후 L 및 W 명령 작업에 사용할 수 있습니다.
8.O[ 포트 주소] [데이터] 출력 명령
기능: 지정된 출력 포트로 바이트를 보냅니다.
O 70 01
O 71 10
Q
9.P[= 주소] [데이터] 프로세스 명령
기능: 하위 프로그램을 명령, 루프 명령, 인터럽트 명령 또는 반복 문자열 명령을 호출하여 다음 명령에서 중지합니다.
설명: 하위 프로그램 호출 명령, 루프 명령, 인터럽트 명령 또는 반복 문자열 명령을 실행할 때 P 명령을 실행하여 명령을 실행하고 실행할 다음 명령으로 돌아갑니다. P 명령은 t 명령과 동일한 구문을 사용합니다.
10. Q 명령을 종료합니다.
11. R[ 레지스터] 레지스터 명령
기능: 1, 단일 레지스터의 내용을 표시하고 수정 기능을 제공합니다. 둘째, 모든 레지스터 내용, 문자 플래그 상태 및 실행할 다음 명령을 표시합니다. 셋째, 8 개의 플래그 비트 상태를 표시하고 수정 기능을 제공합니다.
12. T[= 주소] [명령 줄 수] 추적 명령
기능: 각 명령어가 실행된 후 각 레지스터의 내용이 표시되는 추적자 실행별로 수행됩니다.
설명: 일반적으로 하나의 명령을 추적하지만 사용자는 명령 막대 수를 사용하여 한 번에 여러 명령을 추적하도록 설정할 수 있으며, 각 명령을 실행한 후 모든 레지스터의 내용과 플래그 상태를 표시할 수 있습니다.
13. U[ 시작 주소] 또는 [주소 범위 ]
기능: 메모리의 내용을 어셈블리 문으로 변환합니다.
설명: 디스어셈블된 바이트 수는 사용자의 시스템 표시 형식 및 u 명령에 사용되는 선택 사항에 따라 달라집니다.
14. W[ 주소] [문자:] [시작 섹터] [섹터 수] 디스크 쓰기 명령
기능: 수정된 데이터를 디스크에 씁니다.
설명: 지정된 메모리 주소로 시작하는 데이터를 디스크에 기록하거나 매개변수를 지정하지 않거나 주소 매개변수를 지정하지 않고 디버그 파일을 디스크에 쓸 수 있습니다. -A 100
MOV DX, 70
MOV AL, 10
OUT DX, AL
MOV DX, 71
MOV AL, 01
OUT DX, AL (여기서 캐리지 리턴을 두 번 하고'-'프롬프트가 나타난 후 다음 명령을 입력)
R CX (캐리지 리턴 후 "CX 0000" 이 나타난 다음 다시 캐리지 리턴)
0C
N pass.COM
W
Q
이렇게 하면 Debug 의 현재 디렉토리에 pass.com 이 생성됩니다. BIOS 비밀번호 설정을 지우는 프로그램입니다. DOS 프롬프트에 "pass" 를 입력하고 enter 키를 누르면 됩니다. 우리가 테스트한 결과, 사실 Windows 에서 실행해도 성공할 수 있다. 다만 그다지 안정적이지 않아, 때로는 컴퓨터를 다시 시작할 때가 있다. L LCD 화면에 불량 지점이 있는지 여부를 감지하기 위해 전체 화면을 빨간색, 녹색, 파란색, 흰색 등의 단색으로 채워 확인할 수 있습니다.
다음은 몇 가지 일반적인 디스플레이 감지 f 명령 (Debug 창은 일반적으로 작으며 Alt+Enter 를 눌러 전체 화면으로 확대)
Fb800: 00 f9f20 70; 전체 화면 흰색
Fb800: 00 f9f20 40 전체 화면 빨강
Fb800: 00 f9f20 20 전체 화면 녹색
Fb800: 00 f9f20 10 전체 화면 블루
Fb800: 00 f9fc5 07 C4 07 전체 화면 흰색 십자형
Fb800: 00 f9fc5 04 C4 04 전체 화면 빨간색 십자 그리드
Fb800: 00 f9fc5 02 C4 02 전체 화면 녹색 십자 그리드
Fb800: 00 f9fc5 01 C4 01 전체 화면 블루 크로스 그리드