Реферат

Реферат Асемблер Задание 3 - вар2

Работа добавлена на сайт bukvasha.net: 2015-10-28

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 14.2.2025


LXI H, 8100 ;задание адреса первого элемента (HL:=8100H)

MVI D, 40 ;задание кол-ва элементов

XRA A ;обнуление аккумулятора

MVI C, 00 ;обнуление регистра C (счетчик переполнений)

X1: ADD M ;суммирование (A:=A+M(HL))

JNC X2 ;перейти на Х2 если нет переполнения

INR C ;произошло переполнение → прибавить 1 к старшему байту

результата суммирования

X2: INX H ;присвоить HL адрес следующей ячейки (HL:=HL+1)

DCR D ;уменьшение счётчика кол-ва элементов на 1 (D:=D-1)

JNZ X1 ;если элемент не последний - продолжить суммирование

MOV B, A ;пересылка младшего байта результата суммирования в регистр В

Сумма 64х элементов находится в паре BC

MVI D, 06 ;задание кол-ва сдвигов (6 сдвигов равносильно делению на 64)

CALL DIV ;вызов подпрограммы деления

После DIV: Среднее значение находится в регистре В

LXI H, 8100 ;задание адреса первого элемента (HL:=8100H)

MVI D, 40 ;задание кол-ва элементов

MOV A, M ;будем считать первый элемент минимальным (A:=M(HL))

X3: CMP M ;сравниваем минимальный элемент с текущим (A-М(HL))

JM X4 ;при S=1 (A-M(HL)<0 → A<M(HL)) переход на Х4

MOV A, M ;если же S=0 (A-M(HL)≥0 → AM(HL)), сделать текущий элемент

наименьшим

X4: INX H ;присвоить HL адрес следующей ячейки (HL:=HL+1)

DCR D ;уменьшение счётчика кол-ва элементов на 1 (D:=D-1)

JNZ X3 ;если элемент не последний - продолжить

MOV C, A ;пересылка значения AMIN в регистр C

Минимальное значение находится в регистре С

MOV A, C ;пересылаем минимальное значение в аккумулятор (CA)

RAR ;циклический сдвиг вправо через перенос (деление на 2)

ORA A ;обнуление флага переполнения (ТС:=0)

MVI C, 00 ;обнуление регистра C (счетчик переполнений)

ADD B ;суммирование: АСР + АMIN/2

JNC X5 ;перейти на Х5 если нет переполнения

INR C ;произошло переполнение → прибавить 1 к старшему байту

результата Y

X5: MOV B, A ;пересылаем младший байт из аккумулятора в регистр B

Значение (Аср + Amin/2) находится в паре ВС

MVI D, 02 ;задание кол-ва сдвигов (2 сдвига равносильно делению на 4)

CALL DIV ;вызов подпрограммы DIV (деление на 4)

После DIV: Y находится в регистре В

MOV A, B ;пересылаем значение Y в регистр аккумулятор (BA)

STA 8150 ;пересылаем значение Y (окончательный результат) в ячейку 8150H

RST 1 ;выход из программы

DIV: MOV A, C ;пересылаем старший байт в аккумулятор (CA)

RAR ;циклический сдвиг вправо через ТС

MOV C, A ;возврат в C старшего байта

MOV A, B ;пересылаем младший байт в аккумулятор (BA)

RAR ;циклический сдвиг вправо через ТС

MOV B, A ;возврат в B младшего байта

ORA A ;обнуление флага переполнения (ТС:=0)

DCR D ;уменьшение счётчика кол-ва сдвигов на 1 (D:=D-1)

JNZ DIV ;если сдвиг не последний – продолжить

RET ;выход из подпрограммы DIV


1. Сочинение на тему Ахматова а. - романность лирики анны ахматовой
2. Курсовая Организация и проведение тематического вечера Новый год
3. Реферат Эффективность деловых отношений исходя из требований проффесиональной этики
4. Статья Страховые брокеры реальная действительность и идеальная модель
5. Реферат Религия древнего Рима
6. Задача Методы оценки инвестиционной привлекательности регионов
7. Реферат на тему The Beast In The Children Essay Research
8. Диплом на тему Борьба женщин за свои права
9. Реферат на тему The End To End All Ends Essay
10. Реферат Организация и функционирование службы маркетинга на предприятии