Страница 1 из 1

Связка Assembler и Delphi

Добавлено: 06 дек 2005, 21:53
Mark
Здравствуйте всем!

Требуется написать функцию сложения двух вещественных чисел. Я работаю с дельфийским ассемблером. Когда я делаю так:

Код: Выделить всё

mov eax, a
mov ebx, b
add eax, ebx
то мне прога благополучно сообщает, что тип не помещается в указанные операторы. По крайней мере я так понимаю. Но я совсем новичок в асме, поэтому могу ошибаться. Помогите пожалуйста.

И ещё: для функции деления двух целых чисел есть вот такой код:

Код: Выделить всё

mov eax, a
mov ebx, b
idiv eax, ebx
который с параметрами 8 и 4 даёт в результате... -8, что не есть правильно :-)

В общем, что я делаю не так? :) Всем заранее спасибо!

Добавлено: 07 дек 2005, 15:50
keeahn
Для работы с вещественными числами надо юзать FPU, либо SSE2.
Описание стандартных инструкций можно найти в любом пакте для программирования на ассемблере (в частности в MASM32->Opcodes).

Добавлено: 07 дек 2005, 21:24
Mark
Хм... ну с вещественными числами понятно. А почему же idiv мне выдаёт ложный результат? Синтаксис-то верен, вроде? Или тоже надо другую инструкцию применять?

Добавлено: 07 дек 2005, 22:09
keeahn
А если попробовать так:

Код: Выделить всё

mov eax,-8
mov ebx,4
xor edx,edx
idiv ebx
в edx по ходу должен после этого быть остаток, а в ax частное.