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

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

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






 

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



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

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

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

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

Условия приобретения статуса индивидуального предпринимателя. В соответствии с п. 1 ст. 23 ГК РФ гражданин вправе заниматься предпринимательской деятельностью без образования юридического лица с момента государственной регистрации в качестве индивидуального предпринимателя. Каковы же условия такой регистрации и...

Седалищно-прямокишечная ямка Седалищно-прямокишечная (анальная) ямка, fossa ischiorectalis (ischioanalis) – это парное углубление в области промежности, находящееся по бокам от конечного отдела прямой кишки и седалищных бугров, заполненное жировой клетчаткой, сосудами, нервами и...

Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Плейотропное действие генов. Примеры. Плейотропное действие генов - это зависимость нескольких признаков от одного гена, то есть множественное действие одного гена...

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