- •Раздел 1. Языки программирования
- •Программное обеспечение. Основные этапы решения задач на эвм. Жизненный цикл программного средства.
- •7. Решение задачи на эвм и анализ результатов
- •Основная структура программы.
- •Эквивалентность типов
- •Преобразование типов
- •Разбор программы
- •1.3. Логический тип. Ветвления. Оператор условного перехода. Полная и сокращённая форма условного оператора. Составные условия
- •1.4 Символьный тип и функции для обработки символьного типа. Перевод символьного представления числа в целый тип.
- •1.5 Оператор выбора
- •1.6. Операторы цикла. Оператор цикла с предусловием. Оператор цикла с постусловием. Оператор цикла с параметром
- •1.7 Процедуры и функции. Параметры, локальные и глобальные переменные. Передача параметров по адресу и по значению.
- •Локальные и глобальные переменные
- •Регулярный тип (массивы). Описание массивов. Ввод и вывод элементов массива. Нахождение максимального (минимального) элемента массива.
- •Обработка матриц. Поиск заданного элемента в матрице.
- •Работа с динамическими переменными. Динамические массивы.
- •1.11. Файловый ввод-вывод. Работа с текстовыми и двоичными файлами.
- •Чтение файла при помощи fgetc. Функция fgetc применяется для чтения символа из потока.
- •Чтение файла при помощи fgets
- •Запись в файл при помощи fwrite
- •1.12. Микропроцессор Intel х86. Регистры. Команды обмена данными. Команды работы со стеком.
- •1.13 Микропроцессор Intel х86. Арифметические команды. Логические команды и команды сдвига. Команды передачи управления.
- •Двоичная арифметика
- •Десятичная арифметика
- •Логические операции
- •Сдвиговые операции
- •Команды передачи управления
- •1.14 Микропроцессор Intel х86. Способы адресации: регистровая, непосредственная, прямая, косвенная. Регистровая адресация
- •Непосредственная адресация
- •Прямая адресация
- •Косвенная адресация
1.13 Микропроцессор Intel х86. Арифметические команды. Логические команды и команды сдвига. Команды передачи управления.
Арифметические команды.
Двоичная арифметика
Все команды из этого раздела, кроме команд деления и умножения, изменяют флаги OF, SF, ZF, AF, CF, PF в соответствии с назначением каждого из этих флагов.
· Команда: |
ADD приемник, источник |
· Назначение: |
Сложение |
· Процессор: |
8086 |
· Команда: |
ADC приемник, источник |
· Назначение: |
Сложение с переносом |
· Процессор: |
8086 |
· Команда: |
XADD приемник, источник |
· Назначение: |
Обменять между собой и сложить |
· Процессор: |
80486 |
· Команда: |
SUB приемник, источник |
· Назначение: |
Вычитание |
· Процессор: |
8086 |
· Команда: |
SBB приемник, источник |
· Назначение: |
Вычитание с займом |
· Процессор: |
8086 |
· Команда: |
IMUL источник IMUL приемник, источник IMUL приемник, источник1, источник2 |
· Назначение: |
Умножение чисел со знаком |
· Процессор: |
8086 80386 80186 |
Эта команда имеет три формы, различающиеся числом операндов:
IMUL источник: источник (регистр или переменная) умножается на AL, АХ или ЕАХ (в зависимости от размера операнда), и результат располагается в АХ, DX:AX или EDX:EAX соответственно.
IMUL приемник,источник: источник (число, регистр или переменная) умножается на приемник (регистр), и результат заносится в приемник.
IMUL приемник,источник1,источник2: источник 1 (регистр или переменная) умножается на источник 2 (число), и результат заносится в приемник (регистр).
Значения флагов SF, ZF, AF и PF после команды IMUL не определены.
· Команда: |
MUL источник |
· Назначение: |
Умножение чисел без знака |
· Процессор: |
8086 |
· Команда: |
IDIV источник |
· Назначение: |
Целочисленное деление со знаком |
· Процессор: |
8086 |
· Команда: |
DIV источник |
· Назначение: |
Целочисленное деление без знака |
· Процессор: |
8086 |
· Команда: |
INC приемник |
· Назначение: |
Инкремент |
· Процессор: |
8086 |
· Команда: |
DEC приемник |
· Назначение: |
Декремент |
· Процессор: |
8086 |
· Команда: |
NEG приемник |
· Назначение: |
Изменение знака |
· Процессор: |
8086 |
· Команда: |
CMP приемник, источник |
· Назначение: |
Сравнение |
· Процессор: |
8086 |
· Команда: |
CMPXCHG приемник, источник |
· Назначение: |
Сравнить и обменять между собой |
· Процессор: |
80486 |
· Команда: |
CMPXCHG8B приемник |
· Назначение: |
Сравнить и обменять восемь байт |
· Процессор: |
Р5 |