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

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

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






 

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; просмотров: 705. Нарушение авторских прав; Мы поможем в написании вашей работы!



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

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

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

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Шов первичный, первично отсроченный, вторичный (показания) В зависимости от времени и условий наложения выделяют швы: 1) первичные...

Предпосылки, условия и движущие силы психического развития Предпосылки –это факторы. Факторы психического развития –это ведущие детерминанты развития чел. К ним относят: среду...

Анализ микросреды предприятия Анализ микросреды направлен на анализ состояния тех со­ставляющих внешней среды, с которыми предприятие нахо­дится в непосредственном взаимодействии...

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

Основные разделы работы участкового врача-педиатра Ведущей фигурой в организации внебольничной помощи детям является участковый врач-педиатр детской городской поликлиники...

Ученые, внесшие большой вклад в развитие науки биологии Краткая история развития биологии. Чарльз Дарвин (1809 -1882)- основной труд « О происхождении видов путем естественного отбора или Сохранение благоприятствующих пород в борьбе за жизнь»...

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