This is an old revision of the document!


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
MOOC course https://multiasm.eu/mooc/course/view.php?id=15
en/multiasm/curriculum/pa_pc.1719996370.txt.gz · 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