Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Быстро выучить Ассамблер (https://forum.antichat.xyz/showthread.php?t=177053)

Asset 07.02.2010 20:47

Быстро выучить Ассамблер
 
Посоветуете те кто программирует на ассемблере.На своём опыте что для начало нужно знать. Я вроде бы не тупой но ленивый немного.Что можете посоветовать для быстрого изучение языка. Паскаль учил что та не понравился но понил что к чему.

total90 07.02.2010 20:52

тоисть ты без опыта в программировании, хочешь ассемблер учить?

cheater_man 07.02.2010 21:02

Я асму начал учить при средних знаниях C++, и неплохих знаниях C# .net + отличных знаниях архитектуры ЭВМ. Так что тебе быстрое изучение асма не светит :)

Kaimi 07.02.2010 21:04

Цитата:

тоисть ты без опыта в программировании, хочешь ассемблер учить?
Цитата:

Я асму начал учить при средних знаниях C++, и неплохих знаниях C# .net
И как же знания из с# помогают в изучении ассемблера?

Asset 07.02.2010 21:07

Нет я же сказал что учил Паскаль

Asset 07.02.2010 21:09

Мне интересно за сколько можно выучить сроки !!!

cheater_man 07.02.2010 21:10

Цитата:

Сообщение от Kaimi
И как же знания из с# помогают в изучении ассемблера?

Нет конечно это так к сведенью :)

cheater_man 07.02.2010 21:11

Цитата:

Сообщение от Asset
Мне интересно за сколько можно выучить сроки !!!

Ты знаком хотябы с устройством процессора x86?

TRX.new 07.02.2010 21:12

Цитата:

Сообщение от cheater_man
Ты знаком хотябы с устройством процессора x86?

В изучение ассемблера входит изучение архитектуры x86, работы процессора и памяти. Начинай учить с рассылок Калашникова.

Asset 07.02.2010 21:15

[QUOTE]В изучение ассемблера входит изучение архитектуры x86, работы процессора и памяти. Начинай учить с рассылок Калашникова.

Я щяс читаю Питера Абеля посоветовали это нормально для новичка

slesh 07.02.2010 21:28

Я когда начал учить асм, то чуть чуть знал паскаль. Для досовских основ достаточно было.
ЗА всю жизнь юзал тока справочник по инстукциям из книги юрова.
Потом когда уже хорошо знал асм, наткнулся на саму книгу. Советую почитать.
Assembler. Учебник для вузов. 2-е изд. / В. И. Юров — СПб.: Питер, 2003. — 637 с.: ил

Babusha 07.02.2010 21:53

[толсто]
Ассемблер почти не нужен никому.
Уже ОС приспособились на си писать.
И судя по АссАмблиру в сабже ТС будет очень сложно очень.
Но он будет старатся вычитать первые 2 предложения любой книги и понять что такое х86 бла бла.
Потом ему надоест через 2 минуты и он пойдет дальше сидеть В Контакте
[/толсто]

Adio 07.02.2010 22:16

Цитата:

Сообщение от slesh
Я когда начал учить асм, то чуть чуть знал паскаль. Для досовских основ достаточно было.
ЗА всю жизнь юзал тока справочник по инстукциям из книги юрова.
Потом когда уже хорошо знал асм, наткнулся на саму книгу. Советую почитать.
Assembler. Учебник для вузов. 2-е изд. / В. И. Юров — СПб.: Питер, 2003. — 637 с.: ил

Можно личный вопрос ? сколько ты лет изучаеш АСМ ? или другие языки.

slesh 08.02.2010 10:55

2 Babusha Асм нужен всегда. Реверсинг, отладка сторонних прог через Ольку или Иду (HexRay частенько дохнет). А также всевозможные куски шелкодов, хуков и тому подобное. Конечно же можно всё и на других языках писать, но всё равно рано или поздно в спец софте понадобится знать хотябы основные инструкции.

2 Adio Примерно 6,5 лет назад впервые увидел Паскаль. Где-то через полгода-год увлекся ассемблером, потом делфи, потом асмом под винду, потом php потом C (DDK) потом С под Win.

altblitz 08.02.2010 11:36

Цитата:

Сообщение от slesh
2 Babusha Асм нужен всегда. Реверсинг, отладка сторонних прог через Ольку или Иду (HexRay частенько дохнет). А также всевозможные куски шелкодов, хуков и тому подобное.

2 Adio Примерно 6,5 лет назад впервые увидел Паскаль. Где-то через полгода-год увлекся ассемблером, потом делфи, потом асмом под винду, потом php потом C (DDK) потом С под Win.

первое знакомство с кодингом - Паскаль, даже Турбо Паскаль, ради интереса.

серьёзно - взялся за Турбо Дебаггер,
и первое, что сделал - крек проги.
и затем, много чего интересного - брейк-пойнты, регистры, отладка кей-генов, сжатых и разворащивающихся из стека.

АСМ учил по мануалам GCC.

Gar|k 08.02.2010 13:03

Почитал, все молодцы :), но человек спрашивал совета по книжкам и срокам.
Лично я не помню сколько мне понадобилось времени что-бы понять запомнить команды, но точно меньше месяца. Начинал я понимать с рассылок Калашникова (уже советовали), но прочитав их до середины начал читать другой источник - методичку нашу по МОП (машинно ориентированное программирование). Сейчас вот пришлось учить асм под 8051, тяжеловато голове по другому мыслить. 2 Babusha - еще есть люди, которые программируют микрокотроллеры :cool: да и системный загрузчик или драйвер с перехватом ядерных функций ты без ассемблера врятли грамотно напишешь.

RDL_Rider 08.02.2010 13:08

Цитата:

