Методические указания к выполнению лабораторных работ по Микропроцессорным средствам (1084778), страница 4
Текст из файла (страница 4)
1.Постановка задачи и алгоритм вычислений
В основу исследования положен алгоритм, требующий циклических вычислений. Рассмотрим пример.
Пусть требуется вычислить, перенумеровать и разместить в ячейках памяти значение переменной X, изменяющейся в пределах
Xmin< X < Xmax
с шагом hx.
Количество значений X
Nx =Xmax-Xmin +1
hx
Переменная X вычисляется по формуле
X = X + hx.
Определяемые значения переменной X нумеруются (индексируются) с помощью переменной i, вычисляемой по формуле
i = i+1,
и размещаются в последовательных ячейках памяти. Начальное значение переменной X принимается равным Xmin. Ему присваивается номер i=0.
2. Распределение регистров ячеек памяти и программа
Для размещения X в последовательных ячейках памяти организуется переадресация по формуле
B2=В2+i,
где В2-младший байт адреса, хранимого в регистровой паре
RP(HL), В2 -начальный адрес, хранимый в регистре
Е СОЗУ(РОН). В качестве исходных величин примем
Xmin=10; Xmax=100; hx=0.
В этом случае
Nx =100-10 + 1 = 10,
10
Значение начального адреса (байта В2) для размещения значений X примем
В2=59.
Распределение регистров РОН и ячеек памяти ОЗУ при решении задачи показано в табл.7.
Программа вычислений приведена в табл.8.
Таблица 7
Объект | Назначение | Хранение | |
Ячейка ОЗУ или регистр | Адрес | ||
Программа | Вычисление X | с 8000 | |
Xmin | Исходная величина | Ml | 8050 |
Xmax | Исходная величина | М2 | 8052 |
hx | Исходная величина | В | |
I | Исходная величина | С | |
i | Накапливаемая переменная | МЗ | 8054 |
X | Накапливаемая переменная | М4 | 8056 |
0 | Константа | M5 | 8058 |
Значения X | Начальное значение | М6 | 8060 |
Конечное значение | М7 | 8060+Nx-1 | |
Накаплива | Переменная | HL | 8060-806+ +Nx -1 |
адр. | |||
80 | ВЗ-исходнаа величина | Н | |
00 | исходная величина | L | |
59 | В2-исходная величина | Е |
Таблица 8
Адрес команды 8-ричный | Мнемоника | Команда | Содержание команды | Команда 16-ричная | ||
Код операции | B3 | B2 | ||||
8000 | STA | 00110010 | 80 | 54 | M3: = (A) = 0 ( Для i) | 328054 |
03 | LDA | 00111010 | 80 | 50 | A:= (M1) =Xmin | 3A8050 |
06 | ADDB | 10000000 | A:= (A) + (B) =X+hx | 80 | ||
07 | STA | 00110010 | 80 | 56 | M4: = (A) = X | 328056 |
10 | SUBD | 10010010 | A:= (A) - (D) =X - Xmax | 92 | ||
11 | JP | 11110010 | 80 | 22 | При A > 0 – переход к ком-де по адр.8054 | F28022 |
14 | LDA | 00111010 | 80 | 54 | A:= (M3) = 1 | 3A8054 |
17 | ADDC | 10000001 | A:= (A) + (C) =i+1 | 81 | ||
18 | STA | 00110010 | 80 | 54 | M3: = (A) =i+1 | 328054 |
1B | ADDE | 10000001 | A:= (A) + (E) =i+59 | 81 | ||
1C | MOVL | 01101111 | L:= (A) =i+59 | 6F | ||
1D | MOVM1 | 00111010 | Mi: = (A) =X | 77 | ||
1E | JMP | 11000011 | 80 | 06 | Безусловный переход к ком. По адр. 8006 | C38006 |
22 | LDA | 00111010 | 80 | 56 | A:= (M4) = X | 3A8056 |
25 | HTL | 01110110 | Останов | 76 |
Таблица 9
Вариант | 01 | 02 | P | Q | Хранение | Подсчитываются | |||
Адрес возрастает | Адрес уменьшается | Все значения | Четные номера | Нечетные номера | |||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
1 | + | + | -25 | -36 | + | + | |||
2 | + | - | -15 | +48 | + | + | |||
3 | - | + | +31 | +42 | + | + | |||
4 | - | - | -8 | -13 | + | + | |||
5 | + | + | -18 | +32 | + | + | |||
6 | + | - | +27 | -11 | + | + | |||
7 | - | + | -17 | +25 | + | + | |||
8 | - | - | +42 | +37 | + | + | |||
9 | + | + | -31 | -11 | + | + | |||
10 | + | - | -17 | +25 | + | + | |||
11 | - | + | -14 | -35 | + | + | |||
12 | - | - | +28 | -17 | + | + | |||
13 | + | + | -13 | +18 | + | + | |||
Приложение табл. 9
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
14 | + | - | -21 | -35 | + | + | |||
15 | + | +14 | -15 | + | |||||
16 | - | - | +25 | +37 | + | + | |||
17 | + | + | -14 | -17 | + | + | |||
18 | + | - | -15 | +8 | + | + | |||
19 | - | + | +5 | -39 | + | + | |||
20 | - | - | +15 | +16 | + | + | |||
21 | + | + | -13 | -11 | + | + | |||
22 | + | - | -17 | +25 | + | + | |||
23 | - | - | +27 | -19 | + | + |
3. Варианты заданий на выполнение лабораторной работы