|
CS456 - Systems Programming
| Lessons:
- Makefiles, GDB and Memory
An introduction to make and Makefiles, a GDB quick howto and the memory layout of Unix processes - Basic file I/O & pipes
In Unix, everything is a file, basic I/O system calls and pipes. - X86_64 Assembly:
- Asm Lesson 1 - The Central Processing Unit (CPU)
Introduction to the CPU, registers, the flag register, assembly instructions and address/values. - Asm Lesson 2 - Registers, Memory layout, System calls and NASM
Parts of a register, Linux process memory layout, Register usage during system calls and the Netwide Assembler (NASM) - Asm Lesson 3 - Machine Language / Instructions (part 1)
Comparing data and jumps, C to Assembly translations - Asm Lesson 4 - Machine Language / Instructions (part 2)
Copying data, Looping, Functions and the stack, Arithmetic operations - Asm Lesson 5 - The hardware stack
Using the stack for temporary local variables. - Asm Lesson 6 - The C library, The heap, C pointers in assembly
Using the C library from assembly, The C dynamic memory heap allocation functions and C pointers to assembly guide - Tokenization and expressions
- Creating an interpreter
- Creating a Unix shell
|