Как стать автором
Обновить

Комментарии 130

ой, когда-то начинал ассемблер с записи в бутрекорд диска джамп на перезагрузку :) одна простенькая комманда, а восторга было...
или программа то ли в два, то ли в три байта, которая намертво подвешивала винды 9х :)
в те времена. 3.11 винда считалась самім передовім явлением :)
я начинал ассемблер с книжки "Вирус своими руками" или что-то в этом роде, там описывались технологии создания вирусов и был простенький пример вируса на асме, который умел находить и заражать комовские файлы :)
НЛО прилетело и опубликовало эту надпись здесь
Жизнь слишком коротка, чтобы ковыряться в компах, если уж на то пошло.
Это получается, что жизнь слишком коротка, чтобы делать то, что тебе интересно?
Так же можно сказать, что жизнь слишком коротка, чтобы писать картины, ведь в этом надо так долго разбираться.
у троллей жизнь, по видимому, бесконечна, раз им не жалко тратить её в интернете
com-файл с 2 буквами: ъх %))) Если правильно помню, конечно.
это уже из серии башорговской «бугаги», или как там её
Нет, почему. На самом деле. Брал fasm и компилировал в com-файл команду jmp $. Вот и вся премудрость.
cli
hlt
если мне память не изменяет
Мне лично интересен был бы реверс инженеринг, низкоуровневый дебаг и иже с ними... Ну и asm для начинающих конечно же тоже) Ведь надо знать основы...
Основы чего?
Всего! )
Что такое ассемблер сейчас и почему он стал именно таким - историческая справка
Для чего он использовался раньше
Главные направления использования ассемблера в наши дни
Ну а дальше можно раскрывать темы использования ассемблера сейчас ;)
Удачи вам!
нууу... если вам нужна такая информация, то вам сюда или сюда...
Зачем об этом здесь писать?
Забыл: ассемблер для маленьких - как программистов на ассемблере, так и процессоров ;)
asm + linux — не очень распостраненная тема,но мн екажеться интересная
Поддерживаю, по асму в юникс-системах не так уж много материалов, было бы интересно увидеть статьи с описанием решения конкретных задач.
Да да. Для поддержания и развития интереса к асму в nix-ах требуются простые how-to. Для начала хотя бы качественно документированный hellow world.
вместо -dA, хотел -fverbose-asm, не проснулся ещё :)
вот спасибо еще бы кто нибудь вот такой примерчик продокументировал и было бы просто замечаттельно
... хотя наверное и сам разберусь))
все то же самое. процессору совершенно все равно - виндовс, линукс или какой-нибуд прочий макос на нем работает.

но синтаксис gas, да, без содрогания видеть невозможно
НЛО прилетело и опубликовало эту надпись здесь
.. может быть анальный секс?
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Наверно такой апетит тяжело уталить. Ну допустим я на МК (AVR) программил. И скажу, что это две разные вещи. RISС архитектуура отличается (да и проще) от X86. Короче принцып немного разный. А автор как раз и предлагает для X86. Кстати автору, слабо под х64 (без сарказма). Что там и как? Ну кроме увелечения extended (вроде). Или я не прав?
НЛО прилетело и опубликовало эту надпись здесь
Тогда еще интереснее создать блог типа "Создание чудо устройства имярек"
и подробненько с фотками и пошаговым описанием рассказывать как это чудо делается.
Программирования будет достаточно, а вот поять по сути мало, смотря канешн, что за девайс. Имхо будет интересно.
Было бы очень интересно почитать такие статьи, конечно в интернете много такого можно найти, но на хабре было бы удобно.Если есть кто готов писать такие статьи, знайте у вас будет хотя бы 1 постоянный читатель).
Хотелось бы про ASM под linux с 0 :) Вот где уж точно мало информации на русском языке!
Да-да! Только хотел это же предложить. Даёшь "альтернативу"!!!
авторы по разным темам не помешали бы)
расскажите, что такое драйвер с точки зрения асм-программиста
такой же раритет как виниловые пластинки
Как человек, проводящий за вертушками 16 часов в неделю, могу вас огорчить по поводу виниловых пластинок ;-)
А драйвера на ассемблере с какой периодичностью пишете ?
Не пишу вообще, слафтехосподи!
Мне лично хотелось бы видеть примеры сравнений некоторых функций на разных архитектурах
Например - x86 и arm
Еще было бы интересно по разным там микроконтроллерам aka однокристалки
>>Еще было бы интересно по разным там микроконтроллерам aka однокристалки
начитались тут рассказов :)

