Dansk - English
Short version - Full version
Advanced assembly programming (Fall 2004) |
|||
Course code : | EASM-U01 | ||
ECTS Credits : | 7,5 | Status : | Optional |
Revised : | 08/06 2004 | Written : | 11/05 2004 |
Placement : | 5-7 semester | Hours per week : | 4 |
Length : | 1 semester | Teaching Language : | Danish if no English students are present |
Objective : | Assembly programming is useful for embedded systems, operating system kernels, device drivers, and software applications where speed is critical, such as processing of sound and images. The course will mainly focus on applications where speed is critical. To be able to evaluate which parts of an application, if any, can benefit from assembly programming. To be able to design, implement, optimise and test a subroutine library in assembly language and link it into a high level language application. To be able to apply Single-Instruction-Multiple-Data instructions. |
||
Principal Content : | Assembly, linking, location, lib, make. Instruction set for Intel Pentium 4 and AMD Opteron microprocessors. Application Binary Interface standards. Single-Instruction-Multiple-Data instructions. Test methods. Optimisation. | ||
Teaching method : | Theory lessons, exercises and a self-chosen project. The project can be made alone or in small groups. The project can, for example, be chosen from one of the following areas: digital signal processing of sound, graphics and animation; numerical solution of differential equations; fractals; chess program; encryption; data compression. | ||
Required prequisites : | Basic knowledge of assembly programming, corresponding to the course DIG1. Mastery of C++ | ||
Recommended prerequisites : | - | ||
Relations : | - | ||
Type of examination : | Oral examination based on assignments | ||
External examiner : | Internal | ||
Marking : | Scale of 13 | ||
Remarks : | - | ||
Teaching material : | Richard C. Detmer: Introduction to 80X86 Assembly Language and Computer Architecture. 2nd edition, 2004. Jones & Bartlett Publ.Agner Fog: How to optimize for the Pentium family of microprocessors. www.agner.org/assem/pentopt.pdf.Manuals from Intel and AMD. | ||
Responsible teacher : | Agner Fog
, agfo@dtu.dk |