русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Содержание лабораторной работы


Дата добавления: 2015-08-06; просмотров: 625; Нарушение авторских прав


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

Рассмотрим следующую задачу. Массив чисел расположен в области памяти,, начиная с адреса NNNN и состоит из N элементов. Необходимо переслать массив в другую область памяти, начиная с адреса DDDD. В программе для МП К580ИК80А в качестве адресного регистра используется регистровая пара HL. В качестве адресных регистров можно также использовать регистры В и С (регистровая пара ВС), регистры D и Е (регистровая пара DE), но только для выполнения операций перемещения данных в аккумулятор и обратно (с помощью команд LDAX и STAX). Эти адресные регистры нельзя использовать в командах, выполняющих арифметические и логические операции, а также операции пересылки данных в регистры общего назначения или из регистров общего назначения. Необходимо учитывать, что при каждом проходе программа должна изменять содержимое обоих адресных регистров. Один и тот же набор регистров должен совместно использоваться в качестве счетчиков указателя адреса и рабочих ячеек.

В программе пересылки массива из одной области памяти в другую использованы следующие исходные данные и обозначения:

N - количество элементов массива

D - регистр-счетчик, указатель длины массива

HL - адресный указатель исходного массива

NNNN - адрес ячейки памяти, где хранится первое число

исходного массива

ВС - адресный указатель результирующего массива

DDDD - адрес ячейки памяти, с которой начинается результирующий массив

8500 - адрес начала программы

N - количество элементов исходного массива

L - счетчик, указатель длины исходного массива

ВС - адресный указатель исходного массива



NNNN - адрес ячейки памяти, где хранится первое число исходного массива.

DE - адресный указатель результирующего массива

DDDD - адрес ячейки памяти, куда будет записано первое число результирующего массива.

Н1 - нижний предел диапазона выборки

Н2 - верхний предел диапазона выборки

8100 - адрес начала программы

Перед выполнением программы исходный массив чисел А1 заносится в память с помощью командных клавиш, начиная с адреса NNNN (см. Приложение 5)

Перед выполнением программы исходный массив чисел заносится в память, с помощью командных клавиш, начиная с адреса NNNN (см. Приложение 4).

В ряде случаев возникает необходимость выбрать из массива информации данные, представляющие собой ряд максимальных, либо минимальных вели- чин. Предположим, что необходимо написать программу для решения следующей задачи. Дан массив А1, состоящий из N однобайтовых чисел. Необходимо переписать из массива А1 в массив В1 все числа в диапазоне от Н1 до Н2.

В программе выборки из массива чисел заданного интервала использованы следующие исходные данные и обозначения:


Таблица 23.1 - Пересылка массива информации из одной области

памяти в другую

Адрес Машинный код Метка Мнемокод Комментарий  
  MVI D загрузка счетчика
N      
  LXI Н загрузка адресного указателя
NN     исходного массива
NN      
  LXI B загрузка адресного указателя
DD     результирующего массива
DD      
7E M2 MOV A,M пересылка числа из памяти в АКМ
  STAX B пересылка числа из АКМ в память
850А   DCR D уменьшение счетчика на единицу
850В CA   JZ, M1 пересылка массива закончена?
850С      
850D      
850Е   INX H переход к следующему адресу в HL
850F   INX B переход к следующему адресу в BC
C3   JMP, M2 организация цикла
     
     
Ml NOP окончание программы


<== предыдущая лекция | следующая лекция ==>
Порядок выполнения работы | Содержание отчета


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.266 сек.