Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хто знает где платят за ASM? пишу под винды, кому нить нужно ? 
:(
    Опции темы
РАЗДОЛБАЙ
  Дата 29.5.2006, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доступен



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 12.1.2006
Где: Москва

Репутация: нет
Всего: нет



Пишу под винды на ассемблере . Есть програмка- каркасик для обработки BMP файлов. На данный момент открывает файлики и даёт возможность рассматривать их на экране с увеличением 16 раз. Разрабатывалась для создания и управления некоей базой картинок, являющих собой модель объекта в трёх мерном пространстве, по плоскостям . Теоритически можно создать и записать модель любого предмета с разрешением 2 в n степени по трём плоскостям измерения.Работы встали от пропажи интереса (финансового). Если есть кто по теме работает , кому интерестно направление симуляторов пространства, пишите .буду рад. Если есть идеи кому это можно продать тоже выслушаю. В настоящий момент занят переводом хелпов..файл win32.hlp. И кстате говорят на С это легче писать .. но мне почему то легче его не учить .а писать как могу, к тому же есть подозрение что на селероне 1700 программа на С не будет так же быстро работать как на ASM, хотя мне будет интерестно со спецыалистами пообщаться ... если найдутся. smile  
PM MAIL IM Skype GTalk Jabber AOL YIM MSN   Вверх
ds29
Дата 30.5.2006, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 15.3.2006

Репутация: нет
Всего: 2



я писал нечто подобное под ДОС (обработка bmp), а под WIN там же всё парой AIP функций, на счёт пространства, это уже погоже на 3D-движок. на эту тему общайся на фарумах разр. игр

Цитата

 к тому же есть подозрение что на селероне 1700 программа на С не будет так же быстро работать как на ASM


так обычно горорят пограммисты С , т.к. не видят смысла писать на АСМ.
 в большенстве случаев компилятор С обгонит "обычную" программу на асм.

так что нужно хорошо знать архитектуру процессора, и использовать оптимизацию для конкретной задачи, только тогда есть смысл написания программы на АСМ.

например на том же форуме разр. игр проводился тест по скорости сортировки из С++ библиотеки, и "моей" сортировки на АСМ, и только в некоторых случаях сортировка на АСМ выигрывала. 

P.S. поищи по форуму, скорей всего и здесь проводилось сравнение языков. 
PM MAIL   Вверх
РАЗДОЛБАЙ
Дата 30.5.2006, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доступен



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 12.1.2006
Где: Москва

Репутация: нет
Всего: нет



ds29

Понятно .... я API функции использую только для открытия файла закрытия ....позыционирования указателя резервирования области памяти ....остальное всё моё , есть алгоритм .по которому можно машину заставить области изображения понимать и теоретически заполнять базу данных на их основе ...такое движение в сторону искуственных мозгов(тема искуственный интелект).
Конкретно спрашиваю : есть желание поучавствовать в доработке продукта ? чтобы вырисовалось нечто , что можно продавать ?
 smile 
Цитата

например на том же форуме разр. игр проводился тест по скорости сортировки из С++ библиотеки, и "моей" сортировки на АСМ, и только в некоторых случаях сортировка на АСМ выигрывала. 


 ты пишешь под винды на ASM?
я пишу на ASM потомучто не могу на С писать .....но точно знаю что си компилятор что то ищё вставляет в прогу ....не могу судить хорошо это или плохо (я не особо разбираюсь в С), но обём файла увеличиваеться.точно ...вообще как то было желание разобраться с заголовочными файлами си языка...но как то всё затухло ...пытался соответствие вывести ....программу каркас на си и на ASM..зделать стопорнулся уже не помню на чём )
Цитата

на счёт пространства, это уже погоже на 3D-движок. на эту тему общайся на фарумах разр. игр

ну это не игра точно ... и очень надеюсь что 3D движок не только для игр требуеться ...а например для моделирования предметов пространства или если пофантазировать то и для создания некоего полигона для отработки алгоритма функционирования искуственных мозгов(мечта моя)
хотя конечно спасибо за наводку ..будет время и там наслежу ) smile  
PM MAIL IM Skype GTalk Jabber AOL YIM MSN   Вверх
ds29
Дата 30.5.2006, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 15.3.2006

