Course detail

Advanced Assembly Languages

FIT-PASAcad. year: 2009/2010

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.

Language of instruction

Czech

Number of ECTS credits

5

Mode of study

Not applicable.

Learning outcomes of the course unit

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.

Prerequisites

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

Co-requisites

Not applicable.

Planned learning activities and teaching methods

Not applicable.

Assesment methods and criteria linked to learning outcomes

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

Course curriculum

  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

Work placements

Not applicable.

Aims

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.

Specification of controlled education, way of implementation and compensation for absences

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.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

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

Recommended reading

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

Classification of course in study plans

  • Programme IT-BC-3 Bachelor's

    branch BIT , 0 year of study, winter semester, elective

  • Programme IT-MSC-2 Master's

    branch MBI , 0 year of study, winter semester, elective
    branch MBS , 0 year of study, winter semester, compulsory-optional
    branch MGM , 0 year of study, winter semester, elective
    branch MGM , 0 year of study, winter semester, elective
    branch MIN , 0 year of study, winter semester, compulsory-optional
    branch MIN , 0 year of study, winter semester, elective
    branch MIS , 0 year of study, winter semester, elective
    branch MIS , 0 year of study, winter semester, elective
    branch MMI , 0 year of study, winter semester, elective
    branch MMM , 0 year of study, winter semester, elective
    branch MPS , 0 year of study, winter semester, elective
    branch MPV , 0 year of study, winter semester, elective
    branch MSK , 0 year of study, winter semester, elective

Type of course unit

 

Lecture

26 hod., optionally

Teacher / Lecturer

Syllabus

  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

Exercise in computer lab

16 hod., optionally

Teacher / Lecturer

Syllabus

  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

Project

10 hod., optionally

Teacher / Lecturer