Обработка одномерных массивов - Assembler (223539)
Формулировка задачи:
Здравствуйте!
Нужна помощь по данному заданию.
Спасибо большое за помощь!
Решение задачи: «Обработка одномерных массивов»
textual
Листинг программы
- .model small
- .386
- .data
- B db 1,2,15 dup(?)
- .stack
- db 255 dup(?)
- .code
- start:
- mov ax,@data
- mov ds,ax
- mov es,ax
- mov cx,15
- lea si,B
- lea di,B+2
- sum:
- lodsb
- mov bl,al
- lodsb
- add al,bl
- stosb
- dec si
- loop sum
- mov ah,4Ch
- mov al,00h
- int 21h
- end start
Объяснение кода листинга программы
- Устанавливаются сегменты данных и стека
- Задаётся начальное значение счётчика циклу
- Указатели на начало и конец строки B
- Начинается цикл обработки строки
- Загружается в регистр BL первый байт строки
- Загружается в регистр AL второй байт строки
- Складываются значения регистров BL и AL
- Записывается результат в буферный регистр AL
- Выполняется операция вычитания (счётчик цикла уменьшается на 1)
- Если счётчик не равен нулю, то происходит переход к следующей итерации цикла
- Завершающая обработка: выводится сообщение об успешном выполнении программы
- Передача управления за пределы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д