Course details
Advanced Assembly Languages
PAS Acad. year 2008/2009 Winter semester 5 credits
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
Completion
Time span
- 26 hrs lectures
- 16 hrs pc labs
- 10 hrs projects
Department
Lecturer
Instructor
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
-
- 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
Fundamental 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
Syllabus of lectures
- Architecture of the Pentium processors: register set, memory addresing, interrupts
- Protected Mode: instruction set and basic principles
- Protected Mode: FPU, memory
- Basic rules of the programming in the protected mode, task management
- Win32 API: programming of the Windows applications (console)
- Win32 API: programming of the Windows applications (windows)
- MMX instruction set
- Application of the MMX instructions in the multimedia application
- SSE and 3DNow! instruction sets
- Use of the SSE and 3DNow! in the general applications
- Use of the SSE and 3DNow! in the 3D graphics
- 64-bit processors (AMD 64): architecture, instruction set, changes and extensions
- Development of the 64-bit applications
Syllabus of computer exercises
- Switching to the protected mode and task management in the protected mode
- Win32 API - console application
- Win32 API - window application I
- Win32 API - window application II
- Application of the MMX instructions
- General application of the SSE instructions
- Application of the SSE instructions in the 3D graphics
- Individual program
Progress assessment
Study evaluation is based on marks obtained for specified items. Minimimum number of marks to pass is 50.
Teaching methods and criteria
Teaching methods depend on the type of course unit as specified in the article 7 of BUT Rules for Studies and Examinations.
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.
Course inclusion in study plans