Первая лекция
Ассемблер - полностью машинно-зависимый язык программироавния.
Литература
- Intel 64 and IA-32 Architectures Software Developer’s Manual
 
Дополнительно:
- Assembler для DOS, Windows и UNIX
 - Assembly Language Step-by-Step
 - Assembler 2-е издание, В.И. Юров
 
Что нужно знать
- Архитектура процессора
 - Среда разработки
 - Как писать и чем обрабатывать
 
Архитектура
 _____              _____
| CPU | <--шина--> | RAM |
 -----              -----
Шина:
- Адреса
 - Данных
 - Управления
 
Память:
- Бит
 - Байт
 - Big/Little endian
 
Бод - единица скорости передачи данных. Колебание сигнала можно воспринимать по-разному. (разные основания исчисления)
Memory: .. 0 1 2 3 ..
BigEnd: 
LitEnd:
СISC / RISC
| CISC (INTEL) | RISC (ARM) | 
|---|---|
| Атомарность операций (равное процессорное время) | - | 
| Равная длина команд (2 или 4 байт) | Разная длина команд (от 1 до 17 байт) | 
| 16 х 64-бит регистров | 16 х 64-бит регистров, но 3 из них служебные | 
| Все вычисления выполняются на регистрах | Данные из памяти могут быть аргументами для вычислений | 
Принципы Фон Неймана
- Однородность памяти
 - Двоичное кодирование
 - Адресуемость памяти
 - Программное управление
 
| Гарвардская архитектура | Принстонская архитектура (Фон Неймана) | 
|---|---|
Обратная совместимость
Intel - сохраняет совместимость
ARM - ну такое
Процессоры
Что надо знать о процессорах
- Режимы работы
 - Адресация
 - Кэш
 - Конфейер
 - Стек и работа со стеком
 - Регистры
 - Флаги
 - Типы данных
 - Команды
 
Что надо знать про Ассемблер
- 
    
Синтаксис
 - 
    
Макрокоманды
 - 
    
Модели памяти
 - 
    
Форматы ..
…
 
Режимы работы
- 
    
Незащищенный режим (real mode)
CS 12340 IP 1234 +------- 13574 - 
    
Защищенный режим (protected mode)
- Привилегии
 
 - 
    
V86
- эмуляция read mode внутри protected
 
 - 
    
big real mode
- баг, увеличение адресуемой памяти
 
 - 
    
64-битный
- для арифметки, размерность шины данных
 
 - 
    
Режим совместимости
 - 
    
SMM
- System Management Mode
 
 - 
    
Отладочный