Найти среднее арифметическое отрицательных чисел - Assembler
Формулировка задачи:
.model tiny .code .startup Org 100h Jmp Short Start Vector Dw -2, 7, -1, 16, 15, -5 ,-7 N Equ 7 Start: Xor Bx, Bx Mov Cx, N S: Mov Ax, Vector[Bx] Add Bx, 2 Loop S .exit 0 end
Решение задачи: «Найти среднее арифметическое отрицательных чисел»
.model tiny .code .startup Org 100h Jmp Short Start Vector Dw 2, 7, -1, 16, 15, -2 ,-6 , -6 N Equ 8 Start: Lea Bx, Vector Mov Cx, N S: Mov Ax, [Bx] Add Bx, 2 Loop S .exit 0 end
Объяснение кода листинга программы
.model tiny — это указание компилятору, что нужно использовать модель памяти tiny, которая предназначена для старых 8086 процессоров. .code — сегмент кода. .startup — сегмент стартового блока. Org 100h — указание на то, что сегментный регистр должен быть установлен в 100h. Jmp Short Start — переход на процедуру Start. Vector Dw 2, 7, -1, 16, 15, -2 ,-6 , -6 - это массив из восьми элементов, который будет использоваться в качестве вектора. N Equ 8 - это константа, которая определяет размер массива вектора. Start: — метка начала работы программы. Lea Bx, Vector — загрузка в регистр Bx адреса начала массива вектора. Mov Cx, N — загрузка в регистр Cx значения константы N. S: — метка начала цикла. Mov Ax, [Bx] — загрузка в регистр Ax значения элемента массива вектора по адресу Bx. Add Bx, 2 - увеличение адреса Bx на 2 для перехода к следующему элементу массива. Loop S — переход на процедуру S, если значение регистра Cx не равно нулю. .exit 0 - завершение работы программы. end — конец файла кода.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д