- •Исследование процессов ввода/вывода информации и системы команд микропроцессоров семесйства intel 80×i86
- •Введение
- •1.Цель работ
- •2.1. Архитектура микропроцессора Intel 8086.
- •2.2. Адресация памяти и данных.
- •2.3. Синтаксис операндов языка assembler
- •2.4. Команды передачи данных.
- •Mov ax,segment
- •3) Mov [bx],dx переслать (dx) в ячейку адресованную (вх)
- •Mov al,es:[si]; ds заменен на es
- •Команды lea, lds, les.
- •Lea reg, memr
- •Команда xchg
- •Стековые команды push и рор
- •2.5 Префикс программного сегмента (psp)
- •2.6 Арифметические команды
- •Команды сложения и вычитания
- •0015 65А0
- •0037 1D3e
- •0004 В837
- •0001 F0f8
- •Команды расширения знака.
- •Команды inc, dec, neg, cmp.
- •Команды двоичного умножения и деления.
- •Дополнительные сведения.
- •2.7 Основные правила при разработке программ на языке assembler.
- •Int 21h
- •Int 21h
- •Int 21h
- •Int 21h
- •Int 21h
- •Int 21h
- •Int 21h
- •3. Лабораторные работы
- •Контрольные вопросы
- •Лабораторная работа № 2
- •Контрольные вопросы
- •Лабораторная работа № 3
- •Дополнительная информация для составления программы по данному заданию.
- •Лабораторная работа № 4
- •Контрольные вопросы
- •Лабораторная работа № 5
- •Контрольные вопросы
- •Лабораторная работа № 6
- •Контрольные вопросы
- •Лабораторная работа № 7
- •Рекомендации по выполнению лабораторной работы.
- •4.1. Тексты подпрограмм вывода на экран.
- •Int 21h
- •Int 21h
- •Контрольные вопросы
- •Лабораторная работа № 8
- •Контрольные вопросы
- •Лабораторная работа № 9
- •Контрольные вопросы
- •Лабораторная работа № 10
- •Контрольные вопросы
- •Контрольные вопросы
- •Лабораторная работа № 14
- •Контрольные вопросы
- •6. Требования к отчетам
- •7. Библиографический список
Int 21h
mov dl,10 ; перевод строки
Int 21h
pop dx
pop ax
ret
DisplayEndString ENDP
Контрольные вопросы
1. Какие основные арифметические действия выполняет микропроцессор Intel80×86?
2. Какая арифметика называется арифметикой одинарной точности?
3. С помощью какой команды можно сравнить два числа?
4. Какие команды используются при сложении однобайтовых чисел?
Лабораторная работа № 8
”Исследование процесса суммирования на ПЭВМ двухбайтовых чисел с использованием команд add al,[si] и adc al,[si+j] и команды add ax,[si]”
В данной работе необходимо составить программу, которая выполняет следующие действия. В программе в области, определяемой оператором .DATA, организовать массив из двух слов (двухбайтовых чисел) без знака. Затем программно сложить эти числа с использованием команд add al,[si] и adc al,[si+j]. Результат сложения вывести на экран монитора, снабдив его соответствующим сообщением. При сложении указанных чисел возможно переполнение результата. Предусмотреть в программе выдачу сообщения при переполнении.
Повторить тоже самое с использование команды add ax,[si]
Контрольные вопросы
1. Какие команды используются при сложении двухбайтовых чисел?
2. Какая арифметика называется арифметикой двойной точности?
3. Какой флаг микропроцессора Intel80×86 фиксирует единицу переноса?
4. Как определяется знак двоичного числа?
Лабораторная работа № 9
”Исследование процесса вычитания на ПЭВМ однобайтовых чисел”
В данной работе необходимо составить программу, которая выполняет следующие действия. В программе в области, определяемой оператором .DATA, организовать массив из двух однобайтовых чисел без знака. Затем программно из первого числа вычесть второе число и результат вычитания вывести на экран монитора, снабдив его соответствующим сообщением. Отрицательный результат выводить на экран монитора, как в прямом, так и в дополнительном коде.
Повторить то же самое, но выполнить вычитание первого числа из второго числа.
Контрольные вопросы
1. Какие команды используются при вычитании однобайтовых байтовых чисел?
2. Как кодируются отрицательные двоичные числа?
3. Какие коды используются для представления двоичных чисел?
4. Где могут располагаться операнды при выполнении арифметической команды sub ?
Лабораторная работа № 10
”Исследование процесса вычитания на ПЭВМ двухбайтовых чисел”
В данной работе необходимо составить программу, которая выполняет следующие действия. В программе в области, определяемой оператором .DATA, организовать массив из двух слов. Затем программно из первого числа вычесть второе число и результат вычитания вывести на экран монитора, снабдив его соответствующим сообщением. Отрицательный результат выводить на экран монитора, как в прямом, так и в дополнительном коде.
Повторить то же самое, но выполнить вычитание первого числа из второго числа.
Контрольные вопросы
1. Какие команды используются при вычитании двухбайтовых чисел?
2. Где могут располагаться операнды при выполнении арифметической команды sbb ?
3. Какой флаг микропроцессора Intel80×86 фиксирует единицу заёма?
4. Какой флаг микропроцессора Intel80×86 фиксирует нулевой результат в аккумуляторе?
Лабораторная работа № 11
”Исследование процесса умножения на ПЭВМ однобайтовых чисел”
В данной работе необходимо составить программу, которая выполняет следующие действия. В программе в области, определяемой оператором .DATA, организовать массив из двух однобайтовых чисел с одинаковыми знаками. Программно выполнить их умножение и результат вывести на экран монитора.
Повторить то же самое для чисел имеющих разные знаки. Результат умножения выводить как в прямом, так и в дополнительном коде.
Контрольные вопросы
1. Какие команды используются при умножении двоичных чисел?
2. Где должны располагаться операнды при выполнении операции умножения однобайтовых чисел?
3. В каких регистрах микропроцессора Intel80×86 формируется результат умножения однобайтовых чисел?
4. Может ли возникнуть переполнения при умножении однобайтовых чисел?
4. Какое максимальное значение может принять результат умножения однобайтовых чисел?
Лабораторная работа № 12
”Исследование процесса умножения на ПЭВМ двухбайтовых чисел”
В данной работе необходимо составить программу, которая выполняет следующие действия. В программе в области, определяемой оператором .DATA, организовать массив из двух слов с одинаковыми знаками. Программно выполнить их умножение и результат вывести на экран монитора.
Повторить то же самое для чисел имеющих разные знаки. Результат умножения выводить как в прямом, так и в дополнительном коде.
Контрольные вопросы
1. Где должны располагаться операнды при выполнении операции умножения двухбайтовых чисел?
2. В каких регистрах микропроцессора Intel80×86 формируется результат умножения двухбайтовых чисел?
3. Может ли возникнуть переполнения при умножении двухбайтовых чисел?
4. Какое максимальное значение может принять результат умножения двухбайтовых чисел?
Лабораторная работа № 13
”Исследование процесса деления на ПЭВМ. Делимое занимает одно слово, делитель занимает байт”
В данной работе необходимо составить программу, которая выполняет следующие действия. В программе в области, определяемой оператором .DATA, организовать массив из двух чисел с одинаковыми знаками. Первое число должно занимать слово, а второе – байт. Программно выполнить деление первого числа на второе и результат вывести на экран монитора.
Повторить то же самое для чисел имеющих разные знаки. Результат деления выводить как в прямом, так и в дополнительном коде.