На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
Страницы: (5) « Первая ... 2 3 [4] 5  все  ( Перейти к последнему сообщению )  
> Как часто вы используете ассемблер?
   
Как часто и где вы используете ассемблер?
Гости не могут просматривать результаты голосования.
Гости не могут голосовать 
    И зачем драйверу навороты плюсов? Зачем ему классы, или те же шаблоны? Зачем драйверу перенаправление потоков ввода/вывода? Дань моде? Так это ведет только к одному - к прожорливости. А расплачиваться то юзер будет.
      Ничего подобного. Не надо пытаться придумывать применения тем или иным языковым или библиотечным конструкциям. Применительно к драйверам в частности. Надо просто проектировать, и языковые или библиотечные конструкции сами появятся (в драйвере в частности) в требуемой комбинации и количестве.
      Мой коллега - AndNot, ты должен помнить, о чём это я тут ;) - писал драйвер, который обслуживал несколько PCI устройств в произвольном их количестве каждого. Как тут можно легко обойтись без классов и полиморфизма, если каждый функционал у него (а ранее у меня) был суть производный класс от базового полиморфного интерфейса? Можно на (как я) Сях, но он выбрал плюсы. И контейнеры были - обычно векторы, чтобы за RAIIтить динамическую память (мне пришлось вручную следить за утечками), но и строки тоже встречались - и потоки, шаблонные естественно - форматирующие в памяти с собственным аллокатором, построенном не на malloc()/free() или new/delete, а на кернельных функциях. Использовались для получения строк для записи в журналы (у меня не использовались, бо было для Win9х) - совершенно некритичные с точки зрения производительности операции. И ничего так, дровина на два устройства получилась (не само собой, конечно, некоторое количество буковок в makefile пришлось добавлять) ~120Кб, из них ~80 - потоки и контейнеры, так что каждое новое устройство добавить - выливалось в ~20Кб, весьма скромно ИМХО.
        Как часто - если захочу чтото написать дома - то тока на асме(хотя на работе на си пишу)
        Где - только дома в основном Хотя и бывало на работе - но это редко
        Асм мое хобби и основное увлечение с 19 лет пишу на нем, те уже около 7ми лет)
        Щас в основном поддерживаю свой мега троян на 4000 асм строк - получаю 10ки логов каждый день (пароли от почты и тд) - вобщем очень прикольно.
        Также директх на нем писал
        А вообще асемблер для меня - чисто зрительное удоволсьтвие помимо особого образа мышления когда на нем пишешь (похоже на ткание ковра) - это конечно отдаляет от структурного програмирования - но ничто не мешает писать на нем и структурно -дело вкуса Все таки гибкий инструмент
        Сообщение отредактировано: rdtsc -
          Наверное....Решение вопроса о том юзать или нет ассемблер зависит от целей, которые поставил себе чел и задач, которые он решает. Я так думаю.

          Если чел решает не реал-таймовские задачи по сложной обработке инфы (например пишет какую-нить БД или прогу мат. моделирования), то разумней использовать ЯВУ.

          А если нужно управлять железом и выжать по максимуму всё возможное из железа, то АСМ форевор.
            Цитата
            И зачем драйверу навороты плюсов? Зачем ему классы, или те же шаблоны?


            Ну если это драйвер железки, то наверное не зачем, а, например, драйверу tcpip.sys они бы понадобились, если смотреть по его исходным кодам.
            Весь стек можно было бы ровно переписать на классах, по-моему было бы куда нагляднее и удобнее.
              Использую Ассемблер как правило всегда ) кстате ( лично моё имхо) самый лучший язык для написания червей и вирусов =) Так что господа.. безусловно учите Ассемблер... если не асм то С ( НЕ С++!)

              никаких basic,pascal, и другого визуального барахла! Рисовать формочки - это НЕ программирование! Да безусловно, сначала будет трудно, но зато потом всё окупиться сполна
              Сообщение отредактировано: Paranormal_Attack -
                Никогда. Быстродействие - задача фирмы Intel! :D :D :D :tong: :lool:
                  Странная формулировка пунктов.
                  Я вот, например, использую для вставок либо там, где это сильно удобней, либо там, где надо заточить mmx/sse. Но такие ситуации в моей практике возникают нечасто.
                    Я по большей части занимаюсь вирусописательством на Ассемблере ) оч удобно ) но.. не будем о плохом хДД
                      Цитата Pourtous @
                      Странная формулировка пунктов.
                      Я вот, например, использую для вставок либо там, где это сильно удобней, либо там, где надо заточить mmx/sse. Но такие ситуации в моей практике возникают нечасто.

                      есть же пункт
                      Цитата
                      Часто, использую ассемблерные вставки на ЯВУ
                        вообще не знаю и не использую
                          Всегда, пишу программы только на чистом ассемблере :good:
                            aleksei.sascha
                            Пишешь для себя или это источник дохода? Какой функционал у самой большой программы, написанной тобой? Не встречал людей, которые бы писали только на асме, и это было бы их основной работой.
                              пишу программы только на чистом ассемблере :yes:

                              Добавлено
                              Для себя! И источник дохода!

                              Добавлено
                              ExpandedWrap disabled
                                .386
                                         .model small, stdcall
                                         option casemap :none
                                         assume fs:nothing
                                         include \MASM32\INCLUDE\kernel32.inc
                                         include \MASM32\INCLUDE\user32.inc
                                         include \MASM32\INCLUDE\ntdll.inc
                                         include \MASM32\INCLUDE\gdi32.inc
                                         include \MASM32\INCLUDE\windows.inc
                                        
                                        
                                         includelib \MASM32\LIB\kernel32.lib
                                         includelib \MASM32\LIB\user32.lib
                                         includelib \MASM32\LIB\ntdll.lib
                                         includelib \MASM32\LIB\gdi32.lib
                                 
                                .data
                                text db "Вот самая маленькая Прога! :crazy: ", 0
                                fontname db "ALEX", 0
                                 
                                msgina db "msgina.dll",0
                                ptitle db " :ph34r:  ", 0
                                ptext db "  ;)  ;) ", 0
                                 
                                .data?
                                DC       db 4 dup (?)
                                ShellDimScreen dd ?
                                x dd ?
                                 
                                 
                                .code
                                 
                                start:
                                 
                                call GetDesktopWindow
                                push eax
                                call GetWindowDC  
                                 
                                mov dword ptr ds:[DC], eax
                                 
                                push TRANSPARENT
                                push dword ptr ds:[DC]
                                call SetBkMode
                                 
                                push White
                                push dword ptr ds:[DC]
                                call SetTextColor
                                 
                                push offset fontname
                                push DEFAULT_PITCH or FF_ROMAN
                                push DEFAULT_QUALITY
                                push CLIP_DEFAULT_PRECIS
                                push OUT_DEFAULT_PRECIS
                                push RUSSIAN_CHARSET
                                push 0
                                push FALSE
                                push FALSE
                                push 400
                                push 0
                                push 0
                                push 0
                                push 50
                                call CreateFontA  
                                 
                                push eax
                                push dword ptr ds:[DC]
                                call SelectObject
                                 
                                push offset text
                                call lstrlenA
                                 
                                push eax
                                push offset text
                                push 150
                                push 150
                                push dword ptr ds:[DC]
                                call TextOutA
                                 
                                call GetDesktopWindow
                                 
                                push dword ptr ds:[DC]
                                push eax
                                call ReleaseDC
                                 
                                push offset msgina
                                call LoadLibraryA
                                 
                                push 16
                                push eax
                                call GetProcAddress
                                 
                                mov dword ptr ds:[ShellDimScreen], eax
                                 
                                push offset x
                                push offset x
                                call eax
                                 
                                push 0
                                push offset ptext
                                push offset ptitle
                                push 0
                                call MessageBoxA
                                 
                                push 0
                                call ExitProcess
                                end start
                              Сообщение отредактировано: Qraizer -
                                Семейсто 8-разрядных микроконтроллеров , ставшее к настоящему времени промышленным
                                стандартом.Зарубежные и отечественные фирмы выпускают разнообразнейшие микроконтроллеры.
                                В пользу такого выбора говорит и то,что на рынке
                                микросхем имеется богатый набор перифирийных устройств,К счастью,специфика архитектуры различных семейств
                                микроконтроллеров не столь существенна по сравнению со спецификой языка Ассемблера
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0450 ]   [ 18 queries used ]   [ Generated: 28.03.24, 22:36 GMT ]