Сообщение от Gar|k
2 Babusha - еще есть люди, которые программируют микрокотроллеры 8)

И главное, делают это на асме :)

Ra$cal 08.02.2010 13:11

кодить мк еще цветочки имхо, нас в универе на асме S/390 кодить заставляли (при этом мы должны были написать компилятор, компоновщик, да еще и отладчик для программ, которые писали)

cheater_man 08.02.2010 13:12

Цитата:

Сообщение от Babusha
[толсто]
Ассемблер почти не нужен никому.
Уже ОС приспособились на си писать.
И судя по АссАмблиру в сабже ТС будет очень сложно очень.
Но он будет старатся вычитать первые 2 предложения любой книги и понять что такое х86 бла бла.
Потом ему надоест через 2 минуты и он пойдет дальше сидеть В Контакте
[/толсто]

Твоё утверждение неверно:
Во-первых - есть такая область "науки" как реверсинг.
Во-вторых - ты некогда не заставишь работать машину(прибор), незная её команды(грубо говоря :) ), тем более в наш век ноликов и едениц :D .
ну и т.д. тут можно продолжать до бесконечности... ;)

slesh 08.02.2010 13:20

Вообще быстро выучить асм - это тоже самое <<Похудеть за неделю на 5 кг без диеты и хирургических операций>>
Т.е. вроде бы как и никто не говорил что этого нельзя сделать, но с другой стороны - как то смутно представляется это всё.

Но по крайней мере можно за неделю запросто выучить основы, а именно работу с памятью и все основные инструкции. Все остальные шаги уже зависят только от области. Потому что если кодить под Win то придется WinApi учить - а это дооолго. Потому что MSDN и не неделю не прочесть ))
Если под дос(хз тока зачем) то опять же придется учить досовские прерывания, а налогично и для пингвинов. Но главное тока одно - инструкции везде одинаковы.

Ra$cal 08.02.2010 13:27

вобщем вопрос как обычно - что желаем: выучить синтаксис или научиться программить. Первое займет пару тройку недель. Второе месяцы. Не говоря про апи и прочее. Просто осознать, что такое память, как ей пользоваться, адресовать итп.

Eo0 08.02.2010 13:32

Что бы не создавать копию спрошу здесь. Не могу определится что лучше учит C++ или asm, вроде asm и размер прог маленький и скорость выше, но наверняка больше времени потрачу хз. напрягает ещё что надо win api либо пробовать что то между vcl или .net, вот и тут не могу определится Boraland c++ builber удобно, но лишний метр библиотек, да и мне показалась что так работает медленное, qt слишком много весит, стоит builder юзать?

altblitz 08.02.2010 13:40

Цитата:

Сообщение от slesh
... Потому что если кодить под Win то придется WinApi учить - а это дооолго. Потому что MSDN и не неделю не прочесть ))
Если под дос(хз тока зачем) то опять же придется учить досовские прерывания, а налогично и для пингвинов. Но главное тока одно - инструкции везде одинаковы.

letitbit.net/download/1152.1212a5724cbf11ac3ca5a1e0b/P_V_Rumyantzev_W32_API.pdf.html

вас не смущает, господа Ачатовцы,
Вин требует ресурсов под домашний супер-комп,
и в тоже время - использует инструкции ASM x386?

slesh 08.02.2010 13:58

2 altblitz Не говори глупости. Если бы ты видел как и что сделано, то понял бы почему столько ресурсов хавает. Темболее в винде довольно жестокая система и даже одна небольшая операция может вызвать очень много функций которые будут по цепочки идти. Достаточно запустить программу и уже будет оооочень много всяхой хрени выполняться, начиная от кеширования иконки и заканчивая обработкой всех уведомлений. Это на поверхности относительно мало что делается (в общих случаях *** -> kernel32.dll -> ntdll.32 -> sysenter -> ядро) И вот какраз в ядре и начнается вся обработка информации.
Код:

xor ecx, ecx
m1:
 inc ecx
 mul ecx
 cmp ecx, FFFFFFFFh
 jne m1

Странно но данная конструкция пашет очень долго и хавает процессорного времяни просто ппц. Но при этом она же написана на x86
Ты не забывай что еще есть такая вещь как синхронизация, которая полюбому заставляет ждать выполнения определенных событий. А это дополнительные напряги.
Одна тока графика сколько хавает ресурсов. А еще с пол сотни дрова различных

По этому советую покодить для ядра и сам увидиш сколько можно чего намутить там итд итп.

Нафига мне книга по WinApi если есть MSDN

altblitz 08.02.2010 14:16

Цитата:

Сообщение от slesh
2 altblitz Не говори глупости. Если бы ты видел как и что сделано, то понял бы почему столько ресурсов хавает. Темболее в винде довольно жестокая система и даже одна небольшая операция может вызвать очень много функций которые будут по цепочки идти.
По этому советую покодить для ядра и сам увидиш сколько можно чего намутить там итд итп.

Нафига мне книга по WinApi если есть MSDN

знакомо, что вызов одной функции Вин может жёстко тормознуть ОСь.

вот поэтому и ставится брейк на стеке при выходе стандартной функции Вин API.
и претензии, пожалуйста - к Микрософт, slesh )

slesh 08.02.2010 15:03

2 altblitz увы притензии нужно не только к MS, но и к людям кто это юзает и пишет софт. Потому что Всё сделано для удобства использование, быстроты разработки итд итп.
Можно пойти и поссать под кустик, а можно и под себя. Вроде и то и другое работает по одинаковому, вроде и то и другое выполняет одну и туже функцию, вроде как и под себя - быстрее, но вот удобства играют ключевую роль.
Так что как всегда стандартные весы, на одной чаше который скорость работы, а на другой размер, удобство, функциональность.


Время: 01:29