· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.ASSEMBLER —› Время.

. 1 . 2 . >>

Посл.отвђт Сообщенiе


Дата: Июл 3, 2003 12:47:52

Скажите а за сколько в среднем можно изучить асемблер?


Дата: Июл 3, 2003 13:20:12

Всё относительно, как и время...


Дата: Июл 3, 2003 13:50:38

Замечательные слова!


Дата: Июл 3, 2003 18:33:25

Son

Ассемблер можно изучить за месяц, два. Но программировать на нём ты будешь учиться всю жизнь :)))


Дата: Июл 3, 2003 23:17:12

...и не научишься


Дата: Июл 4, 2003 00:32:46

Если ты решил выучить Assembler, так, для галочки(чтобы на вопрос, знаете ли вы какой либо ассемблер, ответить да), то хватит и 25 дней(дней 10-12 теория: структура листинга, коммады, и дней 13-15 на то, чтобы все это опробывать на практике.)
Но что бы выучить его по настоящему(знать без книжек), то ты должен жить им(ассемблером).
Хотя утиться ассемблеру-это все равно, что учиться жить. Всего не выучишь.
И мое мнение, что если человек, спрашивает о времени изучения, то ему не по пути с ассемблером.


Дата: Июл 4, 2003 07:52:00

Запугали бедного ребенка.Посоветуйте с какой книги начать.


Дата: Июл 4, 2003 13:44:20

Я бы посоветовал, для начала, почитать Уроки Iczelion'а - на сайте есть перевод. Во-первых, это сразу по Windows, что гораздо интереснее чем DOS, о которой так любят рассказывать в наших книжках по асму. Во-вторых, никуда ходить не надо ;-) Те вопросы, которые будут возникать, разрешать поиском по сети. Ну и книжку, конечно какую-нить купить - этот вопрос уже неоднократно поднимался здесь. И на сайте много полезного материала.


Дата: Июл 6, 2003 22:04:43

Я начинал с книги Зубкова "Асма для ДОС ВИН и Юникс".
можно Абеля почитать(только ДОС)
Выбор книги зависит от диалекта Асма!


Дата: Июл 6, 2003 23:51:12

А какую книжку посоветуете по MASM32?


Дата: Июл 8, 2003 02:58:54

Всю жизнь изучал асм, писал на асме (уже лет эдак 12) сначала для Z80, щаз для x86 а все равно - почитаю The Svin'a и чувствую себя полным лохом... хех... млин.... вот ведь... да....
=)
черт, но ведь к чему-то надо стремиться... над чем-то работать...

ЗЫ: я пъян... }8)


Дата: Июл 8, 2003 19:43:09

[i][/i]
А мне под дось больше ндравица писАть.. под винду много тонн однообразного текста и всякой дряни.. окошки там создавать.. гемор блин... а вот делать все под чистый дось это круто =) ну начинать надо ессно с Зубкова(как уже кто-то посоветовал) "асм для дос вин и уних"


Дата: Июл 12, 2003 03:21:31

Evld,
The Svin себя чувствует лохом перманенто.
Так что нас таких двое :)

NeoN,
Под "дось" у меня младший пацан в основном пишет.
Ему семь.
Печатает Hiew \ Enter
Нажимает INS.
Перчатает cool.com \ Enter
Нажимает F3.
И (например, если на скорость - успеть за 30 секунд вылепить программу)
Печатает
B4 09 BA (пока офсет ему неизвестен печатает ->) 00 00
CD 21 C3 (или CD 20 - под настроение или на скорость задача или на размер)
дальше нажимает tab и печатает Yan is cool programmer.
переключается по tab обратно и (ну прёт его от этого не текстом а числом
написать :)) печатает 24
Дальше смотрит какое смещение у первой буквы Y, прибавляет 100h.
И меняет после BA 00 00 на скажем 09 01.
Жмёт F9. Esc. И запускает :)
Мне его искрене жаль - друзья его оценить "крутость" не могут.
И смотрят на это как на полную шизофрению или просто в полной
прострации :)

Научился кодировать несколько иструкций по обучалкам, за пару часов.
Сейчас его прёт от "числового кодирования". :)
Это так к слову про Дос.

А про книги, по моему некомпетентному мнению, книг для обучения
низкоуровневому программированию с нуля просто нет.
Я не видел. Т.е. книгу Сергея я видел, но будь полным начинающим -
я бы точно по ней не научился. Хотя и его и книжку уважаю, она
в определённом смысле была революционной именно для России, которая
по учебникам по ассемблеру была на том момент позади планеты всей.

Хотя в былые времена книгам Григорьева, например, аналогов ни по качеству
написания ни по точности и детальности небыло.
Но тот закончил на двухтомнике i486. И больше, AFAIK, не написал ни строчки.


Дата: Июл 14, 2003 06:22:33

Ну крутой сынок! А вы, Svin, оффсеты сразу вписываете без предначальных нулей? :)


Дата: Июл 15, 2003 18:04:57

Не всегда конечно :)
Чаще, если что-то не маленькое, нулями забиваю и закладку ставлю.
Чтобы точно офсеты написать мало точно знать длину опкода и складывать его, как ты понимаешь.
Если офсет впереди, нужно 100 пудово знать, что ты впереди напишешь. А мы люди простые, часто сами не знаем куда кривая заведёт.
Но я редко в HEX пишу в последнее время.
Обычно это полезно
- либо когда нестандартный бинарник сочиняешь.
- либо в образовательных целях, когда новый формат осваиваешь.
Может это странно покажется, но (по крайней мере для меня)
попытка написать файл какого-то формата с нуля, со всеми заголовками и секциями, обучает и объясняет гораздо лучше чем что-либо другое.
Лучшими примерами для меня мои собственные глупости и недоученности служат. Когда-то я очень хотел научится ассемблеру, брал как водится книжку. В книжке были начальные примеры с com файлами.
Был и "образец", в образце написано было org 100.
Что такое org 100 и как грузится образ com файла возможно там тоже было написано. Но можно было писать и не вчитываясь в это. В результате то, что было жизнено необходимо знать, а имеено что такое PSP и что в нём, отношение арифметическое образа файлов и их отражение на адреса памяти и тд. прошло мимо моих мозгов.
В результате я узнал об этом каким-то кривым способом через некоторое время. При этом у меня возникала куча вопросов, которые бы никогда не возникли знай я об упомянутых вещах.
С ребёнком было проще. Он первые команды изучал в дебагере, наглядно видя три основные характеристики бинарных данных - длину, состояние бит и адресс.
А первую програму написал в HEX, с последуещим запуском её
в дебагере и отслеживанием, что помимо того что он непосредственно написал было ещё в памяти, как менялся IP
при выполнении программы и т.п.
Я занимался с ним пару дней, часа по два.
В результате он через пару дней знал то, до чего я доходил
несколько месяцев (нет, он конечно не написал столько же программ, но фундаментальные вещи он понимал лучше).
Мы учились так. (Мало слов но много показов и примеров):
1. Программа должна закончится.
- Что такое прерывание. (самое общее представление)
- Где они находится (адреса в таблице прерываний - как считать, арифметика)
- Формат опкода для прерывания (CD номер).
Програмка в Hiew c CD20.
2. Посмотрели как работает в дебагере.
- Когда загрузили, он сразу увидел уже знакомое ему
число CD20 по другому (очень лёгкому 0000) адресу.
- Обратили внимание что наша команда в Hiew была по 0000
смещению, в дебагере по 0100. Поговорили в общем виде
о PSP и размере PSP и о том, что она (PSP)всегда
сначала грузится по нулевому адресу, а потом уже подряд
байтики из нашего файлика. Поэтому адреса всегда
имеют в памяти значение 100 (размер PSP) смещение
в файле. И первые байты в PSP CD20 (он уже знал что это
и объяснять было не нужно)
- Изучили формат jmp.
- Написали программу jmp 0 (F9FDFE)
- Посмотрели в дебагере как она работает.
Наблюдая за IP. И как программа оказалась на месте
где уже "было положено" CD20. После чего CD20
выполнелось.

3. Посмотрели что у нас находится в памяти на которую указывает SP. Обратили внимание, что в двух написанных
программах у нас по этому адресу всегда 0. Поговорили
как работает команда ret.
Написали программу C3.
И в том же духе всё время.
Мы написали тучку разных програм которые только и делали
что выходили. Копировали СD20 из других мест по адресу находящему за копирующей инструкцией и т.п. Вроде ничего полезного насчёт самих программ. Но все базовые вещи, без
которых изучение низкоуровневого программирования будет тормозится он понял (по крайней мере получил некоторое практическое представление). Только на следующий день мы стали выводить строчки и тренироваться ориентироваться в смещениях внутри файла.
Мораль тут простая, я хотел бы когда я начинал чтоб меня
так учили, тогда бы я потратил не месяцы и годы для понимания этих вещей кривыми способами, а дни.
Но книжки пишутся не так.
Они пишутся не для тех кто ничего не знает, и их надо как-то учить. Они пишутся, чтобы спецы не придирались, спецы, которые и так всё знают.
Книжки начинаются не с того, и базовые вещи, которые нужно знать сначала - объясняются с середины и как-то не подробно. До них доходят сами, если доходят.

. 1 . 2 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.093