Skip to content

[ЭКЗАМЕН 09] Команды целочисленной арифметики.

Justarone edited this page Jun 9, 2020 · 7 revisions

Команды целочисленной арифметики

ADD <приёмник>, <источник>

Сложение приемника и источника. Сумма - в приемник, источник не изменяется.

  • Приемник - переменная (область памяти), РОН (регистр общего назначения)
  • Источник - тоже самое что приемник или непосредственный операнд (например, число)

SUB <приёмник>, <источник>

Вычитание, всё точно так же как и в ADD. Отрицательные числа можно отслеживать с помощью флага SF.

MUL <источник>

Умножение без знака.

  • Источник - область памяти, РОН.

Умножаются источник и AL/AX, в зависимости от размера источника. Результат помещается в AX либо DX:AX.
Если источник - байт, то AX = AL * источник. Если источник - слово, то DX:AX = AX * источник.

DIV <источник>

Деление без знака.

  • Источник - область памяти, РОН.

Деление AL/AX на источник. Результат помещается в AL/AX, остаток - в AH/DX.
Если источник - байт, то AL = AX / источник. Если источник - слово, то AX = DX:AX / источник.

Ещё есть команды деления/умножения со знаком: IDIV, IMUL

DEC <операнд>, INC <операнд>

  • INC - инкремент.
  • DEC - декремент.

Обе команды работают быстрее ADD и SUB соответственно, потому что занимают 1 байт, а не 3.
INC и DEC, в отличии от ADD и SUB, не затрагивают флаг CF.

Все эти команды меняют регистр флагов (FLAGS), в зависимости от результата

Следующий вопрос: Команды побитовой арифметики.

Предыдущий вопрос: Команда пересылки данных.

Экзамен:

  1. Архитектура фон Неймана. Принципы фон Неймана

  2. Структурная схема ЭВМ. Виды памяти. Системная шина.

  3. Процессор 8086. Разрядность. Регистры.

  4. Процессор 8086. Регистр флагов.

  5. Процессор 8086. Шина адреса. Сегментная модель памяти.

  6. Выполнение программы. Машинный код. Исполняемые файлы. Язык ассемблера.

  7. Классификация команд процессора x86.

  8. Команда пересылки данных.

  9. Команды целочисленной арифметики.

  10. Команды побитовой арифметики.

  11. Команды передачи управления.

  12. Структура программы на языке ассемблера. Модули. Сегменты.

  13. Директивы выделения памяти. Метки.

  14. Директива SEGMENT.

  15. Директива ASSUME.

  16. Директива END. Точка входа.

  17. Виды переходов. Условные, безусловные переходы. Короткий, ближний, дальний переход.

  18. Способы адресации.

  19. Команда сравнения.

  20. Команды условных переходов.

  21. Команда XLAT/XLATB.

  22. Команда LEA.

  23. Команды десятичной арифметики.

  24. Команды сдвига.

  25. Команда организации цикла.

  26. Строковые операции. Префиксы повторения.

  27. Стек. Регистры, связанные со стеком. Команды записи/извлечения из стека.

  28. Стек. Использование при вызове подпрограмм. Команды вызоваподпрограммы и возврата.

  29. Прерывания. Назначение, виды прерываний. Таблица векторов прерываний.

  30. Срабатывание прерывания. Обработчик прерывания в реальном режиме. Возврат из обработчика прерывания.

  31. Процессор 80386. Разрядность, регистры.

  32. Защищённый режим работы процессора. Многозадачность.

  33. Модели памяти в защищённом режиме. Регистры управления памятью. Страничное преобразование.

  34. Процессоры x86-64. Регистры. Режимы работы.

  35. Математический сопроцессор. Типы данных. Представление вещественных чисел.

  36. Математический сопроцессор. Регистры.

  37. Математический сопроцессор. Особые числа.

  38. Математический сопроцессор. Классификация команд.

  39. Расширение MMX. Назначение. Типы данных.

  40. Расширение MMX. Регистры. Классификация команд.

  41. Расширение SSE. Назначение. Типы данных. Регистры.

  42. Макроопределения. Назначение.

  43. Макроопределения. Директивы присваивания и отождествления.

  44. Макроопределения. Макрооперации.

  45. Макроопределения. Блоки повторения.

  46. Макроопределения. Директивы условного ассемблирования.

Clone this wiki locally