Programming in Assembler for PCs

Study level Bachelor
ECTS credits 4
Study forms Hybrid or fully online
Module aims To give detailed description on programming of x86 and x64 microprocessors in assembly language.
Pre-requirements Basic knowledge on PC computers architecture and programming.
Learning outcomes After completing this module, the student:
- knows the instruction set of x86 and x64 processors
- knows the principles of writing assembler programs for x86 and x64 platforms
- understand the rules of calling conventions in modern operating systems
- can write simple assembler program
- can write assembler spftware module for high-level programming language
Topics - x86 and x64 processors architecture
- addressing modes
- instruction set including floating point and vector extensions
- assembler programs, MASM, NASM, directives
- procedures, argument passing, functions
- macros
Type of assessment Evaluation test
Blended learning Student can attend classes or self-learn with video and reading materials provided.
References to literature 1. Randall Hyde, „The Art of 64-Bit Assembly”, No Starch Press; 2021
2. Jo Van Hoey, „Beginning x64 Assembly Programming: From Novice to AVX Professional”, Apress, 2019
3. Daniel Kusswurm, „Modern X86 Assembly Language Programming: Covers x86 64-bit, AVX, AVX2, and AVX-512”. Apress, 2018
4. Kip Irvine, „Assembly Language for x86 Processors”, 7th edition, Pearson India, 2018
Lab equipment A PC platform with Windows OS installed (eventually Linux platform with Virtual Machine with Windows), Visual Studio Community Edition (or higher version). Local or remote access with GUI (RDP, VNC).
Virtual lab n/a
MOOC course https://multiasm.eu/mooc/course/view.php?id=15
en/multiasm/curriculum/pa_pc.txt · Last modified: 2024/07/03 08:46 by pczekalski
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0