Course details

Advanced Assembly Languages

PAS Acad. year 2007/2008 Winter semester 5 credits

Current academic year

Protected mode of the Pentium based processors: protection principles, registers, memory management, instruction set. Techniques of programming in the protected mode, task management, virtual mode. Use of the low-level interface Win32 API in the Windows applications. Programming using new multimedial instruction sets of the Pentium based processors (MMX, SSE and 3DNow!). 64-bit applications for the AMD processors.

Guarantor

Language of instruction

Czech

Completion

Examination

Time span

  • 26 hrs lectures
  • 16 hrs pc labs
  • 10 hrs projects

Department

Subject specific learning outcomes and competences

To acquaint with principles of the protected mode. To learn development of applications using the MMX, SSE or 3DNow! instructions and how to program applications in the protected mode. To learn using the Win32 API at the lowest level.

Learning objectives

To give the students better knowledge of developing of more complex low-applications. To learn how to use the multimedial extension instructions of the Pentium processors. To learn basic principles of the protected mode programming using the low-level Win32 API. To acquiant with the 64-bit processors.

Prerequisite knowledge and skills

Basic knowledge of the assembly language of the 80x86 processor family is necessary. Student has to be able to work with the NASM.

Study literature

    1. Zbořil, F.: Strojově orientované jazyky, skripta, VUT v Brně, 1991, ISBN 80-214-0349-7
    2. Abel, P.: IBM PC Assembly Language and Programming, Prentice-Hall, Inc., 1995, ISBN 0-13-317729-7
    3. Hyde, R.: The Art of Assembly Language, No Strach, 2003, ISBN 1886411972

Fundamental literature

    1. Hyde, R.: The Art of Assembly Language, No Strach, 2003, ISBN 1886411972
    2. Irvine, K.R.: Assembly Language for Intel-Based Computers, Prentice Hall, 2002, ISBN 0130910139
    3. Bistry, D.: The Complete Guide to MMX Technology, McGraw-Hill/TAB Electronics, 1997, ISBN 0070061920
    4. Zbořil, F.: Strojově orientované jazyky, skripta, VUT v Brně, 1991, ISBN 80-214-0349-7
    5. Abel, P.: IBM PC Assembly Language and Programming, Prentice-Hall, Inc., 1995, ISBN 0-13-317729-7

Syllabus of lectures

  1. Architecture of the Pentium processors: register set, memory addresing, interrupts
  2. Protected Mode: instruction set and basic principles
  3. Protected Mode: FPU, memory
  4. Basic rules of the programming in the protected mode, task management
  5. Win32 API: programming of the Windows applications (console)
  6. Win32 API: programming of the Windows applications (windows)
  7. MMX instruction set
  8. Application of the MMX instructions in the multimedia application
  9. SSE and 3DNow! instruction sets
  10. Use of the SSE and 3DNow! in the general applications
  11. Use of the SSE and 3DNow! in the 3D graphics
  12. 64-bit processors (AMD 64): architecture, instruction set, changes and extensions
  13. Development of the 64-bit applications

Syllabus of computer exercises

  1. Switching to the protected mode and task management in the protected mode
  2. Win32 API - console application
  3. Win32 API - window application I
  4. Win32 API - window application II
  5. Application of the MMX instructions
  6. General application of the SSE instructions
  7. Application of the SSE instructions in the 3D graphics
  8. Individual program

Progress assessment

Study evaluation is based on marks obtained for specified items. Minimimum number of marks to pass is 50.

Controlled instruction

Mid-term exam, evaluated project with a defence and final exam are monitored and given points for. There is no way to obtain the points for the mid-term exam and project additionally. Final exam has two additional correction possibilities.

Back to top