Реферат

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 23.6.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. Реферат Физическое воспитание и здоровый образ жизни учащихся 3
5. Реферат Вексель и вексельное обращение
6. Реферат Jerusalem Israel Essay Research Paper JerusalemJerusalem is
7. Курсовая на тему Разработка технологического процесса механической обработки опоры для рычага
8. Курсовая Блогосфера как пространство размещения рекламы
9. Реферат на тему The Crucible Fight For Integrity Essay Research
10. Реферат Понятие административной ответственности 5