асм под дос или сразу асм win32?

Тема в разделе "WASM.BEGINNERS", создана пользователем skua, 15 май 2009.

  1. skua

    skua New Member

    Публикаций:
    0
    Регистрация:
    14 май 2009
    Сообщения:
    4
    Здраствуйте, у меня цель выучить асм для разработки win32 приложений. Вопрос: стоит ли начать с 16 бит асма для дос или же сразу изучать асм32. Пожалуйста аргументируйте. Буду благодарен.
     
  2. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.914
    [​IMG] Особенно порадовала просьба аргументировать, может быть автору еще и статистику о сабже подобрать или диссертацию написать, чтобы ТС наконец таки решил "Какая же у него цель?"
     
  3. skua

    skua New Member

    Публикаций:
    0
    Регистрация:
    14 май 2009
    Сообщения:
    4
    цель я вроде бе ясно изложыл, если по теме нечего сказать то зачем вообще писать? непонимаю.
     
  4. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    skua
    Не кипятись ;)
    Встречный вопрос: для того чтобы научиться управлять автомобилем стоит ли начать из далека-далека: запрягать лошадь, управлять телегой и т.п. ? Аргументированный ответ - нет, т.к. вместо того, чтобы давить на газ или тормоз будешь по привычке орать "но, пошла, родимая!" или "тпр-у-у" и с остервенением тянуть руль на себя :lol:
     
  5. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    А я бы сказал, что необходимо начать с 16-битного ассемблера. Чтобы потом не задавать вопросов "что такое командная строка", и "я что-то запустил, у меня чего-то быстро выскочило и исчезло и я вообще не понимаю как чем пользоваться". Все-таки, виндовс ведет к отуплению как программиста, так и пользователя.
     
  6. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.914
    FatMoon
    Аргументируй :)
     
  7. skua

    skua New Member

    Публикаций:
    0
    Регистрация:
    14 май 2009
    Сообщения:
    4
    ладно спасибо, изучим оба))
     
  8. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    -1
    что уж и ведёт к отуплению как программиста, так и пользователя -- так это йава...
     
  9. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    FatMoon
    Ерунду не говори ;)
    Умение управлять лошадью никаким (положительным) образом не сказывается на умении управлять автомобилем или самолетом. А не знать всех тонкостей\хитростей устройства своего "железного коня" могут не только тупые блондинки, но и классные шумахеры или русские витязи. А копаться в потрохах - дело механиков, профессионалов или любителей. Одним словом - "лишь было бы желание, придет к тебе и знание" (С)

    skua
    Вольному воля. Надеюсь после освоения дос-а ты не будешь удивляться почему в выне int 21h и т.п. не работают - как говориться "забудьте все, чему вас учили в школе" ;)
     
  10. Emek

    Emek New Member

    Публикаций:
    0
    Регистрация:
    26 янв 2009
    Сообщения:
    225
    Ты прав, стоит начать программировать,а не языком по форуму...

    По теме - IA64 ж)
     
  11. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    Знания принципов работы парового двигателя, двигателя внутреннего сгорания и дизеля в принципе не помешают даже конструктору реактивного самолета. Категорически против "управлять" - программист не управляет, управляет юзер. Юзеру до лампочки ДОС, совершенно согласен. Неудачная аналогия с лошадью - умение программировать в 16-битном, 32-х битном и 64-битном окружениях - это как раз эволюция паровая машина - внутреннее сгорание - реактивный двигатель :))) Внутри у них одни и те же принципы, что котел, что цилиндр, что турбина - есть (некий объем) в котором (сгорает топливо) превращается энергия из одного вида в другой. Можно в общем виде посчитать КПД, термодинамические характеристики, и так далее, используя "двигатель вообще". Конструктору - глубокие теоретические знания (о даже не используемых в настоящее время предыдущих моделях) пригодятся.
     
  12. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    Какой необычный холливар:)
     
  13. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Выучи просто asm, тогда не будет необходимости делить его на asm16 и asm32. Учиться писать под DOS смысла особого нет. В крайнем случае 16-разрядный код можешь компилировать в com-файлы и использовать в нем только функции BIOS. Основной упор лучше сразу сделать на разработке приложений под win32.
     
  14. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    FatMoon
    Вот именно, что теоретические. Для того чтобы знать\представлять основы совершенно не обязательно досконально изучать и своими ручками разбирать\собирать по винтику реликтовый паровоз. Достаточно прочитать учебник или даже толковую научно-популярную книжку.
    Здесь же речь идет о совершенно конкретных вещах - "выучить асм для разработки win32 приложений" и для этого совершенно не обязательно засорять голову конкретными и многочисленными частностями программирования под дос - точно также, как и под линукс, IA-64 (Itanium) или еще какой-нить экзотики типа микроконтроллеров или специфических реликтовых ЭВМ. Причем речь не идет о том, что знание асма под дос вообще не нужно - в жизни все может пригодиться. Но для освоения программирования под вин32 это знание не нужно, многие без него прекрасно обходятся (и я в том числе) и не чувствуют себя тупыми, ущербными и обездоленными ;)
     
  15. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    я в целом не настаиваю, что доскональное изучение программирования под 16-разрядную ДОС или даже без нее - НЕОБХОДИМО. Но просто ради эксперимента, "хелловорлд" собрать хоть раз надо, без ИДЕ, через командную строку, для 16-битной системы. Не переубедите =)

    И совсем неплохо, если кто-то пытается int 21h вызвать под виндой - это стимул к постижению. А вот когда спрашивают, как что-то скомпилировать, потому что окошка с кнопками и меню нема, а командной строки ни разу не видели - это как-то неприятно. Это во-первых. Во-вторых, формулировка вопроса - "выучить асм", а не "выучить особенности операционной системы". "Выучить асм" можно хоть в дос, хоть на Спектруме. Суть в наборе команд, регистрах, способах адресации и в целом все. Выучить асм можно и на Кнутовской выдуманной машине, хотя она вообще не существует. Однако, читать Кнута мы порекомендуем однозначно, правда?
    Извините, но вызов АПИ-функций и логика винды (для того, чтобы сделать что-то с помощью АПИ-функции А, надо сперва инициализировать с помощью функций В и С некий объект, создать с помощью функции Д его экземпляр и сохранить указатель...) - это не ассемблер совершенно. Хотя это безусловно придется узнать, "для разработки win32 приложений".
     
  16. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    В принципе кодинг под дос полезен разве что навыками работы с командной строкой, Norton Commander и достаточно простым реальным режимом (если пишете системные проги всякие). Большинство понятий, как, например, TSR, никогда больше не пригодятся. Но все же я советую начинать именно с этого.
    По крайней мере, я начинал (я знаю, что это плохой аргумент) с Borland C++ 3 (все помнят?:)) и ничуть не жалею. А потом еще был и чудесный ассемблер a86, о котором остались очень теплые воспоминания :)

    Оно нужно еще и для того, чтобы под голый защищенный режим потом проще кодить было. Чтобы не пугаться словам "прерывание" и "таймер".

    Так что, если вы не собираетесь писать загрузчиков (аля grub), операционок, не собираетесь писать под консоль в винде, тогда вам нечего делать и в досе. Начинайте с красивых гуйных программок с окошками, менюшками и прочими красивостями и не забивайте голову тем, как что работает внутри.
     
  17. c4m310t

    c4m310t New Member

    Публикаций:
    0
    Регистрация:
    19 дек 2008
    Сообщения:
    237
    skua
    А какого плана приложения планируете разрабатывать ?
     
  18. skua

    skua New Member

    Публикаций:
    0
    Регистрация:
    14 май 2009
    Сообщения:
    4
    Сообствено хочеться ознакомится с низкоуровневым программированием дабы познать истину устройства микропроцесора. Просто я даже незнал с чего легче начать - тоесть с архитектурой по легче IA-16 или сразу IA-32 будет не так сложно врубиться. Ну и есть интерес разробатовать дополнительные приложения под движки написаные на с++.
     
  19. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    В принципе, думается мне, некоторый смысл в том, чтобы начать с debug.exe и ассемблера под дос есть - чтобы разобраться, что есть на самом деле прерывания, обращение к операционке, итп. Но увлекаться не стоит, пару com'ов написать - и переходить к икзелиону.
     
  20. c4m310t

    c4m310t New Member

    Публикаций:
    0
    Регистрация:
    19 дек 2008
    Сообщения:
    237
    skua
    Как написал Squash, прочтите на сайте wasm.ru раздел "Низкоуровневое программирование для дZенствующих".
    Еще рассылку Калашникова почитайте...
    Ну а потом уже прочтите Юрова "Assembler. Учебник для ВУЗов".
    Думаю, база будет =)