Microprocessors
Microcontroller Difference
Microprocessor vs Microcontroller.
Instruction Queue
Pipelining fetch and execute benefits.
DOS Function Calls
INT 21h, character input/output, string display.
BIOS Interrupts
INT 10h video services, INT 16h keyboard.
String Instructions
MOVS, CMPS, SCAS, LODS, STOS with REP.
Macros vs Procedures
Expansion vs Call/Ret.
7 Segment Display Interface
Multiplexing display using 8255.
Stepper Motor Interface
Driving coils sequence.
Virtual Memory
Paging, segmentation with paging, TLB.
Branch Prediction
Static and dynamic prediction methods.
Multi-core Processors
SMP, CMP, shared memory consistency.
Keyboard Interfacing
Matrix keyboard scanning rows/cols.
Evolution to Pentium
286, 386, 486, Pentium features.
SIMD Instructions
MMX, SSE, AVX overview.
Bus Standards
PCI, USB, ISA historical view.
Protected Mode
Descriptor tables, selectors, protection rings.
Hyper-Threading
SMT concepts.
16-bit Arithmetic
DAD, INX, DCX instructions.
Code Conversion
BCD to Binary, Binary to BCD, ASCII.
8085 Architecture Overview
8-bit ALU, registers, flags reduction.
8085 Pin Description
Multiplexed address/data bus, signals.
Timing Diagrams
Instruction cycle, machine cycle, T-states.
Control Signals
ALE, RD, WR, IO/M generation.
Demultiplexing Bus
Latch connection for address/data.
Addressing Modes
Immediate, Register, Direct, Indirect, Implied.
Instruction Set Groups
Data transfer, Arithmetic, Logical, Branching.
Stack Instructions
PUSH, POP, XTHL, SPHL.
Rotate Instructions
RLC, RRC, RAL, RAR usage.
Assembly Language Basics
Labels, mnemonics, operands.
Arithmetic Programs
Addition, subtraction, multiplication buffer.
Looping and Indexing
Counters, pointers, array processing.
Stack and Subroutines
PUSH, POP, CALL, RET instructions.
BCD Arithmetic
DAA instruction usage.
Time Delay Loops
Calculating delay using T-states.
8086 Architecture
BIU and EU, 16-bit data bus.
Memory Segmentation
CS, DS, SS, ES, physical address calculation.
8086 Pin Diagram
Min/Max mode, lock, ready signals.
Flag Register 8086
Status flags and control flags (DF, IF, TF).
8086 Addressing Modes
Based, Indexed, Based-Indexed, Relative.
8086 Instruction Set
MOV, PUSH, POP, IN, OUT, arithmetic.
Interrupts
Hardware vs Software, IVT structure, INT n instruction.
Assembler Directives
SEGMENT, ENDS, ASSUME, DB, DW, EQU.
Memory Interfacing
Address decoding, EPROM/RAM connection.
IO Interfacing
Memory mapped IO vs Peripheral mapped IO.
8255 PPI
Programmable Peripheral Interface, modes.
8259 PIC
Priority Interrupt Controller, cascading.
8253/54 Timer
Programmable Interval Timer, modes.
8237 DMA
Direct Memory Access controller operation.
8251 USART
Universal Synchronous Asynchronous Receiver Transmitter.
Pipelining
Instruction pipeline, hazards, superscalar arch.
Cache Memory
L1, L2, L3 cache, hit/miss, mapping techniques.
RISC vs CISC
Comparison of architectures, ARM vs x86 philosophy.