Course detail
Advanced Assembly Languages
FIT-IPAAcad. year: 2018/2019
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 - console applications, windows based applications, OpenGL. Programming using the multimedia instruction sets of the Intel processors (MMX and SSE). Introduction to the 64-bit processors.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Learning outcomes of the course unit
Prerequisites
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
- Work in laboratory.
- Evaluated project.
Course curriculum
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
Recommended optional programme components
Prerequisites and corequisites
Basic literature
Recommended reading
Bistry, D.: The Complete Guide to MMX Technology, McGraw-Hill/TAB Electronics, 1997, ISBN 0070061920
Hall, R. B.:Assembly Programming and Computer Architecture for Software Engineers. Prospect Press. 2017. ISBN: 978-1943153329.
Hyde, R.: The Art of Assembly Language, No Strach, 2003, ISBN 1886411972
Intel 64 and IA-32 Architectures Software Developer's Manuals [online]. K dispozici na <www.intel.com>.
Irvine, K.R.: Assembly Language for Intel-Based Computers, Prentice Hall, 2002, ISBN 0130910139
Kusswurm, D.: Modern X86 assembly language programming: 32-bit, 64-bit, SSE, and AVX. Apress, 2014. ISBN: 9781484200650.
Orság, F.: Studijní opora k předmětu IPA
Zbořil, F.: Strojově orientované jazyky, skripta, VUT v Brně, 1991, ISBN 80-214-0349-7
Classification of course in study plans
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
- AMD/Intel x86-64 processor acrhitecture.
- Extensions and SIMD technologies of processors - MMX.
- Extensions and SIMD technologies of processors - SSE.
- Extensions and SIMD technologies of processors - AVX.
- MMX, SSE and AVX applications.
- Architecture and assembler of the ARM processors.
- NEON technology of the ARM processors.
- ARM programming - emulation, embedded devices.
- Protected mode of the IA-32 and x86-64 processors - registers, instructions and memory models.
- Protected mode of the IA-32 and x86-64 processors - basic data structures, memory management.
- Protected mode of the IA-32 and x86-64 processors - principles of the data and code protection.
- Protected mode of the IA-32 and x86-64 processors - task management.
- Optimizations of applications in assembler.
Exercise in computer lab
Teacher / Lecturer
Syllabus
- Development and use of the DLL libraries.
- Win32 API - console application.
- Win32 API - window-based application.
- Win32 API - applications using OpenGL.
- Application of the MMX extension.
- Application of the SSE technology.
- Code optimization.
Project
Teacher / Lecturer
Syllabus
- Individual project: development of a simple application in 32/64bit protected mode using Win32 API, MMX extension and/or SSE or AVX technology, OpenGL.