спасибо за комментарии буду думать,хотите присоединиться к написанию статей пишите в лс обговорим)
Да у меня уже готова одна статья, которая является примером реализации микроядра на ассемблере x86 без переключений в режимы защиты, которая соответствует парадигме ООП
Жду кармы для отправки.
Блог будет супер, т.к. я давно хотел найти что-то подобное.
Я думаю надо бы побольше на тему "Асм сегодня", т.к. сам когда начинал, то были сомнения - а стоит ли это того.
Не пинайте меня сразу, просто я тогда не вкуривал, что асм везде нужен...
Забыл указать программирование микропроцессоров (современных) и их использование сегодня.
А мне бы хотелось видеть побольше интересной информации для начинающих, секретов мастерства, каких то "пасхальных яиц" до которых сами дошли
Новичкам, вроде меня, думаю полезно было бы узнать не столько про основы самого асемблера (при желании эту информацию можно найти где-то ещё), сколько про подготовительный момент: каким образом пишутся программы, что необходимо подготовить, чтобы написать своё первое "Hello, World", всё в таком духе.
Давно пробовал начать изучать асемблер, но застопорился именно на этапе подготовки (Пример из книжки так и не удалось скомпилировать... :о( )
Поддерживаю.
по этой же теме к месту будет обзор асмовых ide
Ты про блокнот чтоль? В асме нет ide, пародоксально но под асм я ничего похожего на ide (по крайней мере нормально сделанного) не встрчал. Только консольные утилиты. Разумеется речь идет о х86 т.к. на контроллерах (мое основное направление) асм живет и здравствует и сдаст свои позиции еще ой как нескоро.
Тем можно придумать ой ей ей сколько т.к. на хабре до сего момента про него ваще мало где упоминали (разве что тот блогер который расписывал работу трояна с точки зрения вирусного аналитика).
А вот в каком виде размещать материал. Самое наглядное\информативное это было бы видеокаст: пишеш код, фрапсом(или чем то другим)сливаеш всё в авишку и параллельно наговариваеш в микрофон собственно сам каст.
если вы про меня, то я ассемблер вообще никаким боком там не трогал.. ну разве что совсем чуть-чуть )
Раньше собирался асм поучить. Так и не вышло. Хотелось бы увидеть здесь асм для начинающих.
Интересует низкий уровень под x86, а именно:
1) Работа с железом (Доступ к шине PCI, USB)
2) Практические приемы и особенности работы в защищенном режиме, нереальный режим
3) Написание загрузчиков
После пятичасовой пытки, закрыл зачет по этому предмету. Надеялся не вспоминать о нем недели две до экзамена. *Горько плачу*
А если бы проникся любовью к предмету, то сейчас радовался бы :о)
Без шуток - проникся. Но у чукчи в сутках 24 часа ...
А можно предложить то, чего НЕ хотелось бы видеть?
1. Любую информацию которой полно в интернете: описания команд, директив, отличия компиляторов и линкеров, описания команд дебагеров.
2. Превращения блога в курс для начинающих. Таких курсов полно и без хабра. И любой такой курс затянется на десятки или сотни бесполезных постов с информацией, которая и так доступна каждому, кому не лень учится.

