Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИС ЛР№1-8.doc
Скачиваний:
84
Добавлен:
11.02.2015
Размер:
1.62 Mб
Скачать
    1. Задание на лабораторную работу

Произвести, используя команды языка STL, перемещение данных в аккумуляторах процессора по заданной вариантом схеме. Задание выполнить в двух вариантах: с использованием только команд загрузки и передачи данных между аккумуляторами 1 и 2 и маркерной областью памяти; с использованием (по возможности) только аккумуляторов 1-4 и команд работы с аккумуляторами процессора.

К каждой команде каждого варианта задания составить подробное описание выполняемых действий.

    1. Пример выполнения работы.

Произвести перемещения данных между аккумуляторами процессора и маркерным двойным словом по следующей схеме.

Двойное слово: (3с_54_1а_23Н) (АК1=23_1а_54_3сН); (АК2=1а_23_3с_54); (MW10=3c_54H); (MW12=1а_23Н).

Исходную константу представленную в шестнадцатеричном виде (3с_54_1а_23Н), используя команды обмена с аккумуляторами процессора разместить в аккумуляторе 1 в виде (23_1а_54_3сН), в аккумуляторе 2 в виде (1а_23_3с_54), в маркерное слово MW10 выгрузить часть константы (3c_54H), в маркерное слово MW12 выгрузить часть константы (1а_23Н).

Вариант выполнения 1.

Программа на языке STL с использованием только команд загрузки и передачи с пояснением каждого действия приведена в табл.6.

Таблица 6

Пример первого варианта программы обмена данными с аккумуляторами

Команда на STL

Действия

1

L DW#16#3C541A23

АК1=3с541а23h

2

T MD 10

MD10=3с541а23h (MW10=3с54h; MW12=1а23h)

3

L MB 13

AK1=23h

4

T MB 20

MB20=23h (MD20=23000000h)

5

L MB 12

AK1=1аh

6

T MB 21

MB21=1аh; (MD20=231а0000h)

7

L MB 11

АК1=54h

8

T MB 22

MB22=54h (MD20=231а5400h)

9

L MB 10

АК1=3сh

10

T MB 23

MВ=3сh; (MD20=231а54h)

11

L MW 10

AK1=MW10=3с54h

12

T MW 14

MW14=3с54h; (MD12=1а233с54h)

13

L MD 12

АК1= MD12=1а233с54h

14

L MD 20

АК2=АК1; АК1=231а54h

Последовательность работы программы следующая.

1) Исходная константа загружается в аккумулятор 1.

2) Аккумулятор АК1 выгружается в маркерное двойное слово MD10. Расположение байт в маркерном двойном слове будет иметь вид: MD10=3с_54_1а_23h, в маркерных словах MW10=3с_54h; MW12=1а_23h, в маркерных байтах MВ10=h, MB11=54h, MB12=1ah, MB13=23h.

3) Аккумулятор 1 загружается из маркерного байта MВ13.

4) Выгружается АК1 в маркерный байт MВ20, который является старшим байтом двойного слова МD20 (MD20=23000000h).

5) Аккумулятор 1 загружается из маркерного байта MВ12.

6) Выгружается АК1 в маркерный байт MВ21 (MD20=231a0000h).

7) Аккумулятор 1 загружается из маркерного байта MВ11.

8)Выгружается АК1 в маркерный байт MВ22 (MD20=231a5400h).

9) Аккумулятор 1 загружается из маркерного байта MВ10.

10) Выгружается АК1 в маркерный байт MВ23 (MD20=231a543ch).

После выполнения всех этих действий маркерное двойное слово MD20 содержит требуемую в соответствии с заданием последовательность байт.

11, 12) Для того чтобы поменять местами слова маркерного двойного слова MD10 перенесем слово МW10 в слово MW14.

13) Загрузим аккумулятор 1 из двойного слова MD12.

14) Для переноса этих данных в соответствии с заданием в аккумулятор 2 загрузим АК 1 данными из двойного слова MD20.

Вариант выполнения 2.

Программа на языке STL с использованием команды перемещения данных внутри аккумулятора с пояснением каждого действия приведена в табл.7.

Таблица 7

Пример второго варианта программы обмена данными с аккумуляторами

Команда на STL

Действия

1

L DW#16#3C541A23

АК1=3с_54_1а_23h

2

T MD 10

MD10=3с_54_1а_23h (MW10=3с_54h; MW12=1а_23h)

3

L MW 10

AK1=3c_54h

4

T MW 14

MW14=3c_54h

5

L MD 12

AK1=_23_3c_54h

6

L MD 10

АК1=3с_54_1а_23h AK2=1а_23_3c_54h

7

CAD

АК1=23__54_h

Последовательность работы программы следующая.

1) Загрузка аккумулятора 1 константой 3с_54_1а_23h.

2) Аккумулятор АК1 выгружается в маркерное двойное слово MD10. Расположение байт в маркерном двойном слове будет иметь вид: MD10=3с_54_1а_23h, в маркерных словах MW10=3с_54h; MW12=1а_23h.

3) Аккумулятор 1 загружается из маркерного слова MW 10.

4) Выгружается в маркерное слово MW 14.

5) Аккумулятор 1 загружается из маркерного двойного слова MD12=1а_23_3c_54h.

6) Значение АК1 переносится в АК2. Аккумулятор 1 загружается из маркерного двойного слова MD10=3с_54_1а_23h.

7) В аккумуляторе 1 происходит перемещение байт. Результат содержащийся в АК1=23_1а_54_3сh.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]