Другие языки программирования и технологии

Подскажите, правильно ли? assembler

Подскажите пожалуйста, правильно ли написан код на данное задание? Язык программирования assembler.
Задание: "Написать подпрограмму для подсчёта суммы массива вещественных чисел двойной точности, начало задано в SI, количество в регистре CX, использовать команды сопроцессора. Результат поместить на верхушке системного стека."
код:
mov cx, 10
mov si, massiv
xor ax, ax
add si, 100H
A: add ax, [si]
inc si
inc si
loop A
B:jmp B
massiv DW 1, 17,4, 3, 2, 1, 5, 8, 12, 10
Abbos Yangiyev
Abbos Yangiyev
259
Принципиально неправильно. В вашем задании написано использовать команды сопроцессора, а в вашей "программе" даже намёка на него нет.
B:jmp B - такое впечатление, что вы пытались написать программу для какого-то экзотического контроллера на базе Intel 80x86 без операционной системы. В PC завершение работы этой программы возможно только с помощью трёх волшебных клавиш.

16-ти разрядная программа для реального режима работы процессора i8086, операционная система MS DOS, компилятор MASM/TASM.
Надеюсь, что в действительности в вышей вычислительной системе установлен процессор не старее i80486, поэтому команды fwait не включены.

.model small
.data
massiv dq 1.0, 17.0, 4.0, 3.0, 2.0, 1.625, 5.0, -8e-2, 1.2, 10.0
Len equ ($ - massiv) shr 3
Result dq ?
.stack 100h
.code
;Подпрограмма вычисления суммы элементов массива
Sum proc
fld qword ptr [si]
dec cx
DoLoop:
add si,8
fadd qword ptr [si]
loop DoLoop
pop cx
sub sp,8
mov bp,sp
fstp qword ptr [bp]
push cx
ret
Sum endp

;Пример использования подпрограммы
N69601597:
mov bx,@data
mov ds,bx
finit
lea si,massiv
mov cx,Len
call Sum
mov bp,sp
fld qword ptr [bp]
add sp,8
fstp Result
mov ah,4Ch
int 21h
end N69601597

P.S. Довольно необычное требование возвращать действительное число на вершине системного стека.
P.P.S. Результат вычисления записывается в переменную Result.
Ваган Егиазарян
Ваган Егиазарян
51 590
Лучший ответ
абсолютно неправильно.
Иван Наумов
Иван Наумов
32 502
дак выполни код и посмотри то ли он делает что нужно или нет
У тебя сразу принципиальная ошибка. У тебя в задании вещественные числа. сопроцессор использовать нужно.
Олег Короп
Олег Короп
395