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

Форум АНТИЧАТ (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=41936)

nerezus 09.06.2007 20:58

Цитата:

Ниасилишь скорее всего сейчас под винду, попрактикуйся под дос.
Под дос аналогичные виндовым проги, делать сложнее.
Да и думаю, что нужно учить то, что нужно ;) А дос навряд ли ему нужен.

iv. 09.06.2007 21:02

Цитата:

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

ПС: под дос аналогичные виндовым проги в принципе не сделаешь, разве что консольные =)

Piflit 09.06.2007 21:28

Цитата:

Сообщение от NetMan
RTFM _http://flatassembler.net/docs.php

был там и еще на паре сайтов перед тем, как задать вопрос на форуме.

2 nerezus, думаю, что основы проще учить под дос, а потом уже можно и на вин32 переходить=)

nerezus 09.06.2007 21:29

Переходить легче.
Но ты не учитываешь то, что еще придется учить асм под дос. А это уже сложнее(говорю исходя из совсем небольшого опыта написания прог под эти ОС) =)

Piflit 09.06.2007 21:34

асм под дос и вин сильно различается?
и эти различия типа различий между масм, фасм и другими *асм?

slesh 09.06.2007 21:42

эх.. скока я знаю людей кто собирался учить асм, но их отпугнули эти дурацкие прерывания доса. ПРосто постоянно таскать справочники по прерываниям и функциям - это напряг. Вот винда - другое дело - Api функции и никакого дерьма.

Piflit 09.06.2007 21:52

асм на вин - чистый api?

KEZ 09.06.2007 22:03

> асм на вин - чистый api?

колбаса на снегу - это грязный носок?

> думаю, что основы проще учить под дос, а потом уже можно и на вин32 переходить=)

неправильно думаешь

> Вот винда - другое дело - Api функции и никакого дерьма.
опять изречение, появившееся в результате неглубокого понимания сути ассемблера. да хули я такие умные слова то пишу. проще говоря - вообще нихуя-незнания.

iv. 09.06.2007 22:06

Цитата:

Но ты не учитываешь то, что еще придется учить асм под дос.
Асм под дос? А в чем у него принципиальные различия? Прерывания?
Ну хз, реально там используются немного, и после некоторой практики пишутся на автомате. У меня просто не было выбора, учили под дос и всё. =) Потом под винду.
Цитата:

асм на вин - чистый api?
Ну, что значит "чистый"? Апи-функции служат некой расширенной заменой прерываний в досе, вот и всё. Напрямую с асмом никак не связаны эти функции, с таким же успехом можешь их использовать на С.

Piflit 09.06.2007 22:17

KEZ, а не проще объяснить?

slesh 09.06.2007 22:41

Я вообще говорю про чтение файлов и тому подобынх вещей.
т.е. Api функции - это типа имена для досяный прерываний.
Сделано для убоств програмеров :)

slesh 09.06.2007 22:46

Короче, один хер. пусть учит как удобнее, Если поймет суть языка то там уже будет пофигу под что писать. Будь, то дося, окна или пингвины.
Смысл один и тотже и пути одинаковые, тока п разному завутся.

Мож тогда сразу начать с написанить бутявки для флопика. тогда вообще можно понять прерывания в чистейшем биосном виде :) и весь гемор работы с ними.

KEZ 09.06.2007 23:00

> т.е. Api функции - это типа имена для досяный прерываний.

всё я сдаюсь, удачи

hidden 09.06.2007 23:08

ИМХО Лучший способ выучить любой язык программирования, просто прочитать раздел синтаксис, запастись справочником по функциям, взять пару работающих примеров и постепенно вносить в них изменения сохраняя работоспособность, добиваться нужной функциональности. Это и всё что нужно!

В fasm'е после директивы format не нужно писать use16 или use32

format PE - exe + use32 (Windows)
format MZ - exe + use16 (DOS)
org 100h - com + use16 (DOS)
отсутствие формата подразумевается бинарный bin + use16

slesh 09.06.2007 23:22

2 KEZ Ну это я так. образно выражаюсь..
И вообще, нут чешь не идет о конкретной винде.
Вот к примеру Win 3.11 - вообще жестока сидела на досе.
ПРосто для новечков более понятнее какбы вообще разлиция между API и INT
В любом случае API рулят. Хотя и не всегда...
В любом случае если чел шас начнет учить под досю, то тутже появятся куча вопросов
на многие из который будет самым нормальным ответ, в котором будет пресутствовать слово DOSBOX. IMHO - проблема досяных прог под SP2.
Особенно с видео режимами. и еще кучкой всякой херни.

KEZ 10.06.2007 00:20

Цитата:

ПРосто для новечков более понятнее какбы вообще разлиция между API и INT
В любом случае API рулят. Хотя и не всегда...
ты вообще понимаешь какой бред пишешь?
может меня разыгрывают?
сравнивают int и api? кроме того, что оба слова из трёх букв - линию аналогии тут провести просто негде
какие-то сравнения пошли дикие просто. int - инструкция. api - интерфейс. интерфейс - даже не код, а банально широкое понятие. его код может использовать инструкции. напоминаю, опомнись, мэн, ты пишешь не ПОД СИСТЕМУ, ты пишешь ПОД ПРОЦЕССОР!

Цитата:

ИМХО Лучший способ выучить любой язык программирования, просто прочитать раздел синтаксис
Люди на земле - вы сошли с ума? Метеоритный дождь там или чего такое то? Сколько раз ещё написать что ваше понимания ассемблера как языка программирования - получилось из-за поверхностного изучения и лишних, губящих ассоциаций? Как это ещё обьяснить? Ассемблер - всего лишь инструкции процессора, выучить, т.е. зазубрить конечно можно, и пусть чел напишет криптор, изучит формат pe-файла, но будет дальше писать мне api = int и тому подобные высказывания. Какой смысл что-то изучать, если вы не понимаете в корне как это использовать и где это использовать? Или может в институтах так обьясняют? Я там к сожалению не учился, школьник тупой ещё вот, который бензин нюхает. Как узнаю - отпишу!

Цитата:

ПРосто для новечков более понятнее какбы вообще
вот только не надо со мной обсуждать "этих назойливых" новичков)
будто я тебя считаю проффесионалом после верхней цитаты)

Я конечно боюсь соврать, нет мед. образования, но вот например мы с грейтом употребляем дхм и может от него так разум просветлился? ; ) Он мог бы сказать тоже что и я просто. Вообще заметил что все кто стали употреблять этот божий дар стали кодерами - тот же зако ; )


Код:

Great (16:43:47 9/06/2007)
сегодня хавали глик с грейпфрутовым соком.


Constantine 10.06.2007 02:43

Кез ты иногда такие вещи пишешь, такое ощущение что тебе глубоко за 30 =\

nerezus 10.06.2007 08:04

Цитата:

ПРосто для новечков более понятнее какбы вообще разлиция между API и INT
int 21h(и т.д.) + то, что лежит в ah(номер ф-ии) - это и есть API доса.
API - это Application programming interface, а не только закорючки из MSDN.

Цитата:

но будет дальше писать мне api = int и тому подобные высказывания
Под дос эти понятия равны )

iv. 10.06.2007 09:56

Немного почитал/вспомнил по этому вопросу, вот что хочу сказать:

Для начала, давайте разделим понятия "прерывание" и "обработчик прерывания": прерывание - просто сигнал процессору (читаем вики), а обработчик прерывания - функция, вызываемая в дос посредством инструкции int.
В win32api собрано множество функций (их же можно назвать системными вызовами), которые осуществляют обращения к ядру операционной системы, которое уже предоставляет доступ к физическим ресурсам компьютера. Таким образом, api является просто некой абстракцией функциональности.

В общем, предлагаю дальше не обсуждать эту мутную тему, а пойти дружно почитать википедию, я сам к сожалению тоже вдумчиво так и не дочитал, времени к сожалению сейчас мало. А Кез очень критичен почему-то, но ничего так и не объяснил конкретного. =(

slesh 10.06.2007 10:27

Мля. Int - Interrupt - если дело на то пошло!

slesh 10.06.2007 10:42

Один хер, даже если знаешь хрен объяснишь. Нужно понять.
Полностью согласен с iv. - тут тема уже пошла совсем про другое.
Типа как в анекдоте:
Цитата:

В одном первобытном племени как-то поспорили, что важнее:луна или солнце. Чуть до драки дело не дошло: одни кричат солнце,другие - луна. И вот пошли они к вождю. Он у них типа самый умный. Вождь думал три дня, а потом сказал.
Луна важнее!На вопрос почему, он вполне резонно обьяснил:
Солнце дает нам свет днем. Днем нам свет на хрен не нужен т.к. и так светло. А Луна дает свет ночью. Ночью свет очень нужен.

nerezus 10.06.2007 10:52

Цитата:

Таким образом, api является просто некой абстракцией функциональности.
API является только тем, чем оно является. то есть просто интерфейсом взаимодействия предоставляемым некоторой системой.

_Great_ 10.06.2007 12:30

Тема разделена. В следующий раз всех оффтоперов покусаю =)

inSa(Ne)rd 10.06.2007 15:47

Вы очень зря путаете прерывания, которые могут поступать от внешних устройств, генерироваться инструкциями или например, от таймера, т.е. одну из основ работы процессора и application programming interface. Тем более ещё постите какие-то нелепые убеждения что в досе вот апи такой а в винде ты пиши пацан WriteFile(), это так же АПИ. Вот вы так и будете с абстракцией сначала писать int 21h а потом заменять на "эквивалент" в винде. Будто все так элементарно и абстрактно. Дофига накодите с таким пониманием вещей.
Цитата:

API является только тем, чем оно является. то есть просто интерфейсом взаимодействия предоставляемым некоторой системой.
тур агенство и адвокат в суде тоже АПИ получается

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

Цитата:

Таким образом, api является просто некой абстракцией функциональности.
меджик машрумс?

_Great_ 10.06.2007 15:58

Цитата:

Вы очень зря путаете прерывания, которые могут поступать от внешних устройств, генерироваться инструкциями или например, от таймера, т.е. одну из основ работы процессора и application programming interface.
Имхо ты мешаешь в одну кучу аппатартые прерывания и программные прерывания. Программные прерывания как раз предназначены для взаимодействия "более высокоуровневого" (если можно так выразиться) кода с некоторыми базовыми примитивами BIOS, операционной системы или ее расширений.
Винда устроена на том же самом, используется прерывание 2E для обеспечения взаимодействия с Native API. (в XP и выше еще есть и SYSENTER, но это не меняет дела)

Другое дело, что у ДОСа другие концепции и просто так "соскочить" на винду будет нелегко с учетом всех особенностей доса.
Абстрагирование - это, конечно, хорошо, но дос его не обеспечивает. Да и, собственно, никакая ОС.

KEZ 10.06.2007 16:18

Цитата:

Имхо ты мешаешь в одну кучу аппатартые прерывания и программные прерывания.
сваливаю и это в _данном_ случае правильно)

_Great_ 10.06.2007 16:33

Цитата:

Сообщение от kez
сваливаю и это в _данном_ случае правильно)

Ну.. может быть, но все же не стоит мешать так в кучу это. Я твою мысль понял, только изъяснился ты не очень

iv. 10.06.2007 16:38

Цитата:

меджик машрумс?
5-MeO-DMT =(

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

taha 10.06.2007 16:45

Цитата:

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

API является только тем, чем оно является.
И Int является только тем, чем оно является.

nerezus +max

И все..

Piflit 10.06.2007 21:59

чувствую, зря я про fasm спросил...

ЗЫ посоветуйте книги/статьи по fasm win32. (кроме wasm.ru, http://flatassembler.net/docs.php )

не собьет ли меня с пути истинного вот это?

slesh 10.06.2007 22:52

2 Piflit А я вообще юзаю тока спавочник API функций, справочник инструкций MP и доку из самого FASM (PDF файл). И этого достаточно чтобы чтото сделать :)

_Great_ 10.06.2007 22:53

Вообще Msdn + справочника по асму достаточно, чтобы написать что угодно под винду.

KEZ 10.06.2007 23:31

Цитата:

не собьет ли меня с пути истинного вот это?
собьет, но ты ведь попросишь предложить что-то взамен а я не смогу

Цитата:

Вообще Msdn + справочника по асму достаточно, чтобы написать что угодно под винду.
ага вообще достаточно справочника intel architecture трёхтомного и блокнота
только это теоретически ; )

PS Алиса хочет стать кодером поэтому она решила убить меня и грейта и выпить нашу кровь.

_Great_ 10.06.2007 23:44

Цитата:

Сообщение от KEZ
ага вообще достаточно справочника intel architecture трёхтомного и блокнота
только это теоретически ; )

PS Алиса хочет стать кодером поэтому она решила убить меня и грейта и выпить нашу кровь.

Ну тогда вообще зачем отладчик нужен и дизассмеблер, открываешь дамп ехешника, карандаш с бумагой в зубы и пошёл! =))

PS. До чего вы там уже дошли кстате?


Время: 02:31