어셈블리 언어 튜토리얼
Description
어셈블리 언어는 두 가지 관점에서 여전히 살아 있는 언어이다.
첫째는 보안이라는 관점에서 볼 때 소스가 공개되지 않는 프로그램을 바이너리수준에서 분석하고 이해해야 한다면 디스어셈블 된 코드를 읽어야 하는데, 이때 어셈블리 언어에 대한 이해가 없다면 불가능하다.
둘째는 하드웨어를 직접 제어 하는 부분(드라이버나 운영체제 커널의 특별한 모듈)은 여전히 그 간결성과 편의성 때문에 어셈블리 언어로 코딩을 할 수밖에 없다. 예를 들어 운영체제 소스를 분석해 보면 여전히 소스 중 일정비율은 어셈블리 언어로 코딩되어 있다.

이 책은 어셈블리 언어를 처음 공부하는 사람들이 쉽게 언어에 접근할 수 있도록 내용이 구성되어 있으며, 전통적인 문법 중심의 방법은 사용하지 않았다. 실제로 코딩을 할 수 있는 내용을 중심으로 구성했으며, 동일한 문법으로 다양한 운영체제에서 공통으로 동작하는 NASM 어셈블러를 사용했다. 초보자를 위해 앞부분은 멀티 플랫폼 입출력 매크로 라이브러리를 사용하여 운영체제에 무관하게 논리 연습에 집중하도록 하였다. 후반부에서는 각각의 운영체제 종속적인 코드들도 연습시켜 운영체제의 차이점에 대하여 명확하게 느낄 수 있도록 하였다.
저자

원일용

한동경원대학교전자계산학과학사
건국대학교대학원컴퓨터공학과석사
건국대학교대학원컴퓨터공학과박사
전)(주)사람과사람들개발이사
전)(주)하나로월드닷컴개발팀장
전)프리랜서
전)신구대학교/경민대학교/경원대학교겸임교수
전)건국대학교,천안대학교시간강사
현)서울호서직업전문학교사이버해킹보안과전임교수

목차

PARTⅠCPU던전
STAGE0로그인
STAGE1기본개념의숲
STAGE2사칙연산의숲
STAGE3논리연산의숲
STAGE4반복의숲
STAGE5모듈프로그래밍의광야

PARTⅡMS-Windows던전
STAGE6외부모듈확장의바다(MS-Windows)
STAGE7커널서비스의사막(MS-Windows)

PARTⅢLinux던전
STAGE8외부모듈확장의바다(Linux)
STAGE9시스템콜의사막(Linux)

PARTⅣMS-DOS던전
STAGE10잊혀진사막(16bitMS-DOS)