В общем, нет попсе, даешь описания необычных моментов, особых тем, актуальных постов.
и всеже скорее всего одна статья "для начинающий" будет,в которой будут избранные ссылки и основные понятия
В таком случае предлагаю "начинающим" рассказать о работе процессора (регистры, прерывания и т.п.) и, всё же, небольшой словарь прерываний и комманд, причём которые будут использоваться именно в этом тексте, не надо много - только "по делу".
Вот, первый адекватный коммент вижу здесь я %)
Полностью с вами согласен.
Интересно было бы почитать про создание какого-нть простого робота на базе какого-нть AVR или прочего. т.е. ращработка команд, создание самого робота, его прошивка. Рабочий результат в виде фоток и видео =)
Про то, чтоб писать видеокастом (слайдкастом?) это правильно я думаю, но не всё подряд.
А так с асмом у многих проблемы с организацией и инструментарием, чем с самим кодом (имхо)
Хотелось бы статью про управление периферийными устройствами: CD-ROM, USB и т.д. - контроль, организация доступа...
Что нибудь совсем низкоуровневое (то, что запустится без ОС) для начинающих (уровень ассемблера = 0, можно в аналогии с другими языками, тем же C). Инструменты, справочники, сниппеты. ИМХО, лучше статьи.
что угодно, но желательно а нотации AT&T
Начнём..
Можете конечно понизить мне карму и еще что-нибудь, но IMHO с ассемблером пора уже заканчивать...
Asm оптимизация узких мест в С/C++ коде.
Тут можно нарваться на множество граблей — супер-пупер-оптимизированный на вид код может проигрывать в производительности прямолинейно-кондовому, просто потому, что оптимизатор заточен на нормальных простых людей...
Хотелось бы увидить примеры реверсинга Win32 приложений
НЛО прилетело и опубликовало эту надпись здесь
Разное. Начиная от написания маленьких фич на асме на уровне...
PUSH AX
POP AX
JMP -2
...и заканчивая реверс инженерингом с интересными коментами.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Мир не ограничивается win/x86 — хотим статьи и о других ОС и архитектурах процессоров
Как можно дальше от специфики x86/windows/linux. Да здравствует MMIX ;)
Меня интересует реверсинг и бутлоадеры.

Если кому нужно, могу сообразить статью по написанию драйверов для Mac OS X. Могу о PCI шине, о USB шине, о DMA, еще может быть какие сведения кому интересны по программированию устройств :)
Давным-давно, целых 4 года назад) я как то скачал один архив, где было 30 программ на Си, в самой простой был просто ввод вывод, а потом шли программы в которых была работа с файлами итп.
Было бы неплохо увидеть здесь публикации такого формата. Часть для начинающих можно ужать в пару постов, где будет рассматриваться пара самых частых конструкций, остальное люди найдут в справочниках. А потом можно программы на самые разные темы, например простые резидентные, загрузчики, элементарные драйвера. Ведь все технологии лучше усваивать на примерах использования.
интересно под win32
Подкаст про АСМ! Все студенты ФВТИ - ваши. Я бы с радостью послушал ) обязательно пишите, и потом ссылку пожалуйста )
Да. Хотим подкаст! :)
стесняюсь)
не стесняйтесь, записывайте! :)
тогда сперва делай текст, публикуй его тут, а потом зачитывай его в подкаст
даешь АСМ подкаст !
Интересна специфика применения asm на iPhone платформе.
Эту тему я уже подымал на wasm.ru, как и вирусы/антивирусы на этом апарате.
довольно часто приходилось изучать чтото по чужому коду. было проще и легче, чем вычитывать учебники.
может быть есть смысл поставить какую-нибудь цель, например: написать игру типа "змейка"? (пример конечно тривиальный, но это первое что пришло в голову). И по-этапно, с помощью статей, подкастов или ещё как то, шаг за шагом реализовывать её, с пояснениями и комментариями.
А в коментах к записям уже народ будет и сам пыаться оптимизировать... предлогать варианты и саморегулироваться :)
Имхо так даж интереснее будет :)
было бы интересно как отдельный проект в рамках блога, но не как основное направление блога.
Хотелось бы основ конечно, а то остальное будет плохо понятно.

И только не подкасты, умоляю…
АСМ и микроконтроллеры!
Давно хотел сделать робота)
НЛО прилетело и опубликовало эту надпись здесь
когда в университете проходили асм, то пользовались турбо ассемблером и турбо дебаггером. Хотелось бы узнать есть ли под линуксь/макось аналоги турбо дебаггера(в смысле чтобы трассировкой проходить по коду и следить за содержанием переменных/регистров/стека).
Хабру вполне хватает тематики веба. Зачем превращать его в сборную солянку?!
Нужно делать мега-охуенно, то есть либо полно, либо уникально. Здесь этого не выйдет.
Кому нужен ассемблер могу пойти на: http://wasm.ru/, http://mega-tokyo.com/, http://osdev.org/
или же почитать Юрова, Зубкова, погуглить и пояндексить.
Рейтинг этого поста, думаю, наглядно показывает, что именно интересно людям.
Я думаю, большинство вообще не понимает, что им интересно. Многие просили азов, если до сих пор они не смогли купить Зубкова или сходить на wasm им уже не поможешь. Им просто хочется считать себя людьми программирующими на ассемблере. Просто понты.
За Зубкова и wasm.ru +1 ;)
Во первых интересно было бы узнать про реверс.
Второе - различные гадости типа ARM, микроконтроллеров и тп.
Сходите на cracklab.ru
будет перепечатка wasm? что-то я не верю, что здесь может появится в этом плане что-то новенькое.
Было бы любопытно попрограммировать x86 процессор с нуля — что-то вроде HelloWorld операционной системы (от простого вывода HelloWorld до защищенного режима и нескольких процессов).

Да, и хорошо бы, чтобы руководство было ориентировано на какую-то виртуальную машину (GNU Bochs, VMWare), чтобы снизить "порог вхождения" для тех, кто не хочет мучать настоящее железо с риском потерять рабочее окружение.
Чего бы не хотелось видеть: перепечатку/перелинковку материалов с wasm.ru и т.п.
Спасибо вам за ваши комментарии,все пожелания постараемся учесть.

С планами на ближайшее будующее определились.Будет одна(первая) статья с ссылками на различные статьи на васме и прочем для новичков,это будет что-то вроде отправной точки.Далее будут статьи,с ними ясности меньше,но могу сказать точно: копипаста не будет.

PS люди у которых есть интересные идеи/статьи(как и свои так и ссылки на чужие)/что-либо ещё пишите в лс.
Могу ещё одну интерестную тему предложить - ОС на асме. Калибри, минуэт как у них там дела?
Можно немного материала по программированию под MenuetOS. На мой взгляд, отличная платформа для эксперементов на ассемблере.
определенно "Начнем..." введения для начинающих. и без всякого "анального секса" ;)
по крайней мере для начала.
О создании демок хочется. Эту тему почему-то многие обходят.
Было бы неплохо если бы автор рассмотрел возможность раскрытия материала и на nasm :) Как я понимаю, этот ассемблер используется в линуксе.
Хочется protected mode, syscall и вообще multicore :)
Когда-то, в старших классах, помнил почти все команды ассемблера для процессора Z80 в шестнадцатиричных кодах на память... С x86 дальше модификации пары-тройки программ с помощью SoftIce не пошло. Кстати, низкоуровневые отладчики сейчас в почете? Можно и о них написать.
Очень интересно было бы почитать про ассемблер под *NIX.
Основы основы и еще раз основы. + Mac OS X - *NIX
Имхается мне, что должен быть пост для начинающих - введение в предмет, обзор инструментов, ссылки на статьи. По этому поводу, кстати, хочу сказать пару слов про SoftIce: новичку он не нужен. Ему нужен OllyDbg, с которым на порядок (если не на два) меньше проблемм. Врядли новичок будет ядра и драйвера отлаживать.

Из интересных мне тем - антиотладочные приемы, всякие хитрые и неочевидные приемы. Написание драйверов (особенно - реверсинг). Работа с аппаратурой - тоже интересно. Ассемблер под NIX...

Сам мог бы помочь с написанием статей про OllyDbg, Ida (Ida script для начинающих и создание собственных сигнатур), Hiew. Но тут нужны конкретные примеры, на пустом месте писать сложно. И конечно же про реверсинг :)
Зачем писать статьи про иду и хвью, если уже есть книги Криса Касперски на русском языке, с которых вполне можно начать учить и ассемблер и реверс инжинеринг и все остальное? Не лучше ли дать ссылки на магазины где такие книги продаются?
А мне вот интересен не сам ассемблер, а скорее системное программирование в общем. Так что было бы неплохо организовать коллективный блог по теме OSEV и системного программирования. С OSDEV меня давняя любовь связывает, может даже чего и напишу интересного по этому поводу. Здесь также присутствует еще несколько человек из постоянной тусовки, надеюсь, что они меня поддержут и отпишутся. Фриман, легос, грин? Вы тут?)))

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

Подкаст по OSDEV надеюсь будет, давно хотел записать что-то такое.

Автору респект, двигай системщину, больше. сильнее и выше. Всех благ и творческих успехов.
Фак... ненавижу очепятываться .... ((((

в OSDEV буковку "D" потерял.
под словом "ассемблер" обычно почему-то понимают x86. Несмотря на то, что архитектур заметно больше, чем одна :)
В общем, я боюсь, что этот блог выродится в "как написать win32 программу без VC++". Долго и никому, по большому счёту, не нужно.
Хорошо, если я ошибаюсь :)
Ну x86 избыточен по количеству поддерживаемых инструкций, да и писать под него несложно, потому люди и начинают с него: сначала RM, потом PM, лонгмод, нереальный режим...

Это конечно тру — начинать свое знакомство с ассемблером с Z80, писать операции деления и умножения (каковых там нет), оптимизировать код по максимуму... Но врядли кому-то это нужно кроме профи дела и любителей-гиков, зацикленных на системном кодинге.

Если люди поймут суть подхода, то вполне смогут потом освоить и современные контроллеры, и RISC... Важно лишь, чтобы люди интересовались и шевелились в нужном направлении.
Тут уже многое предложили (по уменьшению в порядке значимости, для меня):
- Другие архитектуры + асм;
- "Бытовая" оптимизация в C/C++;
- Другие ОС + асм;
- Извращения )
Лично я бы с удовольствием почитал статьи, которые нацелены не на то, чтобы научить программировать на ассемблере (этим я вряд ли буду заниматься), а на то, чтобы лучше понять, как работает машина, как стоит программировать, например, на C, чтобы код был эффективным и т. п.
Список в порядке уменьшения интересности, для меня:

- Написания загрузчиков и прошивок для различных архитектур (КПК, ARM);
- Оптимизация в C/C++ и замена стандартных функции для их ускорения;
- Разбор уже существующих прошивок от мобильников и т.п.
- Творчество (256 Byte, 512 byte, 4096 byte)
P.S. Неплохо бы архитектуру системы обсуждать, то есть что откуда вызвалось
и кута потом загрузилось. Потому как иногда полезно понимать почему это не
заработало. Или откуда оно выпало с ошибкой.
Думаю что надо бы начать с уровня начинающий и подниматся вверх по ступенке ))) Было бы неплохо )))
Я бы хотела для начинающих. И так, чтобы попонятнее, с хорошими примерами. В общем, не так, как в "учебниках для вузов" пишут.
НЛО прилетело и опубликовало эту надпись здесь
по реверсингу было бы весьма интересно… :)
хорошо бы не только про попсовый Win32, но и Windows Mobile под ARM, и Linux (хотя бы IA32)
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории