[ Assembler ] — начинающим: задаем вопросы

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by !_filin_!, 25 May 2007.

  1. KIR@PRO

    [email protected] Active Member

    Joined:
    26 Dec 2007
    Messages:
    823
    Likes Received:
    287
    Reputations:
    359
    В этой теме, походу вообще не бывает активности =(
     
    _________________________
  2. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,760
    Likes Received:
    816
    Reputations:
    230
    Ещё бы, ведь есть же гугл
    http://stackoverflow.com/questions/2901694/programatically-detect-number-of-physical-processors-cores-or-if-hyper-threading
     
    _________________________
  3. KIR@PRO

    [email protected] Active Member

    Joined:
    26 Dec 2007
    Messages:
    823
    Likes Received:
    287
    Reputations:
    359
    2Kaimi хоть и не на асме, но инфа то что нужно! Спасибо.


    P.S. по поводу "гугл в помощь": 1) Я задал вопрос здесь, на ачате! Не надо ни кого гнать с ачата в гугл...
    2) я написал: что уже, что то проверял, следовательно можно предположить, что я им уже пользовался(гуглом)!
    Тема называется [ Assembler ] — начинающим: задаем вопросы, а не [ Assembler ] — начинающим: раздаем ссылки,
    3) ты хоть и помог, но помощь твоя ничтожна! В ветке просят помощи, а именно обьяснить/показать. А некоторые индивиды, с высокомерным контекстом, отправляют учить английский и изучать assembler с помощью C++!


    Будьте добрее друг к другу!
     
    _________________________
    #1323 [email protected], 26 Mar 2013
    Last edited: 26 Mar 2013
  4. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,760
    Likes Received:
    816
    Reputations:
    230
    Хреново воспользовался значит. Не верю, что в гугле отсутствует решение сей проблемы на ассемблере и ничего на этот счет не написано в каких-нибудь официальных доках от интел скажем.
    Название темы поменять - вопрос пары минут.
    В ветке 90% вопросов - это написание/дописывание лаб/домашних заданий, либо вопросы, которые связаны с недостатком гугла и ленью воспользоваться отладчиком.

    И, да, без английского в программировании делать нечего.
     
    _________________________
  5. KIR@PRO

    [email protected] Active Member

    Joined:
    26 Dec 2007
    Messages:
    823
    Likes Received:
    287
    Reputations:
    359
    Без английского, в программировании много чего можно, и нужно делать! Это заблуждение, что без инглиша, дорога в программирование закрыта!

    В гугле решение отсутствует. На сайтах которые он выдает при поиске, возможно есть... Не в этом суть.

    :eek: Ты себя батькой возомнил? Тема не тобой создана, не тобой переименована будет!

    Я вообще не понимаю как тебя в РОА взяли? При общении с тобой возникает желание не заходить на форум вообще...
    Вот скажи, если есть "гугл", в котором "есть все", то зачем тогда АЧАТ? Чтобы у тебя был зеленый ник, соответствующая надпись, и ты в разных разделах посылал людей в гугл? Тебя ни кто не принуждал отвечать в этой теме, если ты решился ответить, то отвечай подобающе резервисту ачата! Либо промолчи!
     
    _________________________
  6. K800

    K800 Nobody's Fool

    Joined:
    25 Dec 2010
    Messages:
    2,042
    Likes Received:
    3,533
    Reputations:
    348
    А ведь что-то есть.. в этом диалоге...
    Признавая авторитет Kaimi.. перепепосыл на гугл.. не совсем понятен.

    А вот то, что без английского заниматься программированием архисложно, бесПОРНО. =)
     
    1 person likes this.
  7. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,760
    Likes Received:
    816
    Reputations:
    230
    Ну да, регеры, спамеры и прочее по мануалам на русском на основе готовых компонент - это тоже погромирование.

    Если нечего возразить, то надо докопаться до формулировки? Хорошо, а кэш гугла или скажем googlecode это тоже не гугл, да?
    Нет, ну, это ничего не меняет. Другое дело я не модератор раздела, это да, это грустно.

    А в итоге мне нравится подход, английский не знаем, гуглить и думать лень. Верной дорогой идете товарищи, многого достигните...только не в программировании.

    У меня почему-то без проблем получилось погуглить и сваять сомнительного качества код, который вполне себе корректно отобразил количество ядер на каком-то AMD'шном процессоре, на Core i7 и на Xeon, мистика прямо.
    Code:
    .data
    msg dd 128 dup(0)
    
    .const
        CPUID_VENDOR_INTEL_1 equ 756e6547h ;/* "Genu" */
        CPUID_VENDOR_INTEL_2 equ 49656e69h ;/* "ineI" */
        CPUID_VENDOR_INTEL_3 equ 6c65746eh ;/* "ntel" */
    
    .code
    start proc
        xor ebx,ebx
        xor ecx,ecx
        xor edx,edx
        
        
        mov eax,0
        cpuid
        
        
        .if ebx == CPUID_VENDOR_INTEL_1 && edx == CPUID_VENDOR_INTEL_2 && ecx == CPUID_VENDOR_INTEL_3
            mov eax, 0
        .else
            mov eax, 1
        .endif
        
        xor ebx,ebx
        xor ecx,ecx
        xor edx,edx
        
        .if eax == 0
            mov eax,4
            cpuid
            shr eax,26
            add eax,1
        .else
            mov eax,80000008h
            cpuid
            and ecx,0FFh
            add ecx,1
            mov eax,ecx
        .endif
        
        invoke wsprintf,offset msg,chr$("%u"),eax
        invoke MessageBox,HWND_DESKTOP,offset msg,offset msg,MB_OK
     
        invoke ExitProcess, 0
    start endp
    end start
    
     
    _________________________
    2 people like this.
  8. KIR@PRO

    [email protected]RO Active Member

    Joined:
    26 Dec 2007
    Messages:
    823
    Likes Received:
    287
    Reputations:
    359
    Знаешь, по мимо интернет-статей и блогов, есть книги в которых описывается все то, что в англоязычных мануалах...
    В.И.Юров - Assembler (2-а издания)
    С.В.Зубков - Assembler для DOS,Windows и UNIX
    Р.Аблязов - Программирование на ассемблере на платформе х86-64
    Найл Мэтью, Ричард Стоунс - Основы программирования в Linux
    Роберт Лав - Ядро Linux. Описание процесса разработки.

    список можно продолжать и продолжать....


    С каких пор модератор, может самовольно менять названия закрепленных тем?

    Ты, толи принципиально не читаешь мои сообщения, то ли частично их прочитываешь.... Я уже писал, что нашел материал написал, проверил на виртуалках норм показывает на i7 вместо 8, выдает 16.

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

    Kaimi ты поими, если собрался ответить кому то на вопрос, отвечай по существу, а не посылай в поиск! Поверь, человек не получив, за длительный промежуток времени, ответа сам продолжит поиски.


    А за код, снова спасибо!
    Мне бы хватило, примерно такого ответа: Проверяешь чей проц, если Intel, то вызываешь cpuid с eax=4, старший байт eax равен кол-ву ядер минус 1. Если же проц AMD, то cpuid вызываешь с Eax=80000008h, а кол-во ядер в младшем байте ecx (cl) плюс 1. :)

    p.s. раньше на ачате, люди были более отзывчивыми, и более доброжелательными! :(

    [​IMG]
     
    _________________________
    #1328 [email protected], 27 Mar 2013
    Last edited: 27 Mar 2013
  9. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,760
    Likes Received:
    816
    Reputations:
    230
    Так что же мешает их прочесть, а не задавать тривиальные вопросы? Неужели ни в одной из множества книг не описано, как получить требуемую информацию с помощью cpuid?

    Запреты на этот счет я не видел.

    Как раз читаю, заметь, ты пишешь, что нашел решение и оно выдает что-то не то, но кода не привел. Также непонятно, в чем сложность определения "правильный" ответ или нет, если очевидна некорректная работа. И, наконец, я скажем задаю вопросы, только после пролистывания 10 страниц гугла по 2-3 формулировкам интересующей задачи и вот если там совсем пусто....
     
    _________________________
  10. KIR@PRO

    [email protected] Active Member

    Joined:
    26 Dec 2007
    Messages:
    823
    Likes Received:
    287
    Reputations:
    359
    В тех которые я имею не описано.

    Но это не значит, что их нет. Ты же не видел разрешения, на такие действия.

    Я написал:
    Тебе этого не достаточно, чтоб представить сам код?
     
    _________________________
  11. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,760
    Likes Received:
    816
    Reputations:
    230
    Недостаточно, особенно глянув на одну из ссылок из гугла: http://wiki.osdev.org/CPUID
    Я вообще не понял, причем тут cpuid с eax = 1 и прочие ebx, edx
     
    _________________________
  12. KIR@PRO

    [email protected] Active Member

    Joined:
    26 Dec 2007
    Messages:
    823
    Likes Received:
    287
    Reputations:
    359

    Дак вот и надо было спросить... А то тему уже зас***и.
    Я щас понимаю, что это был плохой пример с забугорных форумов, и, что Cupid с eax=1 это бред, и понимаю я это, только благодаря тебе. Но было бы лучше если ты, либо сразу помог кодом, либо не помогал вообще.

    Я не хочу, что бы ты воспринял нашу беседу как "рамсы","выяснение отношений" или что то подобное. Я всегда рад конструктивной критике. Но такие спец.темы как эта созданы именно для таких вопросов… И посылать в поисковики, только по тому, что ты считаешь это целесообразным не надо, ты не знаешь искал человек или нет, понимает ли он, что ему нужно, или же нет... Много причин почему не надо посылать с форума, в гугл...

    Закончу на хорошей ноте, спасибо тебе за помощь!

    [​IMG]
     
    _________________________
    #1332 [email protected], 28 Mar 2013
    Last edited: 28 Mar 2013
  13. nijat11

    nijat11 New Member

    Joined:
    17 Jun 2011
    Messages:
    18
    Likes Received:
    0
    Reputations:
    5
    Всем привет. Товарищи очень хочу выучить ассемблер, искал в гугле но толком ничего не нашел, порекомендуйте пожалуйста книгу по ассемблеру.
     
  14. DooD

    DooD Moderator

    Joined:
    30 Sep 2010
    Messages:
    1,173
    Likes Received:
    437
    Reputations:
    288
    зубков.ассемблер для dos windows unix
     
    _________________________
  15. taha

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

    Joined:
    20 Aug 2006
    Messages:
    399
    Likes Received:
    329
    Reputations:
    251
    Кип Р. Ирвин "Язык ассемблера для процессоров Intel"

    лучше Зубкова в разы

    откопал на винте бонус
     
    #1335 taha, 15 Jul 2013
    Last edited: 16 Jul 2013
  16. GH1404SMF+

    GH1404SMF+ Member

    Joined:
    14 Apr 2013
    Messages:
    112
    Likes Received:
    48
    Reputations:
    1
    http://forum.antichat.net/thread31398-%C7%F3%E1%EA%EE%E2.html
     
  17. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    942
    Likes Received:
    428
    Reputations:
    139
    не нужна никакая книга. для фасма есть фасмовский мануал, для маска есть масмовский мануал. и то и другое есть на оффсайтах. для остальных ассемблеров должно быть тоже что то подобное.
     
  18. KIR@PRO

    [email protected] Active Member

    Joined:
    26 Dec 2007
    Messages:
    823
    Likes Received:
    287
    Reputations:
    359
    Для Вас, все равно, мануал от компилятора(ассемблера(сборщика)) и учебник по языку, который помимо перечня команд, демонстрирует методы их применения? Мануал от fasm/masm/nasm/etc... не учит программированию на языке ассемблера, а демонстрирует внутренние конструкции и особенности синтаксиса (обявление секций, создание макросов, etc..).
    Как пример, обращение к переменной на MASM и NASM:
    Code:
    ;MASM
    .data
    my_var   dd 0
    .code
    mov eax,my_var
    
    Code:
    ;NASM
    section .data
    my_var   dd 0
    section .text
    mov eax,[my_var]
    
    Как видно из примера, различия между разными "компиляторами" есть и довольно серьезные. Но все они производят один и тот же машинный код, истинный ассемблер!

    В общем мануал ассемблеру не научит! :D
     
    _________________________
  19. MaxFast

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

    Joined:
    12 Oct 2011
    Messages:
    580
    Likes Received:
    148
    Reputations:
    94
    Нужно чтобы антивирус (любой) детектил вирус в бинарнике, но без самого зловредного кода. Как можно обмануть антивирус? (Желательно на MASM).
    Спасибо.
     
  20. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    самое первое, что приходит на ум это EICAR:
    Code:
    X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
     
    1 person likes this.
Loading...