Репутация: нет
Всего: 2



Я программирую на Assebmler под DOS & WIN32. , сейчас использую MASM32

Когда пишешь код на С, ты можешь видеть и листинг на АСМ.

p.s. не совсем понял твою идею 
PM MAIL   Вверх
rsm
Дата 31.5.2006, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: нет
Всего: 62



Не так давно тоже писал на ASM под Винду, потом надоело и перешел на С. На нем побыстрее будет, хотя кастинг и откровенная тупость компилятора иногда сильно раздражают.

2 РАЗДОЛБАЙ:
ИМХО, новый 3d MAX (моделирование 3d-объектов) навряд ли напишешь. А вот доработать\переделать проект до игрового движка - вполне можно было бы. Главное чтобы в нем была своя "изюминка", которой нет в существующих движках.
Что касается продаж, то здесь, увы, иного выхода, кроме как переписать хотя бы большую часть кода на том же С, лично я не вижу. Потому что ни одна компания, будучи в здравом уме, не станет связываться с полностью ассемблерным движком по двум причинам:
1. Его очень сложно модифицировать. Сколько в проекте строк кода? Полагаю, не менее 5000? Даже если все они четко структурированы и разделены по отдельным модулям, модифицировать такой проект будет достаточно затруднительно.
2. Как уже говорил ранее ds29, современные С'шные компиляторы выдают весьма неплохо оптимизированный код. Да, ручная оптимизация всегда будет лучше, это несомненно! Но для нее нужно больше времени (написать неоптимизированный код, написать несколько вариантов оптимизированного кода, посчитать время выполнения и выбрать лучший вариант). Кроме того, при ручной оптимизации есть маленькая хитрость, про которую обычно напрочь забывают - разница в устройстве процев. Грабли в том, что одна и та же последовательность команд на разных процах может выполняться с разной скоростью (причин много - длина конвеера, алгоритм выборки и пр.). И код, который на одном проце работает с огромной скоростью, на другом проце будет выполняться довольно посредственно. С'шный компилятор не только выбирает наиболее оптимальный вариант, но и позволяет вручную задать оптимизацию под конкретный проц (если нужно) - и это, подчеркну, всего лишь заданием дополнительного ключа командной строки (в то время, как ассемблерный код придется переписать заново, что при его количестве будет весьма трудоемко). 
PM MAIL   Вверх
BUGOR
Дата 31.5.2006, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 12.3.2006

Репутация: 2
Всего: 16



ds29
Цитата

 в большенстве случаев компилятор С обгонит "обычную" программу на асм.


Я лично не считаю себя глупее компилятора, хотя и пишу обычные программы на ассемблере.


rsm, когда скорость приложения критична и ты имеешь довольно большой опыт(который опять же может быть повышен при изучении алгоритмов оптимизации компиляторов) разработки программ на ассемблере и С, то как бы там ни было ты не доверишь критичные участки кода компилятору, или же обызательно убелишься в том, что компилятор оказался "умнее" тебя, под отладчиком. И что твоя программа делает и как она это должна делать, больше тебя ни один компилятор не знает, поэтому всё-таки не стоит ставить под сомнения свои возможности и превозносить компилятор выше себяsmile Поэтому любой из нас в состоянии написать код на ассемблере, который минимум не хуже Сишного. 


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
РАЗДОЛБАЙ
Дата 31.5.2006, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доступен



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 12.1.2006
Где: Москва

Репутация: нет
Всего: нет



