Студопедия — Команды вызова подпрограммы и возврата
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Команды вызова подпрограммы и возврата






 

CALL < B3> < B2> – вызов подпрограммы по адресу < B3> < B2>, указанному во втором и третьем байтах команды;

RET – возврат из подпрограммы.

 

3.1 Записать в память программу подсчета контрольной суммы массива (таблица 80), использующую команду вызова подпрограммы сравнения содержимого пар рег. HL и DE (таблица 81).

 

 

Таблица 80 – Контрольная программа подсчета контрольной суммы массива,

использующая подпрограмму сравнения содержимого пар регистров

 

Адрес Метка Команда Операнд Машинный код Комментарий
    LXI H, 0100H 21 00 01 ; Загр HL – нач. адрес ; массива
    LXI D, 017FH 11 7F 01 ; Загр. DE – конеч. адрес ; массива.
    LXI SP, 0B00H 31 00 0B ; Загр SP=0В00H, нижняя ; граница стека
    MVI B, 00H 06 00 ; Загр. В=00Н – исх. знач. ; КС
084B М1 MOV A, B   ; Подсчет КС массива ; памяти
084C   ADD M   ; Подсчет КС массива ; памяти.
084E   INX H   ; HL=(HL)+1, адр. след. ; ячейки
084F   CALL М2 CD 56 08 ; Вызов подпрограммы ; сравнения
    JNC М1 D2 4B 08 ; Переход на адрес; 080ВН, если (ТС)=0
    HLT     ; Останов

 

Таблица 81 – Подпрограмма сравнения содержимого пар регистров HL и DE

 

Адрес Метка Команда Операнд Машинный код Комментарий
  М2 MOV A, E 7B ; Подпрограмма сравнения
    SUB L   ; Если (HL)> (DE), то (ТС)=1
    MOV A, D 7A ; Иначе (ТС)=0
    SBB H 9C ;
085A   RET   C9 ;

 

3.2 Выполнить программу:

 

СТ0840 0855ВП.


Определить значение контрольной суммы заданного массива (содержимое регистра В). Сравнить полученное значение с результатом подсчета контрольной суммы с помощью команды ПОДСЧЕТ КОНТРОЛЬНОЙ СУММЫ системной программы МОНИТОР, они должны совпадать. Записать в отчет полученное значение контрольной суммы.

 

3.3 Выполнить программу поэтапно, устанавливая точки останова (ТО) в соответствии с таблицей 82:

 

СТ0840Н ТОВП.

 

Записать в таблицу 82 содержимое указателя стека SP в точках останова.

 

Таблица 82 – Результаты выполнения контрольной программы подсчета контрольной суммы массива

 

Точка останова ТО1=084FH ТО2=0856H ТО3=085АH ТО4=0852H ТО5=0855H
(SP)          

 

В точке останова ТО3 посмотреть содержимое ячеек памяти с адресами SP, SP+1. В них должны находиться мл. и ст. байты адреса возврата (таблица 83).

 

Таблица 83 – Содержимое стека в точке останова ТО3

 

(М) по адр. (SP) 52Н
(М) по адр. (SP+1) 08Н

Задание 2:

Написать с адреса 0А20Н проверочную программу подсчета контрольной суммы массива.

1 Заполнить массив (0А50Н…0А6FН) константой ЕЕН:

– начальный адрес массива загрузить в пару регистров HL;

– константу ЕЕН загрузить в регистр D;

– заполнение массива константой оформить в виде цикла;

– счетчик циклов организовать на регистре Е.

2 Подсчитать контрольную сумму этого массива (без учета переноса):

– подсчет контрольной суммы оформить как подпрограмму;

– значение контрольной суммы записать в регистр С;

– начальный адрес подпрограммы 0950Н;

– нижняя граница стека 0В50Н.

3 Алгоритм решения задачи и алгоритм подпрограммы представлены на рисунках 5 и 4 соответственно.

4 Программу и подпрограмму записать в таблицы, аналогичные по форме таблицам 80 и 81 соответственно.

5 Записать в память УМК и выполнить проверочную программу подсчета контрольной суммы. Указать в отчете значение контрольной суммы. Полученное значение контрольной суммы сравнить с результатом, полученным при использовании команды ПОДСЧЕТ КОНТРОЛЬНОЙ СУММЫ системной программы МОНИТОР, они должны совпадать.

6
 
 

Выполнить программу поэтапно, устанавливая точки останова аналогично контрольной программе (таблицы 80 и 81). Результаты записать в таблицы, аналогичные по форме таблицам 82 и 83. Сделать выводы о содержимом указателя стека в каждой точке останова и содержимом стека в ТО3.

 

Рисунок 4 – Алгоритм подпрограммы подсчета контрольной суммы

 

 

Рисунок 5 – Алгоритм решения задачи

 

ЛАБОРАТОРНАЯ РАБОТА № 20







Дата добавления: 2014-11-10; просмотров: 706. Нарушение авторских прав; Мы поможем в написании вашей работы!



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Гальванического элемента При контакте двух любых фаз на границе их раздела возникает двойной электрический слой (ДЭС), состоящий из равных по величине, но противоположных по знаку электрических зарядов...

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

Растягивание костей и хрящей. Данные способы применимы в случае закрытых зон роста. Врачи-хирурги выяснили...

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия