Programming In Assembly Language
Public syllabus for 2025-2026
Academic overview
Teaching team
Learning time distribution
| Total | ||||||
|---|---|---|---|---|---|---|
| Curriculum | Lecture | Practice | Total Weekly | Lecture | Practice | |
| 42 | 14 | 28 | 3 | 1 | 2 | |
| Exam hours | ||||||
| 3 | ||||||
| Individual Study | Bibliography study | Field study | Homework | Tutoring | Others | |
| 30 | 12 | 8 | 5 | 5 | 0 | |
| Overall | ||||||
| 75 |
Learning outcomes
Knowledge
- -knowing and understanding how the computer works by exploring the processor and understanding the assembly language.
- -competent in the field of assembly language programming as well as program debugging techniques
Skills
- an awareness of professional and ethical issues, especially those related to security and privacy of user data;
Responsibility
- demonstrating the spirit of initiative and action to update professional knowledge
Online platform
Course content
| Content | Methods | Obs |
|---|---|---|
| C1. Programming elements in assembly language Introduction MU0 processor Assembly language for ARM processors-Introduction | Lecture, conversation, exemplification | Slides |
| C2 Assembly language for ARM processors | Lecture, conversation, exemplification | Slides, Bibliography |
| C3 Assembly language for x86 processors The instruction set -Instructions for transferring data and addresses -Arithmetic instructions -Program control transfer instructions -Instructions for program control Subroutines and macro instructions -Calling subroutines -Parameter transfer -Modular programming- Macro instructions | Lecture, conversation, exemplification | Slides, Bibliography |
| C4. Assembly language for x86 processors -32-bit instructions - The floating point unit - MMX technology - Windows programming - Protected working mode - elements of protected mode at ISAx86, protection mechanisms, calculation of memory addresses in real and protected mode | Lecture, conversation, exemplification | Slides, Bibliography |
| C5 C6. Assembly language for x86 processors Advanced assembly language programming techniques – use of procedures, implementation of specific operations on complex data structures | Lecture, conversation, exemplification | Slides, Bibliography |
| C7. Assembly language for x86 processors Program optimization techniques – ways to evaluate optimality, techniques to increase processing speed and methods to reduce the memory space used | Lecture, conversation, exemplification | Slides, Bibliography |
Course bibliography
[1] Abel, P., IBM-PC Assembly language and programming, Prentice-Hall Inc.,1991. [2] Dancea, I., IBM-PC La programmation en language d’ assemblage, Gaetan Morin, 986 [3] Ford, W., Topp, W., MC68000 Assembly language and systems programming, D.C.Heath and Company, 1987. [4] Musca,Gh.,Programare in limbaj de asamblare,Ed.Teora, 1997 [5] Pappas, C.H., Murray III, W.H., 80386 Micrporocessor handbook, Osborne Mc Graw-Hill,1988. [6] Lungu ,Vasile ,Procesoare INTEL- Programare in Limbaj de asamblare Ed.Teora 2006 [7] http://davos.science.upm.ro/~traian - Site Traian Turc - 2008. [8] R. Hyde R. Hyde, “AoA - The Art of Assembly language”, webster.cs.ucr.edu/AoA/DOS/pdf/
Seminar content
| Content | Methods | Obs |
|---|---|---|
| Two laboratories for applications corresponding to the concepts taught in each course | Problematization, dialogue, collaborative learning | |
| Bibliography: [1] Abel, P., IBM-PC Assembly language and programming, Prentice-Hall Inc.,1991. [2] Dancea, I., IBM-PC La programmation en langage d’ assemblage, Gaetan Morin, 986 [3] Ford, W., Topp, W., MC68000 Assembly language and systems programming, D.C.Heath andCompany, 1987. [4] Musca,Gh.,Programare in limbaj de asamblare,Ed.Teora, 1997 [5] Pappas, C.H., Murray III, W.H., 80386 Micrporocessor handbook, Osborne Mc Graw-Hill,1988. [6] Lungu ,Vasile ,Procesoare INTEL- Programare in Limbaj de asamblare Ed.Teora 2006 [7] http://davos.science.upm.ro/~traian - Site Traian Turc - 2008. [8] R. Hyde R. Hyde, “AoA - The Art of Assembly language”, webster.cs.ucr.edu/AoA/DOS/pdf/ |
Seminar bibliography
The content is consistent with structure similar courses from other universities and covers the necessary fundamental issue of familiarity with the design and implementation of applications using assembly languages programming
Corroboration
(none)
AI tools guidance
Evaluation and delivery
| Activity | Criteria | Methods | Percentage |
|---|---|---|---|
| C |
|
|
|
| S |
|
|
|
Performance standards
Ability to write simple programs in assembly language (laboratory) Knowledge and explanation of theoretical concepts (laboratory and exam in session) Minimum two 2 points in the laboratory for a grade of 5, meaning two tasks completed and properly explained, during the semester. For 7 points accumulated, the laboratory grade will be 10. The final grade is calculated as the weighted average of the average of the grades given in the laboratory and the grade in the written exam in the session, both of which must be at least 5, a condition for passing the discipline -Failure to meet the minimum attendance requirements (75% course, 100% lab) leads to re-contracting the discipline -Average in the laboratory lower than 5 (five) leads to re-contracting the discipline, without the possibility of participating in the written exam in the session -Plagiarism in assignments, reports, tests or projects leads to re-contracting the discipline. The use of IAgen during the laboratories is allowed, but the student must acknowledge this, specify what, how and where he used it within the project/theme. In order for the project/theme to be taken into account for evaluation, the student must be able to explain in detail everything he has achieved.
Additional info
(none)