Skip to content

Programming In Assembly Language

Public syllabus for 2025-2026

Academic overview

Programme
IE
Period
Year 1, Semester 2
Credits
3
Weeks
14

Curriculum placement

Appears in study plans

Teaching team

Course coordinator
Seminar coordinators
Liviu Octavian Mafteiu-Scai

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

https://sites.google.com/, https://sites.google.com/view/classrooms

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

IAgen is allowed to be used in the lab for idea generation

Evaluation and delivery

Activity Criteria Methods Percentage
C
  • Knowledge of the fundamental concepts of programming in assembly language
  • Evaluation in the exam session
  • 50.0%
S
  • Activity during the semester in classes
  • The ability to design, implement and test a complex project
  • Individual evaluation of mini-projects implemented in time of lab
  • 50.0%

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)