ВУЗ:
Составители:
Рубрика:
23
4. ЛАБОРАТОРНЫЕ ЗАДАНИЯ
Лабораторными заданиями предусматривается изучение команд про-
цессора, используя средства встроенного ассемблера и интегрированной сре-
ды Free Pascal. Отдельного задания на команды управления состоянием про-
цессора нет. Они могут быть использованы при изучении других команд.
Отчет по каждому заданию оформляется в виде программы на языке
Паскаль со встроенными блоками на ассемблере. Программа по каждому
заданию должна содержать сведения об авторе, заголовок и краткие коммен-
тарии. Например:
// Лабораторное задание №1
// Изучение команд пересылки данных
// Выполнил студент гр. ИСТд-21 Великий А. А.
Лабораторное задание считается сданным при выполнении двух усло-
вий: первое – наличие правильно оформленного отчета, второе – выполнение
небольшой контрольной задачи (правила оформления отчета и примерные
варианты задач приведены в описании каждого из лабораторных заданий).
Задачи должны выполняться на занятиях.
4.1. Изучение команд пересылки данных
Изучение команд пересылки данных – одно из наиболее объемных
заданий. Оно предусматривает изучение логики работы каждой из перечис-
ленных ранее команд.
Кроме изучения логики работы команд пересылки данных, при выпол-
нении данного задания надо рассмотреть все режимы адресации на примере
одной из команд. Лучше всего для этих целей подходит команда MOV.
Также надо будет указать результат каждой операции. Направление пере-
сылки можно указать стрелкой. Для каждого из режимов адресации укажи-
те в комментарии, какие регистры можно (или какие регистры нельзя) ис-
пользовать. Например,
var a : integer;
begin
a := 12;
asm
// РЕЖИМЫ АДРЕСАЦИИ
// непосредственный режим адресации, в качестве приемника
// нельзя использовать регистры (укажите регистры)
MOV AX, 23 // источник – непосредственная, приемник – регистровая, (23=>AX)
MOV AX, a // источник – прямая, приемник – регистровая (a => AX = 12)
//косвенно-регистровая адресация (можно использовать регистры…)
LEA EBX, a // адрес переменной a => EBX (EBX = 00409000h)
MOV CX, [EBX] // из ячейки памяти с адресом EBX = 00409000h => CX = 12
end;
end.
Страницы
- « первая
- ‹ предыдущая
- …
- 21
- 22
- 23
- 24
- 25
- …
- следующая ›
- последняя »