Напишите программу на языке ассемблера для микропроцессора Intel 8085 для вычисления суммы N натуральных чисел, то есть ΣN = 1 + 2 + 3 +… + (N-1) + N.
Выполните как множество ограничений:
- Не используется формула N * (N + 1) / 2
- Не используются никакие инструкции увеличения и уменьшения, такие как INR, DCR, INX и DCX
- Не использовать адрес памяти для чтения данных и записи результатов вывода (предположим, что регистр аккумулятора одинаков)
Мой код:
START: LDA 3000H
MOV B, A
INR A
MOV C, A
MVI A, 00H
LOOP1: ADD B
DCR C
JNZ LOOP1
MVI C, 02H
MVI B, 00H
LOOP2: INR B
SUB C
JNZ LOOP2
MOV A,B
STA 3001H
HLT
У меня есть попробовал и сделал программу, но с использованием всех этих ограничений, в то время как вопрос просит их не использовать. Поэтому я сомневаюсь, можно ли создать программу, не используя их.