First, introduction and terminologies are presented. A review on data representation including fixed point and floating‑point formats and arithmetic operations are given. Next, the students get familiar with basic components of a processor. This includes Arithmetic and Logical Unit (ALU), registers, memory, Input/Output (I/Os) devices and bus. The addressing modes, instructions encoding and instruction execution steps and their relationship with the hardware are explained. Next, arithmetic, logical, shift/rotate, control and branch instructions are discussed. Gradually, the students also learn the basics of assembly language programming and learn how to develop programs for various problems. Furthermore, advanced topics such as stack, macro, subroutine, and interrupt are presented and practised through examples and discussions.
- Linux
- GNU Toolchain: assembler, linker, gdb, etc.
- STM32F334 Nucleo-64 Microcontroller
- ARM Reference: https://developer.arm.com/documentation/ddi0406/c/Application-Level-Architecture/The-Instruction-Sets/Data-processing-instructions?lang=en
- Etc...
.
├── docs
└── src
├── HWcodes
│ └── Homework3
├── exam
├── lab1
├── lab2
├── lab3
└── lab4