- •Программное управление — основа автоматизации вычислительного процесса
- •2 Состав машинных команд
- •3 Режимы работы компьютеров
- •3.1 Однопрограммные и многопрограммные режимы
- •I.Система прерываний программ в пк
- •3.2 Адресация регистров и ячеек памяти в пк
- •3.3 Относительная адресация
- •II.Стековая адресация
- •3.4 Элементы программирования на языке ассемблер
- •4 Основные компоненты языка ассемблер
- •4.1Алфавит языка
- •4.2 Константы (числа и строки)
- •4.3 Директивы (псевдооператоры)
- •4.4 Модификаторы
- •4.5 Адресация регистров и ячеек памяти в ассемблере
- •4.6 Непосредственная адресация
- •4.7 Прямая адресация регистров мпп
- •4.8 Адресация ячеек оп
- •Основные команды языка ассемблер
- •A.Команды пересылки данных
- •I.Команды сложения, вычитания и сравнения
- •1.Команды приращения
- •A.Команды умножения
- •I.Команды безусловной передачи данных
- •4.9 Команды перехода к подпрограмме и выхода из подпрограммы
- •4.10 Команда перехода к подпрограмме: call opr
- •4.11 Команда выхода из подпрограммы
- •4.12 Команды условной передачи управления
- •4.13 Команды условной передачи управления для беззнаковых данных
- •4.14 Команды условной передачи управления для знаковых данных
- •4.15 Команды условной передачи управления для прочих проверок
- •4.16 Команды управления циклами
- •4.17 Команды прерывания
- •4.18Основные директивы ассемблера
- •4.19 Директивы определения идентификаторов
- •4.20 Директивы определения данных
- •Директивы определения сегментов и процедур
- •4.21 Директивы управления трансляцией
- •5 Краткие сведения о программировании процедур работы с устройствами ввода-вывода
- •5.1 Программирование работы с дисплеем
- •5.2 Видеооперации с прерыванием 10н bios
- •5.3 Видеооперации с прерыванием 21н dos
- •5.4 Программирование работы с клавиатурой
- •5.5 Программирование работы с принтерами
- •5.6 Печатающие устройства параллельного типа
- •5.7 Печатающее устройство последовательного типа
- •5.8 Программирование работы с файлами
- •5.9 Прерывания, используемые при работе с файлами на дисках
- •5.10 Некоторые аспекты создания исполняемых программ
- •5.11 Процедуры формирования программы
- •5.12 Структура исходной программы на языке ассемблера для получения исполняемой программы .Ехе
- •5.13 Основные сведения о листинге и его структуре
- •5.14 Особенности структуры машинных команд
- •5.14 Последовательность работы пк при выполнении программы
- •6 Краткие сведения об отладчике программ debug
- •6.1 Основные команды отладчика debug
1.Команды приращения
Команды приращения — одноадресные.
INC dst — инкремент (increment — прирастить). Прибавляет 1 к содержимому dst. Операнд dst может быть представлен оператором типа r или t. Команда INC формирует флаги PF, AF, ZF, SF, OF.
DEC dst — декремент (decrement — уменьшить). Вычитает 1 из содержимого dst. Операнд dst может быть представлен оператором типа r или t. Команда DEC формирует флаги PF, AF, ZF, SF, OF.
A.Команды умножения
Команды умножения — одноадресные. Указывается только SRC (множитель); DST (множимое) берется строго определенным образом.
MUL src — умножение (multiply — умножение без знака). Выполняет умножение беззнакового множимого (8 или 16 бит) на беззнаковый множитель (8 или 16 бит). Команда одноадресная — указывается только SRC (множитель); DST (множимое) берется строго определенным образом. SRC может быть представлен оператором типа r или m (i — нельзя). Если формат SRC — байт, то множимое (байт) в AL, произведение (слово) будет в АХ; если формат SRC — слово, то множимое (слово) в АХ, произведение (двойное слово) в DX: АХ (старшие два байта в DX, младшие в АХ). Команда MUL формирует флаги CF, OF; воздействует на флаги AF, PF, SF, ZF (флаги не определены).
IMUL src — целое умножение знаковых чисел (integer multiply — умножение целых со знаком). Выполняет умножение знакового множимого (8 или 16 бит) на знаковый множитель (8 или 16 бит). Команда одноадресная — указывается только SRC (множитель); DST (множимое) берется строго определенным образом. SRC может быть представлен оператором типа г или m (i — нельзя). Если формат SRC — байт, то множимое (байт) в AL, произведение (слово) будет в АХ; если формат SRC — слово, то
множимое (слово) в АХ, произведение (двойное слово) в DX : АХ (старшие два байта в DX, младшие в АХ). Команда IMUL формирует флаги CF, OF; воздействует на флаги AF, PF, SF, ZF (флаги не, определены).
1.Команды деления
Команды деления — одноадресные, указывается только SRC (делитель); DST (делимое) берется строго определенным образом.
DIV src - деление (divide — деление без знака). Выполняет деление беззнакового делимого (16 или 32 бит) на беззнаковый делитель (8 или 16 бит). Команда одноадресная — указывается только SRC (делитель); DST (делимое) берется строго определенным образом. SRC может быть представлен оператором типа г или m (1 — нельзя). Если формат SRC — байт, то делимое (слово) в АХ, частное от деления (байт) будет в AL, остаток от деления (байт) в АН; если формат SRC — слово, то делимое (двойное слово) в DX : АХ (старшие два байта в DX, младшие в АХ), частное отделения (слово) в АХ, остаток отделения (байт) в DL. Команда DIV формирует флаг IF (IF = 1 при делении на 0 и при делении большого числа на очень малое, если частное вне диапазона); воздействует на флаги AF, CF, OF, PF, SF, ZF (флаги не определены).
IDIV src — деление целых чисел со знаком (integer divide — деление целых чисел со знаком). Выполняет деление знакового делимого (16 или 32 бит) на знаковый делитель (8 или 16 бит). Команда одноадресная — указывается только SRC (делитель); DST (делимое) берется строго определенным образом. SRC может быть представлен оператором типа г или m (i — нельзя). Если формат SRC -байт, то делимое (слово) в АХ, частное от деления (байт) будет в AL, остаток от деления (байт) в АН; если формат SRC — слово, то делимое (двойное слово) в DX : АХ (старшие два байта в DX, младшие в АХ), частное от деления (слово) в АХ, остаток отделения (байт) в DL. Команда IDIV формирует флаг IF (IF = 1 при делении на 0 и при делении большого числа на очень малое, если частное вне диапазона); воздействует на флаги AF, CF, OF, PF, SF, ZF (флаги не определены).
a.Логические команды
Это двухадресные команды, они используются для сравнения, сброса и установки битов операнда в операциях преобразования кодов и при выполнении арифметических операций в кодах ASCII.
OR dst,src — логическое сложение (or — или). Команда выполняет поразрядную дизъюнкцию (логическое сложение — операцию «ИЛИ») битов двух операндов; устанавливает 1 в тех битах операнда dst, в которых была 1 хотя бы у одного из исходных операндов. Операнды dst и src должны иметь одинаковый формат (оба или байт, или слово) и могут быть: src типа r, m, i; dst типа r, m (невозможно rsegm и нельзя, чтобы оба типа были m). Команда OR устанавливает OF=0 и CF=0; формирует PF, SF, ZF; значение AF не определено.
AND dst. src — логическое умножение (and — и). Команда выполняет поразрядную конъюнкцию (логическое умножение — операцию «И») битов двух операндов; устанавливает 1 в тех битах операнда dst, в которых у обоих исходных операндов были 1. Операнды dst и src должны иметь одинаковый формат (оба, или байт, или слово) и могут быть: src типа r, m, i; dst типа r, m (невозможно rsegm и нельзя, чтобы оба типа были m). Флаги: команда устанавливает OF=0 и CF=0; формирует PF, SF, ZF; значение AF не определено.
