Пересылка массива информации из одной области памяти в другую

Адрес Машинный код Метка Мнемокод Комментарий  
  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 окончание программы

 

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

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

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

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

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

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

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

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

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

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

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

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

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

 

 

Таблица 2

Выборка из массива данных чисел заданного интервала