ds29
понятно ... я работаю с TASM5.0 макросы можно не использовать ...и в принцыпе можно добиться совместимости между ними. тем более TASM может работать в режиме MASM.
Вообще конечно С подучить тоже есть у меня желание , но пока дальше чем модификации каркаса программы выдаваемой Application Wizard пакета Visual Studio 7.0 не идёт...
даже как то уроки делал от Alex Soft но хватило сил ток на первый урок ..(там примеры отсканированны с листа и текст программы не узнаваем, приходиться востанавливать его применяя свои скудные познания языка С, например функцыи с косинусами и синусами... приходилось искать заголовочный файл где они описанны .нашёл(обычным поисковиком по ключевым словам в заголовочных файлах) , но такой это геморой востанавливать исходник )дальше вообще тёмный лес...хотя обработчики сообщений там мне видны и я могу их изменять...осмысленно . Также понимаю что большая часть кода скрыта от глаз.например создание окошка ...не знаю какая например функция используеться при создании растра совместимого с контекстом устройства ....на ASM всё понятно ..CreateDIBSection создаю область памяти в которую можно рисовать и которая выводиться в окно по приходу сообщения паинт ))...(можно перекидовать изображение кстате где то 70 раз в секунду)..но эт так отступление ..понятно что и в С можно где то найти описание обработчика сообщения WM_CREATE
Цитата

p.s. не совсем понял твою идею 

 Ну идея такова : создать движок 3D если не на ASM то на С...и использовать его для отработки модулей программных продуктов по управлению реальными аппаратами и машинами,  при условии что для управления этими устройствами изначально нет заданной карты местности(виртуальной местности ) , т. есть первое что нужно отработать это восприятие машинами этой местности ....создать алгоритм дающий возможность асязать местность)).
Вообщем :
1. нужно создать 3D движок, с свозможностью достаточно быстро модифицировать виртуальное пространство .
2. при разработке способов описания виртуального пространства наверняка выявяться способы пригодные для достаточно эфективного (с точки зрения производительности ) асязания этого пространства электроникой и своевременной подачи приказа на позиционирование некоего аппарата в пространстве (виртуальном пространстве)
3. учытывая что изначально объект не знает карту местности , то соответственно он должен её воспринимать и адекватно реагировать на неё с целью выполнения некоей задачи , запоминать полученные данные и при необходимости менять свою реакцию.

в принцепе в общем всё ...если удастся такое зделать то даже отдельные части проекта сами по себе ценны..(предпологаю). в свою очередь готов поделиться своими наработками в этой области и обеспечить посильный вклад в этот проект ...с целью воплощения его в реальность. smile
если нужно подробное описание проекта .то готов его зделать (понимая что достигаемые цели должны быть хорошо обозначенны). 
PM MAIL IM Skype GTalk Jabber AOL YIM MSN   Вверх
rsm
Дата 31.5.2006, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: нет
Всего: 62



BUGOR, всегда должен быть разумный компромис между оптимизацией и скоростью разработки. Если я буду полгода писать ультра-супер-мега-быструю программу, а конкурент за полчаса слабает тормозную, но худо-бедно рабочую программу, то я окажусь в проигрыше. 
PM MAIL   Вверх
РАЗДОЛБАЙ
Дата 31.5.2006, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доступен



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 12.1.2006
Где: Москва

Репутация: нет
Всего: нет



rsm
Цитата

Что касается продаж, то здесь, увы, иного выхода, кроме как переписать хотя бы большую часть кода на том же С, лично я не вижу. Потому что ни одна компания, будучи в здравом уме, не станет связываться с полностью ассемблерным движком

 тебе такое же предложение )
Вообщем :
1. нужно создать 3D движок, с свозможностью достаточно быстро модифицировать виртуальное пространство .
2. при разработке способов описания виртуального пространства наверняка выявяться способы пригодные для достаточно эфективного (с точки зрения производительности ) асязания этого пространства электроникой и своевременной подачи приказа на позиционирование некоего аппарата в пространстве (виртуальном пространстве)
3. учытывая что изначально объект не знает карту местности , то соответственно он должен её воспринимать и адекватно реагировать на неё с целью выполнения некоей задачи , запоминать полученные данные и при необходимости менять свою реакцию.

в принцепе в общем всё ...если удастся такое зделать то даже отдельные части проекта сами по себе ценны..(предпологаю). в свою очередь готов поделиться своими наработками в этой области и обеспечить посильный вклад в этот проект ...с целью воплощения его в реальность. 
если нужно подробное описание проекта .то готов его зделать (понимая что достигаемые цели должны быть хорошо обозначенны).   
PM MAIL IM Skype GTalk Jabber AOL YIM MSN   Вверх
rsm
Дата 31.5.2006, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: нет
Всего: 62



