Ещё бы, ведь есть же гугл http://stackoverflow.com/questions/2901694/programatically-detect-number-of-physical-processors-cores-or-if-hyper-threading
2Kaimi хоть и не на асме, но инфа то что нужно! Спасибо. P.S. по поводу "гугл в помощь": 1) Я задал вопрос здесь, на ачате! Не надо ни кого гнать с ачата в гугл... 2) я написал: что уже, что то проверял, следовательно можно предположить, что я им уже пользовался(гуглом)! Тема называется [ Assembler ] — начинающим: задаем вопросы, а не [ Assembler ] — начинающим: раздаем ссылки, 3) ты хоть и помог, но помощь твоя ничтожна! В ветке просят помощи, а именно обьяснить/показать. А некоторые индивиды, с высокомерным контекстом, отправляют учить английский и изучать assembler с помощью C++! Будьте добрее друг к другу!
Хреново воспользовался значит. Не верю, что в гугле отсутствует решение сей проблемы на ассемблере и ничего на этот счет не написано в каких-нибудь официальных доках от интел скажем. Название темы поменять - вопрос пары минут. В ветке 90% вопросов - это написание/дописывание лаб/домашних заданий, либо вопросы, которые связаны с недостатком гугла и ленью воспользоваться отладчиком. И, да, без английского в программировании делать нечего.
Без английского, в программировании много чего можно, и нужно делать! Это заблуждение, что без инглиша, дорога в программирование закрыта! В гугле решение отсутствует. На сайтах которые он выдает при поиске, возможно есть... Не в этом суть. Ты себя батькой возомнил? Тема не тобой создана, не тобой переименована будет! Я вообще не понимаю как тебя в РОА взяли? При общении с тобой возникает желание не заходить на форум вообще... Вот скажи, если есть "гугл", в котором "есть все", то зачем тогда АЧАТ? Чтобы у тебя был зеленый ник, соответствующая надпись, и ты в разных разделах посылал людей в гугл? Тебя ни кто не принуждал отвечать в этой теме, если ты решился ответить, то отвечай подобающе резервисту ачата! Либо промолчи!
А ведь что-то есть.. в этом диалоге... Признавая авторитет Kaimi.. перепепосыл на гугл.. не совсем понятен. А вот то, что без английского заниматься программированием архисложно, бесПОРНО. =)
Ну да, регеры, спамеры и прочее по мануалам на русском на основе готовых компонент - это тоже погромирование. Если нечего возразить, то надо докопаться до формулировки? Хорошо, а кэш гугла или скажем 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
Знаешь, по мимо интернет-статей и блогов, есть книги в которых описывается все то, что в англоязычных мануалах... В.И.Юров - 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. раньше на ачате, люди были более отзывчивыми, и более доброжелательными!
Так что же мешает их прочесть, а не задавать тривиальные вопросы? Неужели ни в одной из множества книг не описано, как получить требуемую информацию с помощью cpuid? Запреты на этот счет я не видел. Как раз читаю, заметь, ты пишешь, что нашел решение и оно выдает что-то не то, но кода не привел. Также непонятно, в чем сложность определения "правильный" ответ или нет, если очевидна некорректная работа. И, наконец, я скажем задаю вопросы, только после пролистывания 10 страниц гугла по 2-3 формулировкам интересующей задачи и вот если там совсем пусто....
В тех которые я имею не описано. Но это не значит, что их нет. Ты же не видел разрешения, на такие действия. Я написал: Тебе этого не достаточно, чтоб представить сам код?
Недостаточно, особенно глянув на одну из ссылок из гугла: http://wiki.osdev.org/CPUID Я вообще не понял, причем тут cpuid с eax = 1 и прочие ebx, edx
Дак вот и надо было спросить... А то тему уже зас***и. Я щас понимаю, что это был плохой пример с забугорных форумов, и, что Cupid с eax=1 это бред, и понимаю я это, только благодаря тебе. Но было бы лучше если ты, либо сразу помог кодом, либо не помогал вообще. Я не хочу, что бы ты воспринял нашу беседу как "рамсы","выяснение отношений" или что то подобное. Я всегда рад конструктивной критике. Но такие спец.темы как эта созданы именно для таких вопросов… И посылать в поисковики, только по тому, что ты считаешь это целесообразным не надо, ты не знаешь искал человек или нет, понимает ли он, что ему нужно, или же нет... Много причин почему не надо посылать с форума, в гугл... Закончу на хорошей ноте, спасибо тебе за помощь!
Всем привет. Товарищи очень хочу выучить ассемблер, искал в гугле но толком ничего не нашел, порекомендуйте пожалуйста книгу по ассемблеру.
не нужна никакая книга. для фасма есть фасмовский мануал, для маска есть масмовский мануал. и то и другое есть на оффсайтах. для остальных ассемблеров должно быть тоже что то подобное.
Для Вас, все равно, мануал от компилятора(ассемблера(сборщика)) и учебник по языку, который помимо перечня команд, демонстрирует методы их применения? Мануал от 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] Как видно из примера, различия между разными "компиляторами" есть и довольно серьезные. Но все они производят один и тот же машинный код, истинный ассемблер! В общем мануал ассемблеру не научит!
Нужно чтобы антивирус (любой) детектил вирус в бинарнике, но без самого зловредного кода. Как можно обмануть антивирус? (Желательно на MASM). Спасибо.
самое первое, что приходит на ум это EICAR: Code: X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*