Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2010, 11:42   #1
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
Вопрос Проблема с mul

Вот захотелось мне ассемблерно перемножить два числа.Решил сделать так:
Код:
Var
     X,Y:Integer;
Begin
        X:=10;
        Y:=13;
        asm
        mov cx,y
        mul cx,x
        end;
        ....
End;
Однако, в строке
Код:
mul cx,x
Ошибка 'Invalid combination of opcode и ещё чё-то там'.Почему?
_-Re@l-_ вне форума Ответить с цитированием
Старый 10.10.2010, 11:49   #2
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Прежде чем что-то делать, нужно почитать.
Плюс, вроде бы паскалевский компилятор не хочет работать с 32-битными регистрами.
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 10.10.2010, 12:12   #3
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Integer - число со знаком, надо использовать imul.
(Но imul cx, x TP всё равно не поймёт, так как такая форма imul'а появилась начиная с вроде бы 80386.)
Somebody вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37