О САЙТЕ
Добро пожаловать!

Теперь вы можете поделиться своей работой!

Просто нажмите на значок
O2 Design Template

ФЭА / АИТ / ОТЧЕТ по лабораторным работам по дисциплине: «Вычислительные машины, комплексы и сети»

(автор - student, добавлено - 8-01-2014, 21:37)

 

ОТЧЕТ

по лабораторным работам по дисциплине:

«Вычислительные машины, комплексы и сети»

 

 

Задача №1

Взять число из массива расположенного по адресу, номер которой находится в регистровой паре Н-L. Определить чётное число или нет. Сформировать два массива: чётных и нечетных чисел. Размер массива 240.

 

   LXI H,0100H ;Задаем начальный адрес исходного массива

   LXI B,0200H ;Задаем начальный адрес массива для нёчетных чисел

   LXI D,0300H ;Задаем начальный адрес массива для чётных чисел

   LXI SP,0500H;Указываем ячейку памяти, где будет находиться стек

M4:MOV A,M     ;Загружаем в аккумулятор число из исходного массива

   ANI 01H     ;Проверяем число на чётность

   JNZ M1      ;Если число нечётное помещаем его в соответствующий массив

   JZ M2       ;Если число чётное помещаем его в соответствующий массив

M1:MOV A,M     ;Загружаем в аккумулятор найденное нечётное число

   PUSH H      ;Временно помещаем содержимое регистровой пары H-L в стек

   MOV H,B     ;Переходим к массиву из нечётных чисел

   MOV L,C     ;

   MOV M,A     ;Записываем число в массив для нечётных чисел

   POP H       ;Восстанавливаем содержимое регистровой пары H-L

   INX B       ;Готовим ячейку памяти для следующего нечётного числа

   JMP M3      ;Переходим к следующему элементу исходного массива

M2:MOV A,M     ;Загружаем в аккумулятор найденное чётное число из массива

   PUSH H      ;Временно помещаем содержимое регистровой пары H-L в стек

   XCHG        ;Переходим к массиву для чётных чисел

   MOV M,A     ;Записываем число в массив для чётных чисел

   POP H       ;Восстанавливаем содержимое регистровой пары H-L

   INX D       ;Готовим ячейку памяти для следующего чётного числа

   JMP M3      ;Переходим на метку перехода к следующему элементу массива

M3:INX H       ;Переходим к следующему элементу исходного массива

   MVI A,F0H   ;Проверяем, не проверены ли все элементы исходного массива

   SUB L       ;

   JNZ M4      ;Если нет, то повторяем цикл

   HLT         ;Если элементы массива исчерпаны, заканчиваем программу

 

    Задача №2

         Образовать из однобайтных чисел, расположенных с адресов в H-L тетрады и поместить их в два массива.

 

         Задача №3

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

 

   MVI B, F0H  ;Задаём размер массива

M3:MVI D, F0H  ;Задаём размер массива

   LXI H, 0150H;Задаём адрес первого элемента массива

M1:DCR D       ;Повторяем цикл 240 раз

   JZ M4       ;

   MOV A,M     ;Помещаем элемент массива в аккумулятор

   INX H       ;Переходим к следующему элементу массива

   SUB M       ;Сравниваем его с предыдущим элементом

   JP M1       ;Если предыдущий элемент больше следующего не выполняем                 ;никаких операций и переходим к следующим элементам

   DCX H       ;Иначе возвращаемся к предыдущему элементу массива

   MOV A,M     ;Помещаем его в аккумулятор

   INX H       ;Переходим к следующему элементу

   MOV C,M     ;Помещаем его в регистр С

   MOV M,A     ;Помещаем в его ячейку предыдущий элемент массива

   DCX H       ;Возвращаемся к предыдущей ячейке

   MOV M,C     ;Помещаем в неё содержимое регистра С

   INX H       ;Переходим к следующим элементам массива

   JMP M1      ;Повторяем цикл с перемещением элементов 240 раз

M4:DCR B       ;

   JZ M2       ;

   JMP M3      ;Выполняем перемещение элементов массива 240 раз

M2:HLT         ;

 

    Задача №4

         Сдвинуть массив данных размером 240 элементов, расположенного с адресов 0100 на два байта в сторону меньшего адреса, а на освободившееся место поставить число равное количеству единиц в перенесённом массиве

 

   LXI H,0100H;Задаём начальный адрес массива

   MVI B,F0H  ;Задаём размер массива

M2:MOV A,M    ;Помещаем элемент массива в аккумулятор

   MVI C,09H  ;Считаем количество единиц в массиве

M1:RLC        ;

   DCR C      ;

   JZ M3      ;

   JNC M1     ;

   INX D      ;

   JNZ M1     ;

M3:DCX H      ;Перемещаем элемент массива на две ячейки

   DCX H      ;

   RRC        ;

   MOV M,A    ;

   INX H      ;

   INX H      ;

   INX H      ;

   DCR B      ;Повторяем цикл 240 раз

   JNZ M2     ;

   MOV M,D    ;Помещаем на освободившееся место число равное кол-ву

   DCX H      ;единиц в массиве

   MOV M,E    ;

   HLT        ;

 

         Задача №5 

 

         Произвести обмен содержимыми блоков памяти расположенных с адресов 0100 и 0200, при этом проинвертировать массивы

 

   LXI H,0100H ;Задаём начальный адрес первого массива

   LXI D,0200H ;Задаём начальный адрес второго массива

   MVI B,F0H   ;Задаём размер массива

M1:MOV A,M     ;Помещаем элемент первого массива в аккумулятор

   CMA         ;Инвертируем этот элемент

   XCHG        ;Переходим на второй массив

   MOV C,M     ;Помещаем элемент второго массива в регистр С

   MOV M,A     ;Помещаем инвертированный элемент первого массива во                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ;второй массив

   MOV A,C     ;Помещаем элемент второго массива в аккумулятор

   CMA         ;Инвертируем этот элемент

   XCHG        ;Возвращаемся к первому массиву

   MOV M,A     ;Помещаем туда проинвертированный элемент второго ;массива

   INX D       ;Переходим ко следующим элементам массивов

   INX H       ;

   DCR B       ;Повторяем цикл 240 раз

   JNZ M1      ;

   HLT


Ключевые слова -


ФНГ ФИМ ФЭА ФЭУ Яндекс.Метрика
Copyright 2021. Для правильного отображения сайта рекомендуем обновить Ваш браузер до последней версии!