Текущий архив: 2002.04.18;
Скачать: CL | DM;
Вниз
Кто че сделал? Найти похожие ветки
← →
cok (2002-03-08 20:37) [0]Привет All!
Хотелось бы узнать, какую самую крутую прогу (на ваш взгляд) вы сделали за время своего существования.
Например, я сделал прогу, которая производит различные операции с дробями и решает уравнения с одной неизвестной (к сожалению иррациональные корни находит только в квадратных и линейных уравнениях).
← →
Anatoly Podgoretsky (2002-03-09 18:50) [1]Пиписьками будем мериться :-)
← →
Mystic (2002-03-09 20:22) [2]А я написал программу, которая решает уравнение с двумя неизвестными!
← →
_Oleg (2002-03-09 20:35) [3]ИМХО крутизна проги может определяться по нескольким параметрам:
-скорость выполнения
-размер кода
-стабильность
и т.д.
И главное- она должна решать поставленную задачу :)
← →
SV (2002-03-09 20:51) [4]Пока делать было нечего написал приведение матриц к каноническом виду, а щас AES на этой базе пишу.
← →
cok (2002-03-09 21:59) [5]2 Mystic
Ну ты крут! А иррациональные корни она находит?
← →
drpass (2002-03-09 23:17) [6]Тогда вот кандидат на самую крутую прогу, правда, пока только в DOS-варианте:
.model tiny
.code
.startup
org 100h
_beg:
int 19h
end
← →
cok (2002-03-10 16:38) [7]2 drpass ©
Что есть сиё?
← →
Anatoly Podgoretsky (2002-03-10 17:01) [8]Перезагрузка
← →
Феликс (2002-03-10 17:09) [9]А Я! А вот я! Да я! Да вот я! Типа Outlook Express написал! Функций меньше, зато выглядит красивще и гемморойных окон меньше. Один раз насторил и считай жизнь удалась. Но самая крутая прога это анти-порнуха! Находит до 90% картинок непристойного содрежания, я всех своих друзей ею разоблачил!
← →
Anatoly Podgoretsky (2002-03-10 17:12) [10]А в одной конторе всю команду разработчиков уволили за подобную программу.
КОгда ей подсунули фотографию босса она сказала порнуха :-)
← →
_Oleg (2002-03-10 18:31) [11]А если hlt вместо int 19h поставить? Всё-таки int 19h- 2 байта, а hlt- один.
Т.е. прога всего 1 байт получается :)
← →
Anatoly Podgoretsky (2002-03-10 19:11) [12]Результат разный, первая программа очень нужна
← →
Mystic (2002-03-10 20:21) [13]
> cok ©
Тебе стоит просто подучить матчасть. Общего решения поставленной задачи не существует, но есть немало методов, которые дают вполне удовлетворительный результат, взять хотя-бы принцип сжатых изображений.
Кто хочет сразится с моей программой в шашки - милости прошу
http://www.mystic2000.newmail.ru/Draught.zip
← →
VuDZ (2002-03-10 21:46) [14]а я то же написал один крутой софт, win9x killer
cli
hlt
кто поймёт, тот посмеётся (я имею в виду, почему win9x only killer)
← →
_Oleg (2002-03-10 22:24) [15]>VuDZ ©
Если надо замучать систему, есть такой вариант:
SetPriorityClass(GetCurrnetProcess,REALTIME_PRIORITY_CLASS);
while(1) ;
Вроде не зависает, но тормозит страшно :)
← →
VuDZ (2002-03-10 22:29) [16]спасибо,но я более изящными методами убиваю систему, а на 2х процессорной машине это не прокатит. Проверено временем
Но вот если это выделитьв 2 потока, и каждому указать свой приоритетный проц, тогда да :>
← →
_Oleg (2002-03-10 22:44) [17]Господа, если вам делать нечего, и вы хотите померяться ... (см. Anatoly Podgoretsky (09.03.02 18:50)), то может быть приведёте пример наиболее оптимального с точки зрения КОЛИЧЕСТВА команд решения такой задачи: есть 3 байта (идут подряд) такого формата:
1) 0 1 L R y7 y6 x7 x6
2) 0 0 x5 x4 x3 x2 x1 x0
3) 0 0 y5 y4 y3 y2 y1 y0
надо вытащить оттуда значения x7..x0 и y7..y0 и скопировать в другие два байта.Пока что я придумал только такое:
mov al,m3bytes
shl al,4
and al,0C0h
or al,m3bytes[2]
mov delta_y,al
mov al,m3bytes
shl al,6
and al,0C0h
or al,m3bytes[1]
mov delta_x,al
m3bytes начало 3-х исходных байтов, delta_x и delta_y - новые
← →
drpass (2002-03-10 22:51) [18]А вот еще прогу придумал, позволяет проверить, какого типа процессор в системе:
F0 0F C7 C8 (на машинном языке).
Проверяет просто - если система намертво зависла, значит, процессор Pentium 66 - 233. Если нет, значит, другой :)
← →
IronHawk (2002-03-11 11:28) [19]Вот это дааааа !
Мастера собрались ....
Меряються ....
Вашу энергию в мирных целях .....
← →
Shaman_Naydak (2002-03-11 11:39) [20]>> _Oleg.. Конечно, хочу :) С ходу могу предложить следующий вариантик:
mov ax, m3bytes
shl ah, 2
ror ax, 2
mov delta_x, ah
mov ah, m3bytes[2]
shl ah, 2
ror ax, 2
mov delta_y, ah
2 команды сэкономил :))
← →
wicked (2002-03-11 13:10) [21]2 _Oleg ©
гы.. :) драйвер мыши пишем?....
2 Shaman_Naydak ©
а не будет ли проблем с распаровкой команд на pentium+?... по-моему, такое (mov ax, m3bytes; shl ah, 2; ror ax, 2...) использование регистров не приветствуется... получается, выиграем в размере, проиграем в скорости...
← →
fliz (2002-03-11 14:41) [22]база данных + оболочка-редактор для создания-ведения
аудиторских заключений.
абсолютно ничего навороченного,просто мой первый
именно _серьезный_ по моим собственным меркам проект.
← →
_Oleg (2002-03-11 18:36) [23]Прикол в том, что мне надо именно по КОЛИЧЕСТВУ команд оптимизировать. А даже не по размеру кода :)
← →
aus (2002-03-11 19:31) [24]>Mystic
Пробовал, заглючила, выкинул...
Пардон за критику.
← →
aus (2002-03-11 19:36) [25]Особой крутизной не блестну, но вот уже год пишу для отдела кадров программу (ну не только ее конечно), все краше с каждым днем, а тут еще кодекс о труде поменялся, без работы не останусь.
А когда надоест - просто сижу, щелкаю, и умиляюсь своей работой, как все хорошо получается, людей увольняю, на работу их принимаю, лучше всякого КвекаIII (или как там его) - стратегия с картинками.
← →
Alx2 (2002-03-12 08:48) [26]>Shaman_Naydak © (11.03.02 11:39)
Я тоже хочу:))
Сократил на еще 3 команды.
function Correct(const m3bytes : Integer ): Word; register; assembler;
asm
xor ebx,ebx
shrd bx,ax,10
shl bh,6
shr eax,8
or eax,ebx
end;
Пример использования:
TDelta =
packed record
delta_x, delta_y : byte;
end;
Var
m3bytes : packed array [0..2] of byte;
delta : TDelta;
begin
delta := TDelta(correct(Integer((@m3Bytes)^)));
end;
← →
Alx2 (2002-03-12 09:26) [27]>Alx2 © (12.03.02 08:48)
Ой, сорри! вместо ebx надо ecx использовать. А то аукнется :))
function Correct(m3bytes:integer): Word; register; assembler;
asm
xor ecx,ecx
shrd cx,ax,10
shl ch,6
shr eax,8
or eax,ecx
end;
← →
Alx2 (2002-03-12 12:39) [28]Ребята, а вот на MMX можно это короче сделать?
← →
Sir Alex (2002-03-12 16:50) [29]По поводу drpass © (09.03.02 23:17)
Вспомнил один прикол. Есть на материнке хардверный таймер, так вот если при загрузке компутера, настроить его на адрес что-то типа 0xFFFFF (точно не помню), то в назначенное время комп перезагрузится. Но самое прикольное в том, что ни DOS, ни Win9x этот таймер не сбрасывают! На его базе, даже можно сделать часы, которые будут и в винде работать.
← →
yaJohn (2002-03-12 17:49) [30]А я... Да у меня!...
Самая полезное из моих произведений, которые можно отнести к стабильно работающим - блокиратор флопа под Вин9x. Кода чичас не приведу :( , байт 5. Маскирует прерывание флопа в контроллере прерываний. Просто по in/out Винда это позволяет 8) Пока юзер флоп не трогает - все очень пристойно. Одно обращение - все... Сидит Вынь у окошка, прерывания от флопа дожидается.....
Еще был неплохой форум под IIS. Но он умер вместе с IIS. Вернее их убили. Вместе с Виндой. Нефиг такое позорище в инет выставлять. Я не про форум. Он был очень хороший. И полезный. У него было много уникальных функций. Например по специфическому УРЛу у него была небольшая система удаленного администрирования Виндов. Таким не всякий форум похвастать может. Это админ заказал. Правда.
А еще, когда то очень давно, я написал очень полезный полиморфный вирус. Только он был очень вежливый, и перед тем как что - либо заразить спрашивал разрешения у юзера. Три раза. С паролем. Но вы ведь знаете, какие эти юзера... Я его не стал выпускать. Но вирус был очень полиморфный. И очень полезный для всех. Иногда самые полезные вещи это те, о существовании которых ты и не догадываешся.
А это послание я топчу в транслите. А умная программа на лету конвертирует это в кирилицу. Эта программа очень полезная. Без нее вы читали бы сейчас транслит. Но она ненадежная. Потому что я ее еще не доделал. А зачем? Так интереснее. Как назвать человека, который пишет программу исключительно для личного употребления и снабжает ее хелпом и инсталятором?
Вот.
← →
_Oleg (2002-03-12 21:35) [31]Вариант Alx2 не подходит, т.к. надо полностью на ассемблере ;)
И ещё: может я чего не знаю, но куда записываются m3bytes, полученные как параметр? Или они в eax передаются?
← →
Alx2 (2002-03-13 08:16) [32]>_Oleg © (12.03.02 21:35)
>но куда записываются m3bytes, полученные как параметр?
>Или они в eax передаются?
Ну да!
>Вариант Alx2 не подходит, т.к. надо полностью на ассемблере ;)
На на асме полностью (но только одна команда экономится:( )
mov eax, dword ptr m3bytes
xor ecx,ecx
shrd cx,ax,10
shl ch,6
shr eax,8
or eax,ecx
mov word ptr delta_x, ax
delta_x и delta_y определяем так:
delta_x db?
delta_y db?
Главное, чтобы они друг за дружкой стояли.
Страницы: 1 вся ветка
Текущий архив: 2002.04.18;
Скачать: CL | DM;
Память: 0.52 MB
Время: 0.006 c