Микропроцессоры и МПС. Лабораторная работа №1

Практическая работа №1
Линейное программирование математических операций

Цель работы: сформировать умение работать с языком Ассемблер, осуществлять арифметические операции

Пояснения к работе

Программирование арифметических выражений в языке Ассемблер происходит через некоторые команды такие, как: mul, div, sub, add, inc, dec. Эти команды называются командами арифметических операций.
Mul – команда умножения. Она умножает регистр ax на то, что стоит после нее. Результат заносится в ax.
Div – команда деления. Она делит регистр ax на то, что стоит после нее. Результат заносится в ax.
Add – команда сложения. Слаживает два числа. Результат заносится в первый регистр.
Sub – команда вычитания. Вычитает два числа. Результат заносится в первый регистр.
Inc – команда увеличения на единицу.
Dec – команда уменьшения на единицу.
Команда очистки (Clr) предназначена для записи нулевого кода в регистр.


Задания

Задание 1. С помощью отладчика Debug записать и выполнить программу:
Mov ax, 25 переслать значение в регистр ax
Mov bx, 10 переслать значение в регистр bx
Mov cx, a5 переслать значение в регистр cx
Add bx, ax сложить содержимое регистров bx и ax
Sub cx, ax вычесть из содержимого регистра cx содержимое регистра ax
Inc ax увеличить содержимое регистра ax на 1
Mul cx умножить содержимое регистра ax на содержимое регистра cx
Div bx разделить содержимое регистра ax на содержимое регистра bx
Dec ax уменьшить содержимое регистра ax на 1
Sub bx, bx очистка регистра bx
Sub cx, cx очистка регистра
·cx
Просмотреть содержимое регистров ax, bx, cx и мнемокод команды на каждом шаге выполнения программы (в режиме трассировки) и записать в тетрадь c пояснением.


Задание 2. Написать программу для вычисления значения выражения:
(x+y)*2 – 1,
где x – номер студента по списку, y – день рождения студента.
Правильность выполнения проверить в режиме трассировки.


Задание 3. Написать программу для вычисления значения выражения:
125k*(3x+1)*(9y-1)/(z+1),
где k – номер студента по списку, x – день рождения студента, y – месяц рождения студента, z – год рождения студента.
Правильность выполнения проверить в режиме трассировки. Предусмотреть очистку регистров, не содержащих результат.






Содержание отчета

Запишите в тетрадь ход выполнения лабораторной работы.
Ответьте письменно на контрольные вопросы.

Контрольные вопросы

Какие арифметические выражения используются в языке Ассемблер?
Как запустить программу Debug? Как выйти из неё?
Как просмотреть содержимое произвольного участка памяти?
Какая команда в отладчике Debug отвечает за написание программ на Ассемблере?
Зачем нужен режим трассировки?
Какие регистры используются для работы с арифметическими выражениями?

15

Приложенные файлы

  • doc prac 1
    Размер файла: 66 kB Загрузок: 0