
- •Конспект лекций по ассемблеру
- •Структурная схема эвм
- •Организация памяти
- •Порты ввода/вывода
- •Сегментация памяти
- •Логические и физические адреса памяти
- •Адресация команд
- •Адресация данных
- •Адресация сегмента стека
- •Перемещаемые программы
- •Структура микропроцессора
- •Назначение регистров микропроцессора
- •Регистр флагов
- •Ассемблер
- •Выражения
- •Структура машинного оператора
- •Директивы ассемблера
- •Директивы определения данных
- •Определение слова
- •Команды и способы адресации операндов
- •Режимы адресации
- •Команда сложения add
- •Команда сложения с переносом adc
- •Команда вычитания sub
- •Imul – команда умножения со знаком
- •Idiv – команда деления со знаком
- •Команда сравнения cmp
- •Команды безусловного перехода jmp
- •1. Короткий относительный переход
- •2. Внутрисегментный переход
- •Команды условных переходов
- •Знаковые
- •Беззнаковые
- •Специальные
- •Способы адресации
- •Двухоперандные команды
- •Косвенная адресация
- •Регистровая адресация
- •Прямая адресация с индексированием
- •Прямая адресация с базированием
- •Адресация по сумме d8 и индексный регистр
- •Адресация по сумме базового регистра и смещения
- •Адресация с базированием и индексированием
- •Прямая адресация с базированием и индексированием
- •Двухоперандная команда, в которой второй операнд непосредственный
- •Формат двухоперандных команд с акумулятором и но
- •Форматы команды inc
- •Форматы команд pop и push
- •Однобайтные команды без операндов
- •Команды передачи данных mov
- •Команда обмена xchg
- •Команда загрузки исполнительного адреса lea
- •Команды управления циклами команда цикла loop
- •Команды переходов loopz, loope
- •Команды вызова подпрограмм call
- •Структура подпрограммы
- •Команды возврата
- •Передача параметров в процедуру
- •Примеры на обработку матрицы
- •Функции ввода/вывода
- •Функция вызова команды int 21h
- •Вывод на экран дисплея
- •Ввод с клавиатуры
- •Процедура ввода числа форматом слово
Конспект лекций по ассемблеру
(Отредактирован в июне 2013г.)
Составил:
Теплинский С.В.
Набрали:
Аверин Д. ВТ-95б
Мокрый М. ВТ-95а
Структурная схема эвм
┌────────────────┐
│ │ША
│ ├/───█───────█───────────█────────────────
│ ПРОЦЕССОР │20 │ │ │
│ │ШД │ │ │
│ ├/───┼─┬─────┼─┬─────────┼─────┬──────────
│ │16 │ ^ │ ^ │ ^
│ │ШУ │ │ │ │ /16 /8
│ ├────┼─┼─█───┼─┼─█───────┼─────┼─────█────
│ │ │ │ │ │ │ │ │ │ │
└────────────────┘ Y Y Y Y │ Y Y │ Y
┌┴─┴─┴┐ ┌┴─█─┴┐ ┌──┴─────█─────┴──┐
│ ОЗУ │ │ ПЗУ │ │ ПОРТЫ В/В │
│ │ │ │ │ 64К │
│└─────┘ └─────┘│ └──┬──────┬────┬──┘
└───────────────┘ │ │ │
1МБ ┌─────────────┘ │ │
│ ┌───────┘ │
Y Y Y
┌───┴───┐ ┌───┴───┐ ┌───┴───┐
│ КОНТР.│ │ КОНТР.│ │ КОНТР.│
│ │ │ │ │ │ : : :
└───┬───┘ └───┬───┘ └───┬───┘
┌───┴───┐ ┌───┴───┐ ┌───┴───┐
│ДИСПЛЕЙ│ │КЛАВИАТ│ │ НГМД │
│ │ │ │ │ │ : : :
└───────┘ └───────┘ └───────┘
Процессор – устройство для обработки информации.
Однокристальный микропроцессор реализован в одном кристалле, это означает, что в одной микросхеме расположены операционный и управляющий автоматы.
80х86 – микропроцессор с 16 разрядной шиной данных.
80х88 – микропроцессор с 8 разрядной шиной данных.
Разница состоит в том, что обмен с памятью производится побайтно или словами.
ОЗУ – предназначено для хранения команд, данных, адресов. Выполняет три функции:
1) запись;
2) хранение;
3) считывание.
При выключении питания информация в ОЗУ теряется.
ПЗУ – аналогично ОЗУ, однако информация в него записывается при изготовлении. Информация хранится постоянно, пока не появится неисправность.
Порты ввода/вывода – это регистры, к которым можно обращаться также как к ячейкам памяти.
Микропроцессор управляет работой всей ЭВМ. Работа состоит из цикла обработки информации в микропроцессоре и циклов обмена информацией микропроцессора с ОЗУ или ПЗУ или портами ввода/вывода.
ОЗУ и ПЗУ находятся в одном адресном пространстве. Каждая ячейка памяти имеет свой номер, начиная с нуля. Адресное пространство ОЗУ + ПЗУ = 1 Мб (80х86). Номер ячейки принято называть адресом.
Порты ввода/вывода находятся в параллельном адресном пространстве.
В цикле обмена микропроцессора (МП) формируется адрес на шине адреса (ША) и набор управляющих сигналов – на шине управления (ШУ). Комбинация управляющих сигналов позволяет разделять два параллельных адресных пространства памяти и портов.
Адресат – это ячейка памяти или порт ввода/вывода.
Если цикл чтения, то адресат передает информацию на шину данных (ШД) а затем – в МП.
В цикле записи МП выставляет информацию на ШД и происходит ее запись в ячейку памяти или порт.
По окончании цикла обмена сигналы снимаются со всех шин, на них т. н. 3-е состояние. Все устройства ЭВМ разъединены и начинается цикл обработки информации в МП.
Цикл обмена – 3-4 такта обработки в зависимости от команды. По окончании обработки МП генерирует цикл обмена и т. д.
┌── ───┐
│ ┌───────────────────┐ ┌────┬────┬────────┐ │
│ │ 0 1 2 . . . . │ │ 0 │ 1 │ . . .│ │ ПОРТЫ
│ ├───────────────────┤ ├────┴────┴────────┤ │
│ │ │ │ │ │ ВВОДА-ВЫВОДА
1 │ │ ОЗУ │ ├────────┬────┬────┤ │
MB │ │ 512-640 КБ │ │ │FFFE│FFFF│ │ 64К
│ │ │ └────────┴────┴────┘ │
│ ├───────────────────┤ ───┘
│ │ │
│ ├───────────────────┤
│ │ ОЗУ ВИДЕОМОНИТОРА │ MEMR - чтение из памяти
│ ├───────────────────┤ MEMW - цикл записи в память
│ │ ПЗУ │ IOR - чтение из порта
│ ├───────────────────┤ IOW - запись в порт
│ │ . . . FFFFE FFFFF│
│ └───────────────────┘
└──
Для того, чтобы разделить первые 64К адресов памяти и адреса порта ввода/вывода на ШУ генерируется 4 сигнала: MEMR, MEMW, IOR, IOW. В каждом цикле обмена генерируется только 1 из этих сигналов и определяет направление передачи.