Я выполняю программу, которая ищет сумму квадратов чисел с плавающей запятой, представленных в массиве
Я инициализировал ST1
и ST
до +0.0
, дважды использовав FLDZ
, и загрузил первое число, указанное от RSI
до ST
, умножил сам на себя и добавил результат к ST1
и запустил вышеописанную процедуру через цикл
Массив array dd 15.0,7.0,9.0
Блок, выполняющий данную операцию:
mov rsi,array
fldz
fldz
xor rcx,rcx
mov cl,3
variance:
fld dword[rsi]
fmul dword[rsi]
fadd st1
add rsi,4
loop variance
fld st1
call display
mov rax,60
syscall
Рассмотрим display
как процедуру, которая печатает числа с плавающей запятой, хранящиеся в ST
Ожидаемый результат: 355,0000
Фактический объем производства: 274,0000