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

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

  1. KIR@PRO

    KIR@PRO from Exception

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

    Kaimi Well-Known Member

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

    KIR@PRO from Exception

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


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


    Будьте добрее друг к другу!
     
    _________________________
    #1323 KIR@PRO, 26 Mar 2013
    Last edited: 26 Mar 2013
  4. Kaimi

    Kaimi Well-Known Member

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

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

    KIR@PRO from Exception

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

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

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

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

    K800 Nobody's Fool

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

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

    Kaimi Well-Known Member

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

    Если нечего возразить, то надо докопаться до формулировки? Хорошо, а кэш гугла или скажем 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

    KIR@PRO from Exception

    Joined:
    26 Dec 2007
    Messages:
    826
    Likes Received:
    291
    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 KIR@PRO, 27 Mar 2013
    Last edited: 27 Mar 2013
  9. Kaimi

    Kaimi Well-Known Member

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

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

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

    KIR@PRO from Exception

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

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

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

    Kaimi Well-Known Member

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

    KIR@PRO from Exception

    Joined:
    26 Dec 2007
    Messages:
    826
    Likes Received:
    291
    Reputations:
    359

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

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

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

    [​IMG]
     
    _________________________
    #1332 KIR@PRO, 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 Elder - Старейшина

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

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

    Joined:
    20 Aug 2006
    Messages:
    399
    Likes Received:
    330
    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:
    939
    Likes Received:
    429
    Reputations:
    139
    не нужна никакая книга. для фасма есть фасмовский мануал, для маска есть масмовский мануал. и то и другое есть на оффсайтах. для остальных ассемблеров должно быть тоже что то подобное.
     
  18. KIR@PRO

    KIR@PRO from Exception

    Joined:
    26 Dec 2007
    Messages:
    826
    Likes Received:
    291
    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:
    575
    Likes Received:
    149
    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.