책 이미지
책 정보
· 분류 : 국내도서 > 대학교재/전문서적 > 공학계열 > 컴퓨터공학 > 운영체제/소프트웨어 공학
· ISBN : 9788970508276
· 쪽수 : 408쪽
책 소개
목차
chapter 01 시스템 소프트웨어의 개요
1.1 컴퓨터 하드웨어
1.1.1 컴퓨터 시스템의 기본 개념
1.1.2 시스템 소프트웨어 정의
1.2 시스템 소프트웨어
1.2.1 어셈블러(assembler)
1.2.2 매크로 프로세서(macro processor)
1.2.3 링커(linker)와 로더(loader)
1.2.4 번역기(Translator)
1.2.5 운영체제(Operating System)
1.3 임베디드 시스템(Embedded System)의 개요 및 활용
1.3.1 임베디드 시스템의 정의
1.3.2 임베디드 시스템을 설계하거나 개발할 때 고려 사항
1.3.3 임베디드 시스템 활용의 예
요약
연습문제
chapter 02 컴퓨터 동작의 기본 개념
2.1 컴퓨터 연산 단위
2.1.1 비트(Bit)
2.1.2 바이트(Byte)
2.1.3 단어(Word)
2.1.4 2진수 연산
2.2 컴퓨터 조직
2.2.1 프로세서(processor)
2.2.2 시스템 버스(system bus)
2.2.3 기억 장치(memory)
2.2.4 입출력 장치(input/output device)
2.3 명령어 실행 개념
2.3.1 판독 사이클(read cycle)과 기록 사이클(write cycle)
2.3.2 명령어의 실행
2.3.3 명령어 실행 속도
2.4 기억 장치 관리
2.4.1 기억 장치의 주소
2.4.2 데이터 및 프로그램의 저장
2.4.3 기억 장치의 관리 방법
요약
연습문제
chapter 03 인텔 프로세서의 내부 구조
3.1 32비트 인텔 프로세서
3.1.1 펜티엄 프로세서의 개요
3.1.2 32비트 프로세서의 실행 환경
3.1.3 기본 프로그램 실행 레지스터
3.2 16비트 인텔 프로세서
3.2.1 16비트 인텔 프로세서의 구조
3.2.2 명령어의 길이
3.2.3 8086 명령어
3.3 기억 장치(memory)
3.3.1 기억 장치의 모델
3.3.2 데이터 기록
3.4 레지스터(register)
3.4.1 레지스터의 종류와 역할
3.4.2 데이터 레지스터(data register)
3.4.3 포인터, 인덱스 레지스터
3.4.4 플래그 레지스터(Flag Register)
3.4.5 세그먼트 레지스터(Segment Register)
3.4.6 논리 주소와 실제 주소
3.4.7 명령어 포인터(IP: Instruction Pointer)
3.5 데이터의 표현
3.5.1 데이터의 부호(sign)
3.5.2 데이터의 해석
요약
연습문제
chapter 04 어셈블리어
4.1 프로그래밍 언어
4.1.1 수의 체계
4.1.2 프로그래밍 언어의 계층
4.1.3 고급 언어와 중급 언어
4.1.4 저급 언어
4.1.5 프로그래밍 언어의 선택
4.2 메모리와 레지스터
4.2.1 메모리
4.2.2 세그먼트:오프셋(Segment:Offset)
4.2.3 레지스터(Register)
4.3 8086 어셈블리어 개요
4.3.1 어셈블리 언어의 기본적인 이해
4.3.2 명령어 형식
4.3.3 주석문
4.3.4 데이터 정의
4.4 분기와 표지 기호
4.4.1 순차적 실행(sequential execution)
4.4.2 조건 분기(conditional branch)
4.4.3 무조건 분기(Unconditional Branch)
4.5 주소 지정 방식(Addressing Mode)
4.6 값 즉시 지정 방식
4.7 직접 주소 지정 방식
4.7.1 레지스터 직접 지정 방식
4.7.2 메모리 직접 주소 지정 방식
4.8 간접 주소 지정 방식
4.8.1 레지스터 간접 주소 지정 방식([ ])
4.8.2 베이스 주소 지정 방식(Displacement, BX, BP)
4.8.3 인덱스 주소 지정 방식(Displacement, SI, DI)
4.8.4 베이스 인덱스 번지 지정 방식(Displacement, BX or BP, SI or DI)
4.9 MOV와 ADD 명령어의 코드 변환
요약
연습문제
chapter 05 매크로 프로세서 설계
5.1 매크로의 역할
5.1.1 매크로 정의와 확장
5.1.2 매크로와 서브루틴
5.2 매크로 기능
5.2.1 매크로 인수
5.2.2 조건부 매크로 확장
5.2.3 매크로 내의 매크로 호출
5.2.4 매크로 내의 매크로 정의
5.2.5 반복 기능의 매크로
5.3 매크로 프로세서의 설계
5.3.1 설계 시 고려사항
5.3.2 자료구조
5.4 이중 패스 매크로 프로세서 알고리즘
5.4.1 패스 1 알고리즘
5.4.2 기본 기능만 포함하는 패스 2 알고리즘
5.4.3 매크로 내의 매크로 호출 기능을 포함하는 패스 2 알고리즘
요약
연습문제
chapter 06 8086 어셈블러 설계
6.1 어셈블러의 역할
6.1.1 프로그램의 작성과 실행 단계
6.1.2 어셈블러의 입력과 출력
6.2 이중 패스(Two Pass)
6.2.1 이중 패스의 필요성
6.2.2 어셈블 과정
6.2.3 패스 1과 패스 2의 역할
6.3 이중 패스 어셈블러의 설계
6.3.1 이중 패스 알고리즘
6.3.2 자료구조
6.4 단일 패스 어셈블러
6.4.1 단순 전향 참조
6.4.2 다수의 전향 참조 처리
요약
연습문제
chapter 07 링커와 로더의 설계
7.1 링커와 로더의 역할
7.1.1 링크(link)
7.1.2 주기억 장치의 할당(memory allocation)
7.1.3 재배치 및 적재(relocation & loading)
7.2 로더의 형태
7.2.1 컴파일 즉시 로더(compile-and-go loader)
7.2.2 절대 로더(absolute loader)
7.2.3 링커 및 재배치 로더(linker and relocate loader)
7.2.4 링킹 로더(linking loader)
7.2.5 동적 로더(dynamic loader)
7.3 링커 및 재배치 로더 설계
7.3.1 설계를 위한 문제점
7.3.2 링크를 위한 어셈블링(예제)
7.3.3 링크 및 재배치 과정(예제의 연속)
7.4 자료구조 및 알고리즘
7.4.1 자료구조
7.4.2 알고리즘
요약
연습문제
chapter 08 어셈블리 프로그램의 연습
[연습 1] 간단한 키패드 제어 프로그램
[연습 2] Repetive Move Operation의 프로그램
[연습 3] ASCII 파일의 입/출력 프로그램
부록
부록 A. 16진수 변환표, 2의 x제곱
부록 B. ASCII 변환표
부록 C. BCD 코드 변환표
부록 D. 8086/8088 명령어표와 80x86 명령어
부록 E. 어셈블러의 지시어
부록 F. DOS 함수 호출(function call)
부록 G. DEBUG 명령어와 사용법
부록 H. 이중 패스 매크로 프로세서의 구현
부록 I. 이중 패스 어셈블러의 설계 및 구현
부록 J. Visual Basic 6.0으로 설계한 스택 시뮬레이션의 구현 예
부록 K. TASM에서 그래픽 문자의 제거 방법
부록 L. stdio.h에 정의된 함수들
부록 M. 세그먼트(Segment)