S/W의 근본 원리를 깊이 있게 배울수 있는

어셈블리 프로그래밍

수강대상

컴퓨터 내부구조를 정확히 이해 하고 싶은 사람 운영체제의 동작원리를 이해 하고 싶은 사람
임베디드 및 펌웨어 개발자 각종 엔진 개발자

선수과정

없음

강의환경

NASM
GASM
MASM
visual c++ 2008
gcc

어셈블리를 통해 c언어 내부 동작을 익힌다.
하드웨어 제어의 원리을 익힌다.

  • Section1. 어셈블리 개요
    • 숫자 표현법
    • 컴퓨터 구조
    • 어셈블리 언어
    • 프로그램 생성
  • Section2. 어셈블리 언어 기본
    • 정수의 내부구조
    • 제어 구조
    • C제어문의 어셈구조
    • 솟수 찾기 프로그램
  • Section3. bit 연산자
    • Shift Operations
    • Boolean Bitwise Operations
    • Manipulating bits in C
    • Big and Little Endian
    • Counting Bits
  • Section4. Subprograms
    • Indirect Addressing
    • Simple Subprogram Example
    • The Stack
    • The CALL and RET Instructions
    • Calling Conventions
    • Muli-Module Programs
    • Interfacing Assembly with C
    • Reentrant and Recursive Subprograms
  • Section5. Arrays
    • 배열 소개
    • Array/String Instructions
  • Section6. 파일 포맷 컴파일러와 링커 언어, 기계어, 어셈블리 언어
    • - ELF와 PE 구조에 대해 학습한다.
    • - 윈도우의 cl, 리눅스의 gcc 컴파일러의 사용법과 어셈블러 사용법
    • - 어셈블리언어의 소개
  • Section7. 인텔 어셈블리 문법 NASM, MASM AT&T 어셈블리 문법
    • - 스택 프레임, 제어문, 문자열 처리기법 등
    • - 인텔 문법과의 차이점, 인라인 어셈블리 표기법 등
  • Section8. 부트 스트랩 로더 제작
    • - 컴퓨터 부팅의 원리와 하드웨어 제어
    • - 메모리 관리 기법 및 멀티 태스킹
    • - 32bit 보호 모드 분석
  • Section9. 성능, 크기 최적화
    • -C/C++로 만들어진 코드를 컴파일할 때 최적화옵션에 따라 생성되는 기계어 코드를 분석해 봄으로서 속도, 크기 최적화에 대해 학습한다.