Цитата(РАЗДОЛБАЙ @  31.5.2006,  13:01 Найти цитируемый пост)
тебе такое же предложение

К сожалению вынужден отказаться - заоптимизировать что-нибудь это я еще могу, но вот в 3d-графике не понимаю ничего, даже шарик с DirectX не нарисую smile 
PM MAIL   Вверх
ds29
Дата 31.5.2006, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 15.3.2006

Репутация: нет
Всего: 2



BUGOR
Цитата

Я лично не считаю себя глупее компилятора, хотя и пишу обычные программы на ассемблере.


под компилятором стоит понимать работу очень многих высококвалифицированных программистов, которые изучали мануалы разработчиков прицессоров не один месяц.

что бы тягатся с копм. ты как минимум должен хорошо знать размер и колво тактов выполнения команд процессора , для которого ты пишешь, а так же мн-во алгоритмов оптимизации. + как уже упоминал rsm, при переходе на другой процессор, тебе придётся переписать оч. большое кол-во кода, иначе твоя программа будет намного отстовать от Сишной., ....

 на многих форумах, или сайтах про программирование, проводятся куча тестов, которые, ты вообщето, можешь провести и сам.

Цитата

цитата-----------------------------------------------------------------------------------------

Еще раз резюмируем сказанное специально для тех, до кого авторитетные мнения доходят с трудом:

Наиболее рационально сегодня применять ассемблер в качестве весьма ограниченного оптимизирующего дополнения к современным мощным языкам более высокого уровня, позволяющего использовать особенности процессорной архитектуры, недоступные в этих языках. 

Ассемблерным языкам по-прежнему есть и останется место в микропроцессорной технике на уровне программирования чипов. 

Практически нет никаких специальных причин писать на ассемблере не только приложения Windows, но и драйверы, то есть в отношении драйверов действительны те же самые соображения, что и в отношении приложений, в том числе и п.1. 

Единственное место, где необходимость применения ассемблера неоспорима и безусловна - это самые нижние уровни ядра операционных систем. 
 

Мы на 100% согласны с этими выводами, и поэтому, как раз сейчас приступая к новому прикладному проекту, уже окончательно определились с базовым языком. Конечно же, это будет ассемблер.

------------------------------------------------------------------------------------------------------------


p.s. в данный момент я и сам пишу коммерческие приложения на Ассемблере под Окна smile

p.p.s. поищи сам тесты, их достаточно много, насколько я помню, что то подобное было и на этом форуме. 
PM MAIL   Вверх
РАЗДОЛБАЙ
Дата 31.5.2006, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доступен



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 12.1.2006
Где: Москва

Репутация: нет
Всего: нет



rsm
)) если пространственное воображение присутствует то всё просто. есть поле 1024 *768 точек с глубиной цвета 24 бита...я его могу перерисовывать в окошко  70 раз в секунду (приблизительно ).задача проста сама по себе.. представь что смотришь в зеркало ...берёшь кубик и смотришь на него в зеркало ..представь зеркало это наше поле ...задача -трёхмерную картинку просто изобразить в духмерном поле..простым обрезанием того что не видно за передним планом фигуры ..подразумеваеться что фигура имеет изначально известную структуру (и внутреннюю)
Это например можно сделать приняв .за основу что вирт пространство как  и реальное имеет три координаты ...принимаем что одна из координат распространяеться от монитора на нас ....две других вверх - вниз....и влево -вправо. предмет имеет такую же структуру.. трёхкоординатную. для преобразования нужно знать угол наклона влево -вправо угол наклона вперёд-назад и угл поворота влево-вправо и преоброзовать изображение с простым правилом -передний план закрывает следующий за ним . всё  .Знаю что в С ...,там какие-то полигоны(плоские фигуры с немение чем тремя углами )нужно рисовать а для этого нужно создать массив хранящий набор полигонов ...после тоже всё преобразуеться по правилу передний план виден .всё что затеняеться им ..нет.) 
там конечно всякие прогрессии можно применять...что дальше находиться .то мельче рисуеться и т. п.
тени накладывать .но это уже детали ) главное что описание предмета , который рисуется в пространстве находиться в базе данных и дается тоже в трёхмерном пространстве ), являет собой трёхмерный массив цветных точек плюс масштаб.. я так всё вижу . Мне проще на асме написать чем OpenGl штудировать предварительно. Потом , если храниться всё не в сжатом виде ..то можно ожидать производительности системы ..достаточной, для функционирования в режиме реального времени. Ничиго нового не придумал))...люди тоже двигаясь в трёхмерном пространстве видят его двухмерным ...но используя свой опыт могут двухмерную картинку преобразовать к трёхмерной...и насколько мне известно свободно двигаются в трёхмерном пространстве.....я предлагаю лишь автоматизировать алгоритм ..тогда машина сможет это делать тоже . А потом глядишь начнёт сама картографировать местность ...) smile 
 
PM MAIL IM Skype GTalk Jabber AOL YIM MSN   Вверх
BUGOR
Дата 31.5.2006, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 12.3.2006

Репутация: 2
Всего: 16



Прочтите следующий топик, извиняюсь, что даю ссылку на иной форум, но очень уж актуально сейчас:

http://wasm.ru/forum/index.php?action=vthr...amp;topic=14472 


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
РАЗДОЛБАЙ
Дата 31.5.2006, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доступен



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 12.1.2006
Где: Москва

Репутация: нет
Всего: нет



ds29
ну вообщем ...я пишу на ASM  не потому что так программы быстрей выполняются )..а потому что не знаю как на С написать то что мне нужно ..и к тому же глядя на все эти изящества языков С++ др. Иногда складывается впечатление что например Open GL графика создавалась не для того чтоб трёхмерное пространство описывать и визуализировать ...а чтоб родить спрос на быстродействующие процессоры)) ...на это наводит тот факт почему то 3D объекты храняться в одномерных массивах. Это вызывает необходимость преобразовать пространство в пригодное состояние для сохранения на электронном носителе...а при выводе преобразуеться обратно...можно конечно предположить что это зделанно для экономи места жёсткого диска и увеличению скорости доступа к инфе на диске )...но если подумать файл можно прочитать один раз ....а потом сохранить .а графические преобразования выполняються постоянно )))...у меня вывод напрашиваеться однозначный) smile  
PM MAIL IM Skype GTalk Jabber AOL YIM MSN   Вверх
ds29
Дата 31.5.2006, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 15.3.2006

Репутация: нет
Всего: 2



РАЗДОЛБАЙ
Цитата

являет собой трёхмерный массив цветных точек плюс масштаб.. я так всё вижу .


....

Цитата

Вот небольной пример - допустим мы имеем 1024х1024х1024 куб состоящий из точек, тогда если цвет кодируется 4 байтами, такая структура займет около 4 Гб. Если на необходимо выводить ее в динамике т.е. 25 кадров/сек то поток данных минимум будет 100 Гб/сек. А теперь если разрядность процессора будет допустим 64 бита, то минимум нужно 100 Гб * 8/ 64 = 536.870.912 тактов в сек, т.е. 
частота где-то 536 ГГц. Что уже говорить об объемах памяти.


как я понял, то что ты хочешь написать, давным давно реализовано OpenGL(1992) (за основу взят сущ. до этого библиотека IRIS GL) и DirecX.
 
все объекты в 3D , "собраны" из Треугольников, а не из точек, (например квадрат - это два треугольника, а круг, некоторое мн-во).

так что теперь я вообще не пойму твоей задумки, есть два стандарта OpenGL и DirecX , и я не думаю что кто то захочет переходить с них.
+ существует ещё мн-вот графических библиотек с открытым кодом и распр. бесплатно. 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для Windows/DOS"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для Windows/Dos | Следующая тема »


 




[ Время генерации скрипта: 0.1380 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.