Всем привет! Хочу научиться ассемблировать под х86 процессоры. Из знаний: могу отличить ассемблер от языка ассемблера , умею выводить и читать helloworld код на NASM. Гуглится инфа очень трудно и часто просто не знаю как сказать Гуглу, что мне надо. Хотелось бы литературы, где все описывается достаточно подробно и "для самых маленьких". Под рукой х86 совместимая машинка и ос на Linux. Что можете порекомендовать новичку?
Чувствую себя униженным. Установить Windows. В принципе если запомнил десяток-два мнемоник и способы адресации, уже все что надо знаешь. Можно начать писать что-нибудь полезное.
Ну что ж Вы так... Не надо себя недооценивать Увы, но так уж сложилось, что "окна" мне просто неудобны и не нравятся. Мне куда ближе какая-нибудь убунту или рач. --- Сообщение объединено, 8 май 2020 --- Можете поделиться опытом в изучении асма? Что гуглили, что читали и т.д
Когда изучал асм интернет выдавали по карточкам. 100 единиц примерно равнялись 100 мегабайтам и стоили 100 рублей. Ничего не гуглил, даже интеловский справочник добыл не сразу. Помимо х86 знаю еще десяток других архитектур, там тоже в основном только справочной литературой пользуюсь. Если начнешь делать что-то практическое, сам асм тебя будет интересовать пару вечеров, потом все вопросы будут об апи и интерфейсах.
Shtraikher, читай на здоровье Абель П. Язык Ассемблера для IBM PC и программирования. – М. : Высшая школа, 1992. – 447 с. Бауэр Ф.Л., Гооз Г. Информатика. Вводный курс: В 2-х ч. Пер. с нем. – М. : Мир, 1990.– Ч.1– 336 с., ч. 2. – 423 с., ил. Брэдли Д. Программирование на языке ассемблера для персональной ЭВМ фирмы IBM.– М. : Радио и связь, 1988. – 448 с. Галисеев Г.В. Ассемблер IBM PC. Самоучитель. : – М. : Издательский дом «Вильямс», 2004. – 304 с.: ил. Голуб А. И. С и С++. Правила программирования. – М. : БИНОМ. – 272 с. Гук М.Ю. Аппаратные средства IBM PC. Энциклопедия 3-е издание. – Спб. : Питер, 2006. – 1072 с. : ил Дао Л. Программирование микропроцессора 8088. – М. : Мир, 1988. – 357 с. Жуков А.В., Авдюхин А.А. Ассемблер. – Спб. : БХВ-Петербург, 2003. – 448 с. : ил. Зубков С.В., Ассемблер для DOS, Windows и UNIX. – М. : ДМК Пресс, 2000. – 608 с. : ил. (Серия «Для программистов»). Ирвин К. Язык ассемблера для процессоров Intel, 4-е издание. : пер. с англ. – М. : Издательский дом «Вильямс», 2005. – 912 с. : ил. – Парал. тит. англ. Касперски К. Фундаментальные основы хакерства. Искусство дизассемблирования. – М. : СОЛОН-Пресс, 2004. 448 с. – (Серия «Кодокопатель») Касперски К. Техника отладки программ без исходных текстов. – Спб. : БХВ-Петербург, 2005. – 832 с. : ил. Касперски К. Компьютерные вирусы изнутри и снаружи. – Спб. : Питер, 2006. – 527 с. : ил. Касперски К. Записки исследователя компьютерных вирусов. – Спб. : Питер, 2006. – 316 с. : ил. Кнут Д. Искусство программирования, том 3. Сортировка и поиск, 2-е изд.: пер. с англ. – М.: Издательский дом «Вильямс», 2003. – 832 с. : ил. – Парал. тит. англ. Колисниченко Д.Н. Rootkits под Windows. Теория и практика программирования «шапок-невидимок», позволяющих скрывать от системы данные, процессы, сетевые соединения. – Спб. : Наука и Техника, 2006. – 320 с. : ил. Лямин Л.В. Макроассемблер MASM.– М. : Радио и связь, 1994.– 320 с. : ил. Магда Ю. Ассемблер для процессоров Intel Pentium. – Спб. : Питер, 2006. – 410 с. : ил. Майко Г.В. Ассемблер для IBM PC.– М. : Бизнес-Информ, Сирин, 1997.– 212 с. Нортон П., Соухэ Д. Язык ассемблера для IBM PC.– М. : Компьютер, 1992.– 352 с. Пильщиков В.Н. Программирование на языке ассемблера IBM PC.– М. : ДИАЛОГ-МИФИ, 1994.– 288 с. Рафикузман М. Микропроцессоры и машинное проектирование микропроцессорных систем: В 2-х книгах. – М. : Мир, 1988. кн.1– 312 с. Скляров И.С. Головоломки для хакера. – Спб. : БХВ-Петербург, 2005. – 320 с. : ил. Уоррен Г. Алгоритмические трюки для программистов, испр. Изд. : пер. с англ. – М. : Издательский дом «Вильямс», 2004. – 288 с. : ил. – Парал. тит. англ. Уэзерелл Ч. Этюды для программистов: Пер. с англ. – М.: Мир, 1982. – 288 с., ил. Уэйт М., Прата С., Мартин Д. Язык Си. Руководство для начинающих : пер. с англ. – М. : Мир, 1988. – 512 с., ил. Фролов А.В., Фролов Г.В. Защищенный режим процессоров Intel 80286, 80386, 80486. Практическое руководство по использованию защищенного режима (Библиотека системного программиста, т.6).–М. : ДИАЛОГ-МИФИ, 1993.– 234 с. Хорвиц П., Хилл У. Искусство схемотехники. – М. : Мир, 1983. т.1– 598 с., т. 2– 590 с. Чекатов А.А. Использование Turbo Assembler при разработке программ.– Киев:Диалектика, 1995.– 288 с. Юров В. Assembler: специальный справочник.– Спб. : Питер, 2001.– 496 с. : ил. Юров В. Assembler. Практикум. 2-е изд. – Спб. : Питер, 2006. – 399 с. : ил. Юров В. Assembler. Учебник для вузов. 2-е изд. – Спб. : Питер, 2007. – 637 с. : ил. Юров В., Хорошенко С. Assembler : учебный курс.– Спб.: Питер, 1999. – 672 с. Ю-Чжен Лю, Гибсон Г. Микропроцессоры семейства 8086/8088. Архитектура, программирование и проектирование микрокомпьютерных систем.– М. : Радио и связь, 1987.– 512 с. Intel ® 64 and IA-32 Architectures Optimization Reference Manual Intel ® 64 and IA-32 Architectures Software Developer’s Manual Volume 1: Basic Architecture Intel ® 64 and IA-32 Architectures Software Developer’s Manual Volume 2A: Instruction Set Reference, A-M Intel ® 64 and IA-32 Architectures Software Developer’s Manual Volume 2B: Instruction Set Reference, N-Z Intel ® 64 and IA-32 Architectures Software Developer’s Manual Volume 3A: System Programming Guide, Part 1 Intel ® 64 and IA-32 Architectures Software Developer’s Manual Volume 3B: System Programming Guide, Part 2 Leiterman J.C. 32/64-BIT 80x86 Assembly Language Architecture. © 2005, Wordware Publishing, Inc (568 pages) 2320 Los Rios Boulevard Plano, Texas 75074 Turbo Assembler® Version 3.2 User's Guide Borland International. Inc 1800 Green Hills Road P.O. BOX 660001, Scotts Valley, CA 95067-0001 Статьи с сайта https://wasm.in/blogs/ Статьи с сайта http://sasm.narod.ru/ Статья с сайта www.rsdn.ru: Холодилов С. Плавающая запятая Источник: RSDN Magazine #4-2007 Статья с сайта http://asm.shadrinsk.net/: st0ne [HUGI], пер. Беседин И. Скрытая мощь BCD-инструкций
Лучше начать с книги: Л. Скэнлон__Пер._с_англ._И._В._Емелин_М.-Персональные_ЭВМ_IBM_PC_и_XT._Программирование_на_языке_ассемблера-Радио_и_связь(1989)
Можете поделиться опытом в изучении асма? Что гуглили, что читали и т.д Я АСМ начинал изучать в 1989 году .... была книга Скенона Был PC c 512 Кб памяти MsDos 3.3 и NC 2.0 Сам компилятор масм не мог достать до 91 года. Потом познакомился с студентом из института и он мне записал на дискетку tasm и линкер.
а в чём траблы -то??? g++ ./main.cpp -S -fverbose-asm == получаешь асм портянку из с++ портянки иль gcc ./main.c -S -fverbose-asm для сишечки. gdb для отладки + куча онлайн справочников и туторов.
Гуглится все легко. Куча литературы по асму даже на этом сайте. Качайте учебники читайте и пробуйте. Я для вас залил на этот сайт учебник Юрова. https://codernet.ru/books/assembler/ Ставте асм .. дебагер ..и HEX редактор и вперед. --- Сообщение объединено, 10 май 2020 --- https://gcc.godbolt.org/
asmlamo, как новичок Shtraikher ссылки на ресурсы не видит (чтобы не было проблем с правообладателями), нужно побыть немного на сайте, проявить активность, тогда и доступ к ресурсам откроется (то что получается легко ― обычно не оценивается)
лучше офлайн + тс заявил, что речь идёт именно про линь + под линем с асмом всё очень хорошо и в плане тулз, и док + под линь асм действительно имеет смысл, пч можно оптить ядро. А под вынькой от асма толку в большинстве случаев зеро, ибо тирания энти ядра обрушивает профайл.
Кмк ТС нужно на этом этапе пописать под линух на сишечке, после объединить полученный опыт с тем что легко гуглится по запросу "assembler linux" проблемой быть не должно.
Советую эти книги http://www.stolyarov.info/books/programming_intro линукс, насм, Си , а главное - правильное понимание сути. Автор учит с низов, с основ операционной системы, алгоритмы и т.д., а не петон.