· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ASSEMBLER —› скоростное умножение

Посл.отвђт Сообщенiе


Дата: Ноя 30, 2003 16:59:28

Тупой вопрос, но время поджимает:
пытаюсь сделать умножение
lea eax,[eax+eax*09h],
а ml меня посылает со словами "error A2083: invalid scale value"... Что ему надо?


Дата: Ноя 30, 2003 18:39:28

множитель должен быть степенью двойки


Дата: Ноя 30, 2003 20:09:07

Microsoft Macro Assembler Reference

ML Nonfatal Error A2083See Also
ML Error Messages
invalid scale value

A register scale was specified that was not 1, 2, 4, or 8.


Когда же хоть кто-нибудь научится читать доки перед тем как постить сюда...


Дата: Ноя 30, 2003 20:59:27 · Поправил: Quantum

dz 3BePIOra
eax*10 = eax*8 + eax*2
Вроде так:
shl eax,1 ; x2
lea eax,[eax + eax*4]


Дата: Ноя 30, 2003 21:30:12

спасибо за помощь!


Дата: Дек 1, 2003 11:21:52

Quantum
*10 так чуть-чуть быстрее будет - в четыре раза :)) Ну, регистр, правда, лишний используется
lea ebx,[eax*2]
lea eax,[ebx+eax*8]


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.043