|
4 / 3 / 0
Регистрация: 03.05.2009
Сообщений: 82
|
|
До слез Хочу научится Ассемблеру!!!03.05.2009, 19:25. Показов 48661. Ответов 112
Метки нет (Все метки)
Хочу научится Ассемблеру!!! С чего начать? Пока читаю Калашникова но не умею работать на МАСМе там всё на английском. Есть ли русская версия или руссификатор?
Английский у меня не очень... у калашникова говорится что надо умет шарит на DOS и на Нортоне а где взять их Я все учебники самоучители скачала со всех библиотек в интернете но пока о нортоне ничего не нашла кроме как на Википедии Прошу помоч разобратся.
0
|
|
| 03.05.2009, 19:25 | |
|
Ответы с готовыми решениями:
112
Хочу научится программированию Хочу научится программировать Хочу научится веб дизайну |
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 19.07.2009, 02:20 | |
|
Evg, ясно
Есть хорошая фраза: можно изучить язык программирования за 3 дня, а научиться на нем программировать только за 3 года.
2
|
|
|
Anthony
|
|
| 19.07.2009, 09:11 | |
|
Sayfera русскому языку для начала научись.
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 19.07.2009, 14:55 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Сообщение было отмечено как решение
Решение
**
Добавлено через 2 часа 2 минуты 58 секунд Попробую ещё раз разложить всё по полочкам и изложить доступно. ======================================== ================ Для начала касаемо тех, кто "выучил ассемблер". За народной мудростью в этом отношении ходить далеко не надо - оно чуть выше: Одного "знания ассемблера" явно недостаточно в тех случаях, когда программирование на ассемблере является объективной необходимостью. В качестве примера хочется привести эту тему. Не для того, чтобы похвастаться, а для того, чтобы продемоснтировать выше сказанное на конкретном примере. Автор "знал ассемблер", но я сильно подозреваю, что общий принцип был почерпан из книги или лекций. Т.е. проблема автора была в том, что у него не было чёткого представления, как на самом деле работает машина. Ну и сказывалась нехватка опыта в отладке программ. Это скорее дополнительная демонстрация к этой теме, потому как для планировщика задач мы имели задачу, которую впринципе нельзя запустить из-под отладчика. С моей же стороны было практически нулевое знание интеловского ассемблера, практически нулевые знания того, как всё это дело работает под DOS'ом. Но у меня имелись общие знания того, как устроен процесс переключения задач в операционных системах. И эти знания оказались более важными. В итоге я целую неделю добивался от товарища, чтобы он мне рассказал, что и как у него делается. Так много времени было потрачено потому, что у человека кроме "знаний ассемблера" особенно ничего и не было, а потому на конкретно поставленные вопросы он не мог дать внятные ответы. Мои вопросы прежде всего касались "знаний ассемблера" (коих у меня не было) и знаний, как это работает конкретно под DOS'ом. После чего я поратил 2 часа на то, чтобы всё это повторить и запустить самому, и ещё 2 часа, чтобы научиться делать отладочную печать и в итоге выяснить причину ошибки Просо ещё раз хотелось бы подчеркнуть - "знать ассемблер" и уметь писать на нём простенькие программы (кторые более разумно писать на языке) ещё не делает вас специалистом в этой области. И уж совершенно точно не надо рекомендовать новичкам изучать программирование с ассембелра, потому как со стороны такие предложения выглядят как чистапацанские дешовые понты ======================================== ================ Теперь вернёмся к нашему примеру hello world. Для того, чтобы сделать это более понятным, обратимся сначала к примеру из поста 83 для real-mode x86
Далее будуть работать для кода под линукс, потому как там я хоть знаю, как всё это скомпилить за запустить. Код, аналогичный DOS'овскому, под линукс выглядит следующим образом. Вот оригинал, выдранный из поста 87
======================================== ================ Теперь попытаюсь объяснить, как можно сделать то же самое, но работая на Си с использованием ассемблерных вставок. Опять-таки всё это будет сделано в предположение использования компилятора gcc (в части синтаксиса ассемблерных втсавок), но при желании это переделывается под любой другой компилятор. При этом макроблоки с ассемблерными вставками формально будут находиться в отдельном файле (наподобие того, что при обычной работе библиотеки лежать где-то в стороне и мы их код не трогаем), а потому программист не заморачивается тем, что же там внутри написано, он просто использует эти макроблоки Полагаю, что все строки компиляции мы свалим в отдельный скрипт и каждый раз будем запускать этот скрипт. Запуск скрипта я буду опускать, чтобы было поменьше мусора
В своём оригинальном посте (пост 81) я всё это выносил в отдельный файл и строил на макросах, чтобы проще было добавлятьновые системные вызовы. Сейчас я всё свалю в один файл, и опишу реализацию макроблоков в таком виде, в каком они вылезут после раскрытия макросов - чтобы проще было понимать и перед глазами было меньше непонятных вещей
А в завершение можно просто продизассемблировать полученный исполняемый файл. Правда здесь дизассемблируется только фрагмент кода. Фрагмент данных оказываются в отдельном сегменте (с точки зрения формата elf) и потому в эту выдачу не попадают. Данные печатаются отдельным приказом
Попробуем вернуться к старому вопросу
В любом случае при снятии этих ограничений придётся писать дополнительный код хоть на ассемблере, хоть на языке, поэтому для демонстрации считаю эти ограничения допустимыми При вставлении кода на форум я намеренно "спрятал" внутренности файла "syscall.h", потому как мы считаем, что она уже кем-то написана, а мы её только используем. Точно так же, как этот кто-то реализовал нам системные библиотеки, а мы их используем при написании программы на языке. Ну и по поводу этого же syscall.h. Можешь заметить, что реализации процедур, осуществляющих системные вызовы, очень похожи друг на друга, с небольшими лишь отличиями. Именно поэтому в 81-м посте они были реализованы через макросы. Но такой вариант тебе пока малопонятен, а потому оставлю в виде кода syscall.h
======================================== ================ Какие плюсы при написании на Си:
Минусы при написании на Си:
======================================== ================ Вернёмся ещё раз к тому же вопросу Хочется ещё раз подчеркунть, что не надо зацикливаться на чём-то одном. Оптимальны вариант почти всегда заключается в разумной комбинации использования разных технологий и диктуется в первую очередь надёжностью и затрачиваемым временем на поддержку и развития программы, а не реальным временем её исполнеия. Понятно, что если один вариан в 5 раз геморройнее, но в 50 раз быстрее - надо брать геморройный вариант. Но если вариант на ассемблере работает в 2 раза быстрее, но требует в 10 раз больше времени на надёжную отладку, то такой вариант однозначно идёт лесом Добавлено через 11 минут 13 секунд Всю эту технологию можно повторять и под DOS и под Winddows. Только надо понять, как там ручками правильно запустить компилятор и как правильно поддержать ассемблерные вставки в файле syscall.h. Код программы при этом не меняется
14
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4 / 3 / 0
Регистрация: 03.05.2009
Сообщений: 82
|
|||
| 20.07.2009, 23:15 [ТС] | |||
|
Автору всё интересно она следит за Вашей дискуссией очень долго. Но жаль что откланились от заданных параметров для чайников и прониклись глубже. Я хотела что бы чайники войдя в эту тему обрели для себя начальные знания по асму как и я. Если можно давайте возвратимся к начальному этапу по асму а глубокое изучение будет через создание новых тем. Вед тема может вдохновить будуших профи... Вот что я для себя уяснила за прошедшее время отсутстствия на дискуссиях. По асму оказалось у меня куча книг пока не очень понятных и самая главная понятная книга для начинаюших это - Калашников "Ассемблер это просто" Скачайте эту книгу, установите себе на флешку Windows9x и все калашниковские проги будут там работать. Я хочу задать вопрос профайлам: объясните пожалуйста где можно найти таблицу цфровых значений команд асма например: mov - hex,b значения xor ... ret ... push ... может я что то пропустила? Добавлено через 10 минут 14 секунд Если Вы считаете себя профи русского языка то Вам здесь не место, тут обсуждаются вопросы по программированию на ассемблере!
0
|
|||
|
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
||
| 20.07.2009, 23:30 | ||
|
0
|
||
|
45 / 45 / 1
Регистрация: 23.05.2009
Сообщений: 92
|
||
| 01.08.2009, 01:33 | ||
1
|
||
|
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
|
|
| 01.08.2009, 01:41 | |
|
А вот из-за подобных мыслей у разработчиков, и тормозят элементарнейшие программы у пользователей, которые не хотят кормить топ менеджеров IT компаний.
0
|
|
|
|
||
| 03.08.2009, 21:06 | ||
|
0
|
||
|
MCSD: APP BUILDER
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
|
|
| 03.08.2009, 21:11 | |
|
Goodwin98,
А вот из-за подобных мыслей у разработчиков, и тормозят элементарнейшие программы у пользователей, которые не хотят кормить топ менеджеров IT компаний. Я открою тебе одну простую истину: ВРЕМЯ ПРОГРАММИСТОВ СТОИТ ДОРОЖЕ ЧЕМ КУПИТЬ МОЩНОЕ ЖЕЛЕЗО. И сейлсы это очень хорошо понимают.
1
|
|
|
nlp
|
|
| 09.08.2009, 05:17 | |
|
|
|
|
|
||
| 09.08.2009, 11:58 | ||
|
0
|
||
|
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
|
| 09.08.2009, 12:20 | |
|
Rififi, другое дело что софт они пишут для пользователей и не у всех железо может потянуть. Из-за чего многие пользователи отказываются от этого софта в пользу конкурента, с похожим ПО, но меньшими требованиями
0
|
|
|
0 / 0 / 0
Регистрация: 07.08.2009
Сообщений: 8
|
|
| 09.08.2009, 17:00 | |
|
А Sayfera - это реальный персонаж или чейто виртуал)?(колитесь блин)
Это ведь шутка)?
0
|
|
| 09.08.2009, 17:00 | |
|
Хочу научится писать парсеры. С чего начать? Хочу научится программировать но не знаю с чего начать Хочу научится программировать микроконтроллеры, но не знаю с чего начать Помогите научится!!!! Как научится ООПэшить? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет)
Содержание проекта
Симуляция вековой (50 лет) экологической сукцессии в почве леса
Основные участники: АМ-гриб, ЭКМ-гриб,. . .
|
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов
Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|