Посоветовал остановиться на одном учебнике по языку ассемблера Зубков С.В. Ассемблер для DOS, Windows и Unix и потихонечку осмысливать шаг за шагом разбираясь на практике с примерами. Для успешного владения ассемблером необходимо: - понять или принять на веру что процессор все видит только в 0 и 1 посему ознакомиться с системами счисления десятичной(представление информации для людей гуманоидов), двоичной(представление информации в цифровых устройствах) и шестнадцатиричной(представление информции для людей технарей для удобства работы с цифровыми устройствами) - понять что такое язык ассемблера и зачем его придумали вообще - ознакомиться с устройством процессора x86 а именно какие регистры есть, какую роль каждый регистр выполняет, какие команды может выполнять процессор с этими регистрами и операндами в памяти.Заучивать ничего не надо твоя задача помнить что такое есть и знать где можно найти подробности - ознакомиться со средствами перевода алгоритма программы изложенного на языке человека на язык процессора(про компилятор тобишь) выучить правила изложения алгоритма того или иного средства В вышеуказанной книжке все это изложено.Глубина освоения ассемблера и устройства процессора зависит от задачи перед тобой поставленной, которая на начальном этапе проста - написать первый Hello, World хотя бы для для окружения DOS в Windows в консоли cmd.exe в 16 битном режиме(реальный режим работы x86 c 16 битными регистрами). Читать мануалы от Intel будешь лишь тогда когда захочешь свою ось написать, умный малвар, систему виртуализации либо столкнешься с багом самого процессора.
juget00 Щас в меня от остальных полетят камни - но скажу: для начала скачай транслятор с уютной IDE (редактором кода, способным запускать компилятор линкер и проэкт собсна), разберись с терминами компиляция-линковка (блин у меня много пробем с эти было - ктож мне обьяснит что сборка кода может быть не только в бинарник, а даже если в него то это нужно настроить ибо подсистем аж целых н-штук), а вообще сначала выучи паскаль или Си, легче будет, да и прямой доступ к процу через асм-вставки можно делать.
паскаль или Си = мёрд компиляция-линковка = техническое обеспечение, к асму отношения не имеет а чел хочит изучить асм мусолить интелловские талмуды? извините. но ваши советы навсегда отобьют желание програмировать даже у гения
Шо таки пан имел ввиду. Вот это у меня и вызвало трудности при изучении асма, я никак с инструментом разобратся не мог, был без айдие как без рук, хотя когда я понял как копилить "голым" ml уменя произошол такой разрыв шаблона (того шаблона по которым айдиюхи создают заготовку проекта) что я даже понял что стал на одну ступень ближе к дзену.
А почему начинать учиться программированию с ассемблера — плохо? Как раз, я считаю, что это потом очень поможет. Физику мы начинаем изучать в школе с кинематики, а не с ядерной физики... Или неудачная аналогия? Psionic, посоветуй IDE, пожалуйста. RadAsm, Fresh, еще что-то? Меня оттолкнуло в первый раз отсутствие внятности — Калашников предлагает то ли DOS установить, то ли из-под FAR'а все делать. Теперь сразу же, пропустив эти шаги, перешел на win, это хорошо или это пло? Blackbeam, ассемблирование и линковка имеют отношение к обучению ассемблеру, точнее, к трудности такого обучения.
Azatique Я юзаю WinAsm+masm, еще довольно неплоха chrome IDE, еще есть UE studio (IDE универсальная, есть и ассемблер, но не пользовался), а то что сразу на виндовс перешел это хорошо, вконце концов мы пишем проги под те оси которыми пользуются, а не под те о кодинге под которые книги пишут.
Psionic, скачал WinAsm и masm32, распаковал-установил, прописал в первом пути ко второму, набил первый исходник (http://wasm.ru/article.php?article=1022004, у меня с ним и так проблемы были, об этом в соседней теме), сохраняю файл, а пункт «Ассемблировать» (да, я его русифицировал) остается неактивным. Почему такое может быть?
Psionic, я теперь понял, что надо было создать проект в нем. Теперь пытаюсь понять, почему хеллоуворд не выводится на экран... Скажи, что все будет хорошо
Код (Text): ;Сырец 1. Минимальное приложение на Assembler'e (minimal.asm) .386 .model flat,stdcall includelib kernel32.lib ExitProcess PROTO :DWORD .code WinMain PROC ;... push 0 call ExitProcess WinMain ENDP end WinMain - ты это набрал? Так тута ничего рисоватся и не будет.
Psionic, нет, я уже следующий урок пытаюсь освоить - с хеллоуворлдом. Ладно, разберусь как-нибудь, завтра, может... Голова вообще не соображает.
juget00 ты знаешь другие языки программирования или асм будет твой первый язык ??? 12 лет это значит что ты в пятом-шестом классе ??? мое мнение что тебе будет тяжеловато писать что либо самому мой совет скачай и поставь масм32, попроси брата или кого там помочь тебе его настроить возьми примеры и попробуй их пособирать процесс сборки представляет собой последовательность шагов которую следует строго соблюдать - перестановка шагов местами будет фатальна для результата на каждом шаге ты вызываешь одну из консольных утилит если все прошло успешно ты получаешь результат, если нет то список ошибок и брак программирование тесно связано с умением вычислять значения любых выражений из чисел, округлять и прочее более того ты скорее всего только в начале пути изучения чисел, для изучения асма ты должен уметь ими свободно вертеть
Azatique считать научился ??? с алгеброй и геометрией познакомился ??? тогда добро пожаловать в теорию чисел и информации - это только для того чтоб понять как считать с помощью процессора(двоичная и шестнадцатеричная система счисления, формула хартли) потом познакомтесь с основными алгоритмическими структурами ифзенелсами всякими и циклами, подпрограммами и все это в ассемблере с вагоном деталей, которые если вы вообще до этого небыли знакомы с программированием, заварят в вашей голове непроходимую кашу изучать ассемблер стоит после того как на бейсике осилите простенькие программы писать, реагирующие на нажатие клавиш хотябы перемещением буквы на экране