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

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

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






 

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



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

Метод архитекторов Этот метод является наиболее часто используемым и может применяться в трех модификациях: способ с двумя точками схода, способ с одной точкой схода, способ вертикальной плоскости и опущенного плана...

Примеры задач для самостоятельного решения. 1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P   1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P...

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

Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...

Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

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