Machine Level Programming
ISU Acad. year 2017/2018 Summer semester 6 credits
Language of instruction
Bordovský Gabriel, Ing. (DCSY FIT BUT)
Budiský Jakub, Ing. (DCSY FIT BUT)
Čudová Marta, Ing. (DCSY FIT BUT)
Dvořák Michal, Ing. (DITS FIT BUT)
Goldmann Tomáš, Ing. (DITS FIT BUT)
Heidari Mona (DITS FIT BUT)
Husa Jakub, Ing. (DCSY FIT BUT)
Kešner Filip, Ing. (DCSY FIT BUT)
Orság Filip, Ing., Ph.D. (DITS FIT BUT)
Semerád Lukáš, Ing. (DITS FIT BUT)
Subject specific learning outcomes and competences
Students acquaint with one specific processor architecture. They learn how to use the most important instructions of the processor and its coprocessor, programming of the control structures and they develop learn to develop simple applications (compilation and linking). They learn about calling conventions, some basic operating system services and how to call them. They learn how to practically use this knowledge.
Generic learning outcomes and competences
Prerequisite kwnowledge and skills
- DUNTEMANN, Jeff. Assembly language step-by-step: programming with linux. 3rd ed. Indianapolis: Wiley, 2009. ISBN 978-0470497029.
- Carter, P.: Assembly language tutorial, http://www.drpaulcarter.com/pcasm/, 2002
- IRVINE, Kip R. Assembly language for x86 processors. Seventh edition. Boston: Pearson, 2015. ISBN 978-0133769401.
- Intel Architecture Software Developer's Manual,Volume 2: Instruction Set Reference, https://www.fit.vutbr.cz/study/courses/IAS/private/24319102.pdf
- The Netwide Assembler: NASM, Quick reference Guide, 2012, http://www.nasm.us/xdoc/2.10.05/nasmdoc.pdf
Syllabus of lectures
- Introduction, numeral systems, number specification, binary arithmetic.
- Basic functions of a processor, machine language, symbolic language, assembler.
- Processor architecture - registers, operand, instruction format, memory addressing, interrupts.
- Processor architecture - transfers, arithmetical and logical instructions.
- Processor architecture - shifts and rotations, control transfer.
- Processor architecture - other instructions.
- Mid-term written test.
- Basics of low level programming, elementary control structures.
- Functions and calling conventions.
- Modular programming, libraries, operating system services.
- Coprocessor FPU - architecture, real number format, instruction set.
- Coprocessor FPU - instruction set, programming, examples.
- Compiler for assembler - pseudoinstructions, directives, expressions, operators, operands and macros.
- Mid-Term written test
- Evaluation of activity in computer exercises
To successfully pass the course students must earn at least 25 points from the final examination.
Course inclusion in study plans