Both sides previous revisionPrevious revisionNext revision | Previous revision |
en:multiasm:curriculum:pa_pc [2024/05/11 16:43] – pczekalski | en:multiasm:curriculum:pa_pc [2024/07/03 08:46] (current) – [Table] pczekalski |
---|
====== Programming in Assembler for PCs ====== | ====== Programming in Assembler for PCs ====== |
| |
| **Study level** | | | | **Study level** | Bachelor | |
| **ECTS credits** | | | | **ECTS credits** | 4 | |
| **Study forms** | | | | **Study forms** | Hybrid or fully online | |
| **Module aims** | | | | **Module aims** | To give detailed description on programming of x86 and x64 microprocessors in assembly language. | |
| **Pre-requirements** | | | | **Pre-requirements** | Basic knowledge on PC computers architecture and programming. | |
| **Learning outcomes** | | | | **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** | | | | **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** | | | | **Type of assessment** | Evaluation test | |
| **Blended learning** | | | | **Blended learning** | Student can attend classes or self-learn with video and reading materials provided. | |
| **References to literature** | | | | **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** | | | | **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** | | | | **Virtual lab** | n/a | |
| **MOOC course** | https://multiasm.eu/mooc/course/view.php?id=15 | | | **MOOC course** | https://multiasm.eu/mooc/course/view.php?id=15 | |