Вариант 8 Основная программа в бесконечном цикле суммирует элементы массива, значения которых больше 3839. Если элементы массива закончились, тоячейки результата обнуляются, и подсчет начинается заново.
Массив имеет следующие характеристики
- адрес начала массива в памяти БЭВМ — 0х6е4;
- число измерений исходного массива — 1;
- количество элементов исходного массива — 10;
- каждый элемент является знаковым числом с разрядностью 16бит;
- нумерация элементов начинается с 0;
- элементы хранятся в массиве по границам слов, нетнеобходимости в плотной упаковке.
- Результат является 32-разрядным и хранится в 2 последовательно расположенных ячейках памяти.
Обработчик прерывания должен по нажатию кнопки готовности ВУ-3 осуществлять вывод количества обработанных элементов массива наданное ВУ, а также игнорировать все необрабатываемые прерывания. Примечание: все числа предоставлены в десятичной системе счисленияесли явно не указано иное.
ORG 0x100
ADDR: WORD $ARRAY
RES1: WORD 0x0000
RES2: WORD 0x0000
CAL: WORD 0x0000
NUM: WORD 0x3839
LEN: WORD 0x000A
START: CLA
SUMUP: LD (ADDR)+
SUB NUM
BMI CONTINUE
ADD NUM
ADD RES1
ST RES1
LD RES2
ADC 0x6E3
ST RES2
CONTINUE: LD CAL
SUB LEN
BEQ FINAL
ADD LEN
INC
ST CAL
IN 7
AND #0x40
BEQ PASS
LD CAL
OUT 6
PASS: JUMP SUMUP
FINAL: HLT
RESET: CLA
ST CAL
ST RES1
ST RES2
LD ADDR
SUB LEN
DEC
ST ADDR
RET
ORG 0x6E4
ARRAY: WORD 0x3839
WORD 0x0010
WORD 0x0010
WORD 0x0010
WORD 0x0001
WORD 0x3839
WORD 0x0001
WORD 0x3839
WORD 0x3839
WORD 0x3839