Информатика и информационные технологии
Добавить в закладки К обложке
- 1. Информатика. Информация - Страница 1
- 2. Представление чисел в ЭВМ. Формализованное понятие алгоритма - Страница 2
- 3. Введение в язык Pascal - Страница 3
- 4. Стандартные процедуры и функции - Страница 4
- 5. Операторы языка Pascal - Страница 5
- 6. Понятие вспомогательного алгоритма - Страница 6
- 7. Процедуры и функции в Pascal - Страница 7
- 8. Опережающие описания и подключение подпрограмм. Директива - Страница 8
- 9. Параметры подпрограмм - Страница 9
- 10. Типы параметров подпрограмм - Страница 10
- 11. Строковый тип в Pascal. Процедуры и функции для переменных строкового типа - Страница 11
- 12. Записи - Страница 12
- 13. Множества - Страница 13
- 14. Файлы. Операции с файлами - Страница 14
- 15. Модули. Виды модулей - Страница 15
- 16. Ссылочный тип данных. Динамическая память. Динамические переменные. Работа с динамической памятью - Страница 16
- 17. Абстрактные структуры данных - Страница 17
- 18. Стеки - Страница 18
- 19. Очереди - Страница 19
- 20. Древовидные структуры данных - Страница 20
- 21. Операции над деревьями - Страница 21
- 22. Примеры реализации операций - Страница 22
- 23. Понятие графа. Способы представления графа - Страница 23
- 24. Различные представления графа - Страница 24
- 25. Объектный тип в PascalПонятие объекта, его описание и использование - Страница 25
- 26. Наследование - Страница 26
- 27. Создание экземпляров объектов - Страница 27
- 28. Компоненты и область действия - Страница 28
- 29. Методы - Страница 29
- 30. Конструкторы и деструкторы - Страница 30
- 31. Деструкторы - Страница 31
- 32. Виртуальные методы - Страница 32
- 33. Поля данных объекта и формальные параметры метода - Страница 33
- 34. Инкапсуляция - Страница 34
- 35. Расширяющиеся объекты - Страница 35
- 36. Совместимость типов объектов - Страница 36
- 37. Об ассемблере - Страница 37
- 38. Программная модель микропроцессора - Страница 38
- 39. Пользовательские регистры - Страница 39
- 40. Регистры общего назначения - Страница 40
- 41. Сегментные регистры - Страница 41
- 42. Регистры состояния и управления - Страница 42
- 43. Системные регистры микропроцессора - Страница 43
- 44. Регистры управления - Страница 44
- 45. Регистры системных адресов - Страница 45
- 46. Регистры отладки - Страница 46
- 47. Структура программы на ассемблере - Страница 47
- 48. Синтаксис ассемблера - Страница 48
- 49. Директивы сегментации - Страница 49
- 50. Структура машинной команды - Страница 50
- 51. Способы задания операндов команды - Страница 51
- 52. Способы адресации - Страница 52
- 53. Команды пересылки данных - Страница 53
- 54. Арифметические команды - Страница 54
- 55. Логические команды - Страница 55
- 56. Команды передачи управления - Страница 56
54. Арифметические команды
Такие команды работают с двумя типами:
1) целыми двоичными числами, то есть с числами, закодированными в двоичной системе счисления.
Десятичные числа – специальный вид представления числовой информации, в основу которого положен принцип кодирования каждой десятичной цифры числа группой из четырех бит.
Микропроцессор выполняет сложение операндов по правилам сложения двоичных чисел.
В системе команд микропроцессора имеются три команды двоичного сложения:
1) inc операнд – увеличение значения операнда;
2) add операнд1, операнд2 – сложение;
3) adc операнд1,операнд2 – сложение с учетом флага переноса cf.
Вычитание двоичных чисел без знака
Если уменьшаемое больше вычитаемого, то разность положительна. Если уменьшаемое меньше вычитаемого, возникает проблема: результат меньше 0, а это уже число со знаком.
После вычитания чисел без знака нужно анализировать состояние флага CF. Если он установлен в 1, то произошел заем из старшего разряда и результат получился в дополнительном коде.
Вычитание двоичных чисел со знаком Но для вычитания способом сложения чисел со знаком в дополнительном коде необходимо представлять оба операнда – и уменьшаемое, и вычитаемое. Результат тоже нужно рассматривать как значение в дополнительном коде. Но здесь возникают сложности. Прежде всего они связаны с тем, что старший бит операнда рассматривается как знаковый.
По содержимому флага переполнения of. Его установка в 1 говорит о том, что результат вышел за диапазон представления знаковых чисел (т. е. изменился старший бит) для операнда данного размера, и программист должен предусмотреть действия по корректировке результата.
Принцип вычитания чисел с диапазоном представления, превышающим стандартные разрядные сетки операндов, тот же, что и при сложении, т. е. используется флаг переноса cf. Нужно только представлять себе процесс вычитания в столбик и правильно комбинировать команды микропроцессора с командой sbb.
Для умножения чисел без знака предназначена команда
mul сомножитель_1
Для умножения чисел со знаком предназначена команда
[imul операнд_1, операнд_2, операнд_3]
Для деления чисел без знака предназначена команда div делитель
Для деления чисел со знаком предназначена команда idiv делитель