real-mode

    3

    1답변

    모든 설정으로 거의 모든 C 컴파일러를 시험해 보았습니다. 아직 C를 Real 모드 커널 개발에 적합한 Intel x86 코드로 컴파일 할 수있는 C 컴파일러를 찾지 못했습니다. 보호 모드를 사용해야하는 이유에 대해 어떤 언급도 필요하지 않습니다. 필자는 OS 의존성이없는 독립 실행 형 16 비트 바이너리를 컴파일하는 데 C 컴파일러 (필요한 경우 실행 설

    4

    1답변

    간단한 16 비트 리얼 모드 운영 체제에서 화면을 지우려고합니다. 아래 코드는 다음과 같습니다 clearScreen: pusha mov ah, 0x7 mov al, 0 int 0x10 popa ret 나는 0-al를 설정하고 화면을 청소 것이다 스크롤 화면 인터럽트를 호출하지만 단지 회색으로 첫

    0

    1답변

    16 비트 리얼 모드 운영 체제를 만들고 있는데 사용자가 입력 한 명령을 전달하려고합니다. 입력을 할 수는 있지만 결과 문자열을 저장하는 방법을 모르므로 나중에 구문 분석 할 수 있습니다. 스택에 각 캐릭터를 넣은 다음 사용하고 싶을 때 팝하고 반전하는 것보다 나은 방법이 있습니까? 내 주요 루프 : mainLoop: mov bx, s_PROMPT

    0

    1답변

    나는 How to compare two strings assembly을 보았고 문자가 일치하지 않아서 내가 원하는 방식으로 코드를 작동시킬 수 없을 때까지 문자로 문자를 비교하려고합니다. 나는 간단한 쉘을 그리고 난 도움말 명령을 시작 했어 : parseInput: mov ah, 0x0e mov bh, [bx] mov bl, s

    0

    2답변

    From book: 전원을 켠 후에 은 BIOS을로드하고 인터럽트 벡터 테이블을 작성한 다음 실제 주소 모드에서 인터럽트 서비스 루틴을 시작합니다. BIOS에 의해 CPU은 INT 0x19을받습니다. ISR이 INT 0x19 인 경우 첫 번째 섹터 (512B)가 메모리에로드됩니다. 이 섹터는 OS의 다른 부분을 메모리에로드하는 Linux의 부팅 부분입니다.

    3

    1답변

    기계가 전원을 켰을 때 커널을 실행하는 방법을 이해하려고합니다. 내가 수집 한 것부터 부팅 할 때 보호 모드로 전환하여 페이지 디렉토리와 페이지 테이블 및 세그먼트 화 기능이 해제 된보다 일반적인 가상 메모리 계획으로 전환하더라도 주소 지정이 가능한 메모리에 액세스 할 수 있습니다. . 글로벌 디스크립터 테이블 (GDT)를 설정하고 는 PE 플래그/비트의를

    1

    1답변

    나는 재미와 교육 (클래스 프로젝트가 아님)을 위해 장난감 커널에서 일하고있다. 내 메모리 관리자에서 작업을 시작하고 있으므로 리얼 모드에서 여전히 INT 0x15, EAX=E820 호출을 사용하여 BIOS에서 메모리 맵을 가져 오려고합니다. 나는 osdev 위키 (here, "E820 메모리 맵 얻기"절 참조)에서 함수를 적용하고 있습니다. 그러나이 코드

    0

    1답변

    화면 색상 (bh)에 대한 속성이 있다는 것을 0x07에서 0x07 (화면 스크롤/지우기) 기능을 사용할 때 알아 챘습니다. 나는 원래 0x07 (검은 색 바탕에 흰색)을 0x0a (검은 색 바탕에 녹색)로 변경 했으므로 help color이이 모든 색을 나열했음을 알았지 만 예상대로 작동하지 않았고 화면이 검은 색 흰색이었습니다. 디스플레이 모드를 변경해

    1

    1답변

    GCC 및 작은 어셈블러 부트 스트랩 루틴을 사용하여 부트 로더를 작성하고 있습니다. 문자열을 제대로 기록하는 것으로 보이지 않는 BIOS 인터럽트를 사용하여 디스플레이에 문자열을 인쇄하는 puts 루틴을 작성했습니다. 내 부트 스트랩 어셈블러 파일 boot.s에는 다음이 포함 /* * A 16 bit bootloader. */ void putcha

    0

    1답변

    플랫 어셈블러를 사용하여 어셈블리에 작은 부팅 가능 OS를 만들었습니다. 나는 그것을 PulsarOS라고 부른다. 그러나, 나는 그것에 대한 타이핑 프로그램을 만들고 싶다. 제가 말했듯이, 그것은 모두 x86 어셈블리에 있습니다. 사용자가 입력 할 수있는 곳으로 간단하게 입력하고 입력 한 텍스트가 화면에 표시됩니다. 여기에 코드가 있습니다. 비교적 간단한,