Найти среднее арифметическое отрицательных чисел - 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
надо найти средний аритмический только негативным числам Спочно Ассамблер

Решение задачи: «Найти среднее арифметическое отрицательных чисел»

textual
Листинг программы
.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 — конец файла кода.

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы