Найти среднее арифметическое отрицательных чисел - 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 — конец файла кода.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д