Быстро выучить Ассамблер

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Asset, 7 Feb 2010.

  1. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    вобщем вопрос как обычно - что желаем: выучить синтаксис или научиться программить. Первое займет пару тройку недель. Второе месяцы. Не говоря про апи и прочее. Просто осознать, что такое память, как ей пользоваться, адресовать итп.
     
  2. Eo0

    Eo0 Member

    Joined:
    12 Sep 2009
    Messages:
    62
    Likes Received:
    8
    Reputations:
    0
    Что бы не создавать копию спрошу здесь. Не могу определится что лучше учит C++ или asm, вроде asm и размер прог маленький и скорость выше, но наверняка больше времени потрачу хз. напрягает ещё что надо win api либо пробовать что то между vcl или .net, вот и тут не могу определится Boraland c++ builber удобно, но лишний метр библиотек, да и мне показалась что так работает медленное, qt слишком много весит, стоит builder юзать?
     
  3. altblitz

    altblitz Elder - Старейшина

    Joined:
    5 Jun 2009
    Messages:
    3,691
    Likes Received:
    3,145
    Reputations:
    236
    letitbit.net/download/1152.1212a5724cbf11ac3ca5a1e0b/P_V_Rumyantzev_W32_API.pdf.html

    вас не смущает, господа Ачатовцы,
    Вин требует ресурсов под домашний супер-комп,
    и в тоже время - использует инструкции ASM x386?
     
  4. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 altblitz Не говори глупости. Если бы ты видел как и что сделано, то понял бы почему столько ресурсов хавает. Темболее в винде довольно жестокая система и даже одна небольшая операция может вызвать очень много функций которые будут по цепочки идти. Достаточно запустить программу и уже будет оооочень много всяхой хрени выполняться, начиная от кеширования иконки и заканчивая обработкой всех уведомлений. Это на поверхности относительно мало что делается (в общих случаях *** -> kernel32.dll -> ntdll.32 -> sysenter -> ядро) И вот какраз в ядре и начнается вся обработка информации.
    Code:
    xor ecx, ecx
    m1:
     inc ecx
     mul ecx
     cmp ecx, FFFFFFFFh
     jne m1
    
    Странно но данная конструкция пашет очень долго и хавает процессорного времяни просто ппц. Но при этом она же написана на x86
    Ты не забывай что еще есть такая вещь как синхронизация, которая полюбому заставляет ждать выполнения определенных событий. А это дополнительные напряги.
    Одна тока графика сколько хавает ресурсов. А еще с пол сотни дрова различных

    По этому советую покодить для ядра и сам увидиш сколько можно чего намутить там итд итп.

    Нафига мне книга по WinApi если есть MSDN
     
  5. altblitz

    altblitz Elder - Старейшина

    Joined:
    5 Jun 2009
    Messages:
    3,691
    Likes Received:
    3,145
    Reputations:
    236
    знакомо, что вызов одной функции Вин может жёстко тормознуть ОСь.

    вот поэтому и ставится брейк на стеке при выходе стандартной функции Вин API.
    и претензии, пожалуйста - к Микрософт, slesh )
     
  6. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 altblitz увы притензии нужно не только к MS, но и к людям кто это юзает и пишет софт. Потому что Всё сделано для удобства использование, быстроты разработки итд итп.
    Можно пойти и поссать под кустик, а можно и под себя. Вроде и то и другое работает по одинаковому, вроде и то и другое выполняет одну и туже функцию, вроде как и под себя - быстрее, но вот удобства играют ключевую роль.
    Так что как всегда стандартные весы, на одной чаше который скорость работы, а на другой размер, удобство, функциональность.
     
    #26 slesh, 8 Feb 2010
    Last edited: 8 Feb 2010