1 / 1 / 0
Регистрация: 23.10.2018
Сообщений: 28
|
|
1 | |
Супер быстрый курс обучения для "знакомства" с ассемблером24.11.2019, 07:37. Показов 7752. Ответов 20
Метки нет (Все метки)
Здравствуйте. Обращаюсь к тем ребятам, которые уже чего-то достигли в изучении ассемблера, впитали информацию от кучи источников и могут порекомендовать стратегию изучения.
Постановка задачи: нужно за месяц (тратя часов 4 в неделю на ассемблер чисто на выходных) как можно быстрее обучиться поверхностно ассемблеру, чтобы писать программки типа поиска максимального числа , считывание и форматирование строки, сортировка массива... Зачем мне это нужно? Через месяц-полтора у нас экзамен в университете. Сам ассемблер оставили на самостоятельное обучение и много не требуют. Нужно освоить его на уровне "познакомиться каплю, взглянуть краем глаза что это такое и забыть". Т.к. я специализируюсь на джаве, си, гоу и все силы бросаю туда, то нужно порекомендовать самый легкий и понятный для чайников ресур обучения или курс какой нибудь или понятный и адекватный канал на ютубе... чтобы без подводных камней, чисто поверхностно, без забеганий в дебри и самое основное, т.к. времени нет совсем. Т.к. я ничего не смыслю в ассемблере, то мне даже не с чем сравнить. Но попробую привести аналогию с языком СИ: Мне нужно как можно быстро освоить ассемблер на уровне, как если бы я на СИ разобрал бы только :"объявление переменных, условные конструкции, циклы, массивы поверхностно ну и прорешав мини задачки на 10 строк чисто на отработку синтаксиса". На СИ это все новичку можно было бы поднять за недельку, если бы подсунуть ему какую нибудь быструю методичку или канал на ютубе для подготовки. Благодарю! P.S читать книжки на 300 страниц не нужно советовать.
0
|
24.11.2019, 07:37 | |
Ответы с готовыми решениями:
20
Какой курс лучше для обучения java? Супер-быстрый перебор курс обучения Интерактивный курс обучения |
530 / 180 / 38
Регистрация: 18.08.2012
Сообщений: 904
|
|
24.11.2019, 08:06 | 2 |
смешно....
полное непонимание, а точнее - отсутствие понимания сути предмета. иди ищи свой ютуб-канальчик а ля: весь асм. от чайника до про - за 60 мин lol <без обид> P.S я уже более 20 лет в асме и в реверсе и то, всё учусь чему-то новому.
3
|
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|
24.11.2019, 08:57 | 3 |
GpvpHoobastank,
ассемблер это не единый язык, а куча диалектов для каждого микропроцессора. Для AMD/Intel одни (masm, tasm, fasm, lzasm, a386 и т.д.), для микроконтроллеров другие, для мейнфреймов третьи. Программы на ассемблере даже под AMD/Intel будут отличаться в зависимости от предназначенной операционной системы (DOS, Windows, Linux и т.д.), в них по разному будет происходить вывод на экран и печать, работа с файлами, памятью и т.д. и т.п.
1
|
Прощай, Мир!
1672 / 830 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
|
|
24.11.2019, 14:00 | 5 |
Сообщение было отмечено GpvpHoobastank как решение
Решение
GpvpHoobastank, легче чем эту книжку по ассемблеру ты ничего не найдешь.. все разжевано и в рот положено..
Скляров И. Изучаем Assembler за 7 дней.pdf
5
|
3406 / 1825 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
|
24.11.2019, 22:30 | 6 |
Создете 8-мь РОН'ов AX, BX, CX, DX, DI, SI, BP, SP типа word. Создаете стек типа LIFO=last-in-first-out, размер ячейки WORD. И пишите свой код на JAVA, C/C++, но только с использованием этих РОН'ов(в памяти могот быть и другие переменные, но все операции Вы делаете только с РОН'ами), при этом операции + превращаете в ADD, минус = SUB и так далие.
У Вас быстро пропадет абстракция ЯВУ.
3
|
1 / 1 / 0
Регистрация: 23.10.2018
Сообщений: 28
|
|
24.11.2019, 23:36 [ТС] | 7 |
вот это прикольно) но думаю преподаватель не оценит )
Добавлено через 1 минуту спасибо за совет по книжке Скляров И. Изучаем Assembler за 7 дней.pdf . Думаю первых 100 страниц мне должно хватить)
0
|
Прощай, Мир!
1672 / 830 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
|
|
24.11.2019, 23:47 | 8 |
2
|
170 / 57 / 6
Регистрация: 21.05.2017
Сообщений: 68
|
|
25.11.2019, 00:03 | 9 |
Hint: Во многих книгах первые 100 страниц про DOS и BIOS. Не трать на это время.
1. Определить с железом: что ты хочешь программировать: АЛУ, сопроцессор, MMX, SSE, AVX? 2. Определись с ОС: win32, win64, nix? 3. Определись с ассемблером: имхо, доступнее всего fasm, потому что Томаш Грыштар - гений. Он (Томаш) поддерживает современные инструкции, хорошо задокументирован, имеет форум. Ещё из ништяков - .inc-файлы и наглядные примеры прямо в пакете fasm. Как только определился - строго по графику: 1) две минуты на консольный или диалоговый хэллоуворлд (пример есть в пакете fasm), 2) десять минут на полноценный оконный хэллоуворлд (пример тоже в наличии), 3) вся жизнь для творчества. P.S. А вообще для изучения языка ассемблера не обязателен процессор. Достаточно тетради в клеточку. Upd: про отладчик чуть не забыл. Olly или x32/64/96dbg
2
|
Прощай, Мир!
1672 / 830 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
|
|
25.11.2019, 00:12 | 10 |
Сообщение было отмечено Mikl___ как решение
Решение
3
|
Прощай, Мир!
1672 / 830 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
|
|
26.11.2019, 16:49 | 12 |
на кого бы повесить такой поиск.. так интересно было бы глянуть такую обучалку..
1
|
3406 / 1825 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
|
26.11.2019, 17:34 | 13 |
Он оценит. Таким образом Вы на ЯВУ, делеете эмулятор х86, (не bin -кода, а инструкций), с bin-код, т.е. нужно делать Дизассемлер. А так: Вы делаете эмулятор. на каком Вы курс-, держите эту тему, к финалу Вы эту тему либо сделаете, либо нет,
Но под элюзией деятельности, "могете" подучить некоторые плюсы
1
|
Модератор
|
|
29.11.2019, 10:38 | 14 |
Не очень длинный учебник. Или длнинный?
https://ru.wikibooks.org/wiki/... BE%D0%B2_C Assembly в картинках в двух коротеньких частях на примере https://derekmaciel.com/2017-0... bly-part1/ https://derekmaciel.com/2017-0... bly-part2/
2
|
Заблокирован
|
|
01.12.2019, 02:31 | 15 |
Самый крутой это Том Сван, но прочитаешь его после тридцати или вообще когда захочешь.
Остальное всё хлам. Вот сейчас самое наикрутейшее пособие всех времен и народов, читать можно откуда пожелаешь... http://erfaren.narod.ru/Asm/asm.htm
1
|
3406 / 1825 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
|
02.12.2019, 17:59 | 16 |
Сообщение было отмечено Mikl___ как решение
Решение
Круто, но у каждого юзера свой автор от Аблязова до Юрова, ТС прочитает их все, но кодить начнет, только после прочтения своего автора, вернее его книги, которую он поймет.
1
|
170 / 57 / 6
Регистрация: 21.05.2017
Сообщений: 68
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
15.12.2019, 21:54 | 17 | ||||||||||||||||||||||||||||||||||||||||||||||||||
ОК. Если ещё актуально. Индексируем вопросы:
(1) объявление переменных, (2)условные конструкции, (3) циклы, (4) массивы поверхностно. Поехали: 1) объявление переменных. Особенность: все переменные кодируются 0 и 1. Но точно так же 0 и 1 кодируются инструкции! Поэтому важно отличать данные (data) и код (code). Поэтому они объявляются в раздельных сегментах, например: .const, .data, .data? - для данных, .code - для кода. Есть нюансы (например, объявление локальных переменных в процедурах, но пока что хрен с ними). Теперь о размерах:
Ещё один момент: ты работаешь с памятью напрямую. Можешь вообще не объявлять переменные. Помни/вычисляй адрес и длину. Тогда будут эквивалентными инструкции:
Всё аналогично. Объявляются, естественно, в сегметне данных. Синтаксис такой:
2)условные конструкции Тут все конструкции более чем условные Например, можно задать структуру, как в C++:
3) циклы процессор Intel знает инструкцию loop, но она работает с регистром cx, который в 64-битных системах задействован при вызове функций. Поэтому циклы тупо реализуются через переходы
Чтобы не тратить время на Ричарда Блюма и разные мануалы, а сохранить его для Вирта, Кнута и фон Неймана... До 30... Тогда после 30 можно и Аристотеля с Платоном успеть полистать...
1
|
3406 / 1825 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
|
16.12.2019, 14:58 | 18 |
Вы так поверхностно ещё больше запутаете:
Вы написали а цикл бесконечный Это операторы условного перехода, а не сложные типы данных. Данные могут находится везде: в сегменте данных, в стека(локальные переменные) и даже кода(ЯВУ полюбляют прятать данные в коде). Код тоже может находится везде: в сегменте кода, в сегменте и даже в стеке(к примеру К.Касперски любил исполняемый стек). Добавлено через 2 часа 24 минуты Забыл довавить все - и код, и данные и стек могут находится в одном сегменте. Все зависит от того, что проходит через CS : IP - это код, все, что проходит через SS : SP - стек. А все остальное может данными.
3
|
Модератор
|
|
17.12.2019, 08:57 | 19 |
Можно сразу увидеть, какой код генерируют различные компиляторы языков высокого уровня
для всевозможных языковых конструкций https://godbolt.org/ Есть, чем заняться в оставшиеся 2-3 недели!
3
|
170 / 57 / 6
Регистрация: 21.05.2017
Сообщений: 68
|
|
21.12.2019, 23:04 | 20 |
Млин. Жалко, что нельзя пост править.
Во всех отмеченных случаях подразумевал одно, а написал другое. С циклом особенно глупая ошибка. Прости, GpvpHoobastank... Добавлено через 50 секунд Моя жизнь не будет прежней...
1
|
21.12.2019, 23:04 | |
21.12.2019, 23:04 | |
Помогаю со студенческими работами здесь
20
Нужен хороший курс обучения Где можно найти хороший курс обучения Visual Basic? Комбинация обучения с учителем и обучения без учителя для извлечения знаний Ищу людей для совместного обучения в области машинного обучения Создать базовый класс Student, который будет содержать информацию о студенте (фамилия, курс обучения, номер зачетной кни что лучше купить 9700к с 2060 супер или 3600 с 2070 супер? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |