목차
제0장 서장
제1장 모델, 규약 접속
1.0 프로그램 설계 및 코딩 = 13
1.0.1 코딩할 것인가 아니면 카피할 것인가 = 14
1.0.2 알고리즘과 루틴 = 15
1.0.3 언어 선택 = 16
1.0.4 상황 = 17
1.0.5 코드 사용 = 18
1.1 코딩 스타일 = 19
1.1.1 세그먼트 모델 = 19
1.1.2 주석 및 표제에 대한 모델 = 24
1.1.3 코딩 템플릿 = 25
1.2 규약 = 27
1.2.1 PUSH 및 POP 시퀀스 = 28
1.2.2 레지스터 사용 = 28
1.2.3 오류 처리 = 29
1.2.4 수 체계 = 30
1.3 고급 언어와의 접속 = 30
1.3.1 헤더 루틴을 통한 접속 = 31
1.4 Quickbasic과의 접속 = 32
1.4.1 값에 의한 Quickbasic 매개변수 전달 = 32
1.4.2 참조에 의한 Quickbasic 매개변수 전달 = 38
1.5 Microsoft/IBM C 언어와의 접속 = 42
1.5.1 C 언어 명칭 규약 = 42
1.5.2 Microsoft/IBM C 컴파일러의 리턴 값 = 47
1.6 Turbo Pascal과의 접속 = 48
제2장 필수 루틴 라이브러리
2.0 기본적인 연산 = 53
2.0.1 장치 작동기 = 54
2.1.2 원시 루틴 = 54
2.1 루틴 라이브러리 사용 = 55
2.2 직접 액세스 비디오 디스플레이 모듈 = 56
2.3 BIOS 및 DOS 비디오 디스플레이 모듈 = 66
2.4 키보드 모듈 = 80
2.5 프린터와 직렬 포트 출력 모듈 = 89
2.6 변환 모듈 = 99
2.7 디스크 입력/출력 모듈 = 106
2.8 보조 서비스 모듈 = 117
제3장 운영체제 프로그램 개발
3.0 시스템 소프트웨어 = 141
3.0.1 시스템 개발 = 141
3.0.2 IBM 마이크로컴퓨터 BIOS = 142
3.0.3 시스템 메모리 공간 = 143
3.0.4 MS DOS 중독 = 144
3.1 운영체제의 요소 = 145
3.1.1 BIOS 부트스트랩 = 146
3.1.2 커널 초기화 = 146
3.1.3 명령 처리기 = 147
3.1.4 프로그램 적재기 = 148
3.1.5 시스템 자원 관리 = 148
3.2 운영체제의 코딩 = 149
3.2.1 MINIOS 메모리 맵 = 150
3.2.2 MINIBOOT 파일 = 151
3.2.3 MINIOS 커널 = 156
3.2.4 TESTEF 실행 가능 파일 = 179
3.3 MINIOS 소프트웨어 생성 = 181
3.3.1 MAKEOS 프로그램 = 182
3.3.2 MAKEEF 프로그램 = 190
제4장 프린터 프로그래밍
4.0 프린팅 장치 = 199
4.0.1 유용한 프린터 응용 = 200
4.0.2 Centronics 표준 = 201
4.0.3 병렬 포트 하드웨어에의 직접 액세스 = 202
4.0.4 TSR 코딩 = 202
4.0.5 TSR 코드 액세스 = 203
4.1 프린터 필터 = 204
4.1.1 문자 필터 개발 = 204
4.1.2 장치 필터 개발 = 209
4.1.3 설치된 필터의 제거 = 216
4.2 프린터 스폴러 = 219
4.2.1 SPOOL 프로그램 = 220
4.3 레이저 프린터 프로그래밍 = 231
4.3.1 휴렛 팩커드의 Printer Control Language(PCL) = 232
4.3.2 PCL 제어 코드 = 232
4.3.3 PCL 프린터 명령 = 233
4.3.4 PCL 페이지 = 236
4.3.5 PCLDUMP 프로그램 = 236
제5장 직렬 통신 프로그래밍
5.0 IBM 마이크로컴퓨터의 직렬 포트 = 253
5.0.1 RS-232C 직렬 통신 표준 = 254
5.0.2 직렬 포트의 구현 = 255
5.1 통신 프로그래밍 = 255
5.1.1 폴링 기법 = 255
5.1.2 설계에 의한 동기화 = 256
5.1.3 소프트웨어 핸드셰이크 = 257
5.1.4 통신 인터럽트 사용 = 258
5.1.5 통신 인터럽트 서비스 루틴 = 259
5.1.6 원형 버퍼 = 260
5.2 직렬 포트 하드웨어 프로그래밍 = 261
5.2.1 인터럽트 작동식 통신 준비 = 263
5.2.2 인터럽트 통신의 억제 = 264
5.3 전송 오류 검출 = 265
5.3.1 패리티 검사 = 265
5.3.2 CRC 및 체크섬 방법 = 265
5.4 SERCOM 프로그램 = 268
제6장. 모뎀 프로그래밍
6.0 전화선을 이용한 컴퓨터 통신 = 307
6.0.1 모뎀 = 307
6.0.2 내부 및 외부 모뎀 = 308
6.0.3 모뎀 통신 표준 = 308
6.1 Hayes 명령 세트 = 309
6.1.1 모뎀 연산 모드 = 310
6.1.2 모뎀 레지스터 = 312
6.2 DIALER 프로그램 = 312
6.3 인터럽트 공유 = 352
6.3.1 인터럽트 처리기의 연결 해제 = 352
제7장 키보드 프로그래밍
7.0 IBM 마이크로컴퓨터 키보드 하드웨어 = 357
7.0.1 키보드 제어기 = 357
7.1 키보드 스캔 코드 = 358
7.2 키보드 인터럽트(INT O9H) = 360
7.2.1 키 및 키스트로크의 분류 = 361
7.2.2 SHOWSCAN 프로그램 = 364
7.3 BIOS의 키보드 데이터 = 371
7.3.1 1차 키보드 상태 바이트 = 372
7.3.2 2차 키보드 상태 바이트 = 372
7.3.3 키보드 버퍼 및 버퍼 포인터 = 373
7.4 시스템과 키보드 성능 = 374
7.4.1 성능 측정 = 374
7.4.2 타이프매틱(typematic) 행동 = 375
7.4.3 PC 키보드의 타이프매틱 행동 = 376
7.4.4 AT 및 PS/2 키보드의 타이프매틱 행동 = 377
7.5 SETKBD 프로그램 = 377
7.6 PC 키보드의 과부하 = 387
7.6.1 키보드 반복 처리기의 설계 = 387
7.6.2 처리기 코딩 = 388
7.7 FAST48 프로그램 = 389
제8장 80×87 수학 코프로세서 프로그래밍
8.0 저급 수학 = 411
8.1 80×87 수학 코프로세서 = 412
8.1.1 80×87 데이터 변환 = 414
8.1.2 10×87 프로그램 = 414
8.2 80×87 삼각법 = 458
8.2.1 80×87 삼각법 프로시저 = 458
8.3 80×87의 소프트웨어 에뮬레이션 = 465
8.3.1 에뮬레이터 연산의 세부사항 = 467
8.3.2 MASM용 80×87 에뮬레이터 포함 파일 = 468
제9장 VGA 그래픽 프로그래밍
9.0 VGA 마이크로컴퓨터의 그래픽 설비 = 527
9.0.1 VGA 표준 = 529
9.0.2 그래픽 소프트웨어의 이전성 = 530
9.0.3 해상도 대칭 = 530
9.0.4 VGA 비디오 메모리 구조 = 532
9.1 VGA 프로그래밍 = 534
9.1.1 판독 모드 선택 = 535
9.1.2 VGA 기록 모드 = 536
9.1.3 번지 사상 = 538
9.1.4 바이트 수준 연산 = 539
9.1.5 비트 수준 연산 = 540
9.2 그래픽 원시 루틴 = 540
9.3 VGA 그래픽 텍스트 = 541
9.3.1 스크린 폰트 생성 = 544
9.4 컴퓨터 애니메이션 = 544
9.4.1 시각적 보유 = 545
9.4.2 방해 = 546
9.4.3 애니메이션 루틴의 XOR 연산 = 546
9.4.4 타임드 펄스 생성 = 548
9.4.5 수직 리트레이스 인터럽트 = 549
9.5 대화식 애니메이션 = 550
9.5.1 마우스 프로그래밍 = 551
9.5.2 마이크로소프트 마우스 서비스(INT 33H) = 551
9.6 GALLERY 프로그램 = 553
제10장 예외적인 해법
10.0 문제 해결 = 603
10.0.1 발견적 방법 = 605
10.0.2 문제 해결에 있어서의 컴퓨터 = 606
10.1 해결하기 어려운 문제 해결 = 606
10.1.1 선형 프로그래밍 = 607
10.1.2 억지 방법 = 608
10.2 컴퓨터 시뮬레이션 = 608
10.2.1 컴퓨터 모델링 = 609
10.2.2 시간 경과 시뮬레이션 = 610
10.2.3 예측 가능성 = 610
10.2.4 이벤트 상관 관계 = 611
10.2.5 풀과 행렬 = 611
10.3 이벤트 모델링의 사례 연구 = 612
10.4 AGRIMAX 프로그램 = 615
참고문헌 = 662