Title:

Advanced Assembly Languages

Code:PAS
Ac.Year:2009/2010
Term:Winter
Study plans:
ProgramBranchYearDuty
IT-BC-3BIT-Elective
IT-MSC-2MBI-Elective
IT-MSC-2MBS-Compulsory-Elective - group C
IT-MSC-2MGM-Elective
IT-MSC-2MGM.-Elective
IT-MSC-2MIN-Compulsory-Elective - group S
IT-MSC-2MIN.-Elective
IT-MSC-2MIS-Elective
IT-MSC-2MIS.-Elective
IT-MSC-2MMI-Elective
IT-MSC-2MMM-Elective
IT-MSC-2MPS-Elective
IT-MSC-2MPV-Elective
IT-MSC-2MSK-Elective
Language:Czech
Credits:5
Completion:examination (written)
Type of
instruction:
Hour/semLecturesSem. ExercisesLab. exercisesComp. exercisesOther
Hours:26001610
 ExaminationTestsExercisesLaboratoriesOther
Points:50150035
Guarantee:Orság Filip, Ing., Ph.D., DITS
Lecturer:Orság Filip, Ing., Ph.D., DITS
Instructor:Dittrich Petr, Ing., DCGM
Faculty:Faculty of Information Technology BUT
Department:Department of Intelligent Systems FIT BUT
 
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.
Description:
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.
Knowledge and skills required for the course:
Basic knowledge of the assembly language of the 80x86 processor family is necessary. Student has to be able to work with the NASM.
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.
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
Syllabus - others, projects and individual work of students:
Individual project: design of the simple application in the protected mode using the MMX and SSE instructions and the Win32 API.
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, textbook, BUT, 1991, ISBN 80-214-0349-7
  5. Abel, P.: IBM PC Assembly Language and Programming, Prentice-Hall, Inc., 1995, ISBN 0-13-317729-7
Study literature:
  1. Abel, P.: IBM PC Assembly Language and Programming, Prentice-Hall, Inc., 1995, ISBN 0-13-317729-7
  2. Hyde, R.: The Art of Assembly Language, No Strach, 2003, ISBN 1886411972
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.
Progress assessment:
  1. Mid-term written exam.
  2. Evaluated project.