qqwe Всё то же. Без переходов 85 байт movd xmm0,eax shufps xmm0,xmm0,0 mov cl,4 rol eax,cl push eax rol eax,cl push...
Благодаря тебе узнал что SSE4a не включает в себя SSE4.1.
Об этом же medstrax1 писал(а) в 87 посте.
KeSqueer Там нужен только флаг cf поэтому можно использовать либо cmp eax,1 либо sub eax,1. Размер одинаковый, но на 1 инструкцию меньше. логика...
Black_mirror Я тоже подумывал про CDQ+XCHG, но до DEC не догадался :( Получается на 1 байт короче
Из интеловского мана
neg eax cmc можно заменить на sub eax,1 но выигрыша в размере не будет
medstrax1 Красиво. Ты главное напиши - мы проверим :)
edemko Надо примерно так eax:=0; for i:=0 to 6 do for j:=i+1 to 7 do if mm0[i]=mm0[j] then goto 1; dec(eax); 1:
Это просто список :)
Добавил VMX
может psllq xmm1,32 blendps xmm0,xmm1,1010b но это уже SSE 4.1
69 байт с циклом. Ничего особенного, но важен процесс, а не результат. movd mm0,eax movq mm1,mm0 psllq mm1,28 por mm0,mm1 mov ax,$0F0F...
KeSqueer Не знал что в aam можно задавать делитель. Круто!
Записать все числа с разными тетрадами (их должно быть не много) в таблицу и упорядочить их по возрастанию. Потом можно использовать двоичный...
Не путай mov offset и mov ptr
И ещё обращение к локальным переменным осуществляется через ebp. Это надо учитывать если вы изменяете этот регистр.
Погугли мультитекстурирование
Это делается через OLE http://www.delphisources.ru/pages/faq/base/dnd_from_other_app.html Где-то в инете была статья. Сейчас не могу найти.
Здесь пример на FASM`е (только там IWebBrowser).
Имена участников (разделяйте запятой).