тут темка была...обширная. В любом случае все сведется к masm+fasm. За второй - хэккиры, за первый - программисты. НО поскольку на асме никто не пишет проекты, хэккиров,ес-но, больше всегда в спорах. И поэтому всегда все советуют фасм. Такая вот ситуация.
Товарищи мы не претендуем на полную истину, у каждого она своя. И это правильно, пусть каждый найдет свою нишу и будет востребован как специалист! Согласен абсолютно, пляшем от задачи. Студент он как росток, куда направишь, то и получишь. Всем спасибо, если что извините.
Хе-Хе. Сейчас не навязывают а дают выбор. Хотя у меня было все. Си, АСМ, С#, Матлаб, паскаль и дельфи и тд. АСМ он был неизменен до появления x64. Отсюда и сохранение инструмента. Хотя то что дают в вузе на Системном программировании шибко устарело. Теорию преподают редко, а практика она изменилась.
tex32 Прежде чем обзывать "ботанами" перечитай свой топик #1 там у тебя даже конкретного вопроса нет. Tasm и Masm совместимы между собой, так что у студентов проблем не должно быть. В конце концов и там и там поддерживаются макросы и можно написать любое извращение. Проблема в том что нет языка "Ассемблер" и об этом на первой лекции и нужно сказать студентам. Язык ассемблера — это не какой-то один конкретный язык программирования, а целый класс языков. Каждый микропроцессор имеет свой собственный машинный код и, следовательно, собственный язык ассемблера (разрабатываемый изготовителем микропроцессора). Языки ассемблер для микропроцессоров x86 поддерживают два синтаксиса Intel и AT&T. Под Intel-синтаксис разработаны следующие ассемблеры: MASM, MASM32 (фирма Microsoft Corporation), BASM, TASM (фирма Borland Inc), ASM-86 (фирма Intel Corporation), FASM (flat assembler), LZASM (lazy assembler), WASM (фирма Watcom), HLASM, HLA (фирма IBM), NASM (Netwide assembler), YASM (Питер Джонсон и Майкл Ерман), RosAsm (ReactOS), GoAsm и т.д. Синтаксис AT&T используют AS (UNIX assembler) и GAS (GNU assembler). Все вышеперечисленные ассемблеры включают стандартные мнемонические команды, в том числе команды FPU, 3DNow!, SSE и т.д. Несмотря на имеющиеся различия между этими ассемблерами, их структуры и форматы команд языков в значительной мере совместимы.
Ну и в чем дело? Возьми и переломи ситуацию. Учи самому- самому-новому. Только не забудь об одном правиле: прежде чем ставить эксперименты на огромной массе студентов, попробуй вначале хотя бы на собаках . Оформи курс своих лекций в виде методичек и издай их хотя бы в виде электронного документа. Даже если никто не будет мешать, а только помогать пройдет минимум полгода и твой самый-самый новый материал устареет. Хорошо, обучил самой новой технологии программирования студентов на первом курсе, а к пятому курсу, все что ты им дал, устареет уже на пять лет, а придут они на производство -- там вообще такая технология не применяется, а применяется нечто совсем другое. Поэтому начинающих программистам ничего кроме гибкого ума преподаватель дать и не может, бывший студент должен уметь сам приспособится к окружающим условиям, уметь обучаться самому, именно этому его и пытаются научить в университете
Mikl___ разводки плат в производство до сих пор в формате п-кад 4.5 хотят. и вообще, производство, особенно массовое, это не та штука, где за модными новшествами погоняешся. пока не обкатают, не проверят со всех сторон 100000 раз, пока не докажут, что новшество это настолько выгодно, что прибыль в небольшие сроки еще и окупит затраты на внедрение и даст доходу достаточно, чтоб окупить возможные риски, никто рисковать деньгами, особенно деньгами солидными, не будет
Pavia согласен, проблема в том, что преподают исходя или базируясь на старом, не говоря, что уже все иначе. Просто есть курс, и его читают, не вдаваясь в особенности или даже не комментируют сегодняшнее положение дел. Mikl___ мы вроде уже как пришли к мировой, но если есть желание можем поговорить. "Ботаны" - это с горяча, без намека на умственную составляющую, а на "сухость" и "пресность" ответов. Вот так. Очень хороший ответ и самое главное развернутый, с данным ответом частично согласен и информация давно известна. Только вопрос из №1 был в не сравнении Tasm и Masm, а в том что будет базой инструмента для студента. Выпуск своих фолиантов мудрости, так до этого надо еще дорасти. Например, нам преподаватель рассказывал, далеко за пределы утвержденные МинОбр. И этим я горд, что не нужно иметь желания издать свою книгу, а делать дело.
tex32 вам же сразу ответили. асм - не база для среднего студента. никакой асм. асм нужен некоторым. обычно фрикам или желающим разобраться в том как все это функционирует до болтов. те для маньяков механиков, а не для обычных водителей, а тем более шумехеров, коими желают стать все студенты. против асма все приводят 2 замечания. и они совершенно справедливы. 1) писать на асме гораздо сложнее и дольше 2) возможность допустить ошибку более чем большая потому новичкам-студентам дают только обзорный курс без углубления. система тут не так важна. можно давать и под дос. я б дававал под п9, тк там ио и работа с всякими устройствами куда как проще. и каждый раз обязательно предостерегают, что программировать на асме им не стоит. почему? потому что ошибок за средним халтурщиком не понаисправляешся, а фрика/хакера (имеется в виду человека не могущего остановиться пока не разведает почему и как) никакие нерекомендации все равно не остановят. а других (и больше. нафига себе конкурентов строгать?) на низком уровне и ненадо, чтоб толпились и пальцы гнули
qqwe я не согласен: "Что асм не нужен всем", Всем - это специальности по программированию? Ваша аналогия похоже на это: "Давайте сейчас будем преподавать Историю партии и устав КПСС." Студенту нужна реалия, даже по асму, чтобы он осознавал, что есть компьютер. ДОС это круто, микропроцессоры - круто, но уже хватит быть в хвосте от всего мира по вопросам компьютерных технологий. Прочитайте информацию про Глушкова В.М., великого человека хотевшего создать и создававшего чудо компьютерной мысли. Идеи и реализации могли сделать нашу страну передовым звеном в области ЭВМ. Только были те, кто считал, что рядовому это не нужно, наше место "копирайт". Вот, что губит умы. Не нужно думать, что студент тупой и асм ему не нужен. Нужен!
tex32 Если от вас что-то зависит, то да, Linux это сегодняшний день, в отличие от УГ Дос. Синтаксис ассемблера можно выбирать по вкусу, хотя это не так и важно.
имхо, сейчас ДОС не нужен. Он не дает представления о защищенном режиме, а от понимания реально режима - толку мало. Для программистов, которые не будут писать нативный код - асм не нужен вообще. Для программистов, и которые будут писать кроссплатформенный код - асм не нужен. В целом, нативный платформозависимый код плавно исчезает. И для основной массы программистов - знание асма - это может и интересное, но совершенно бесполезное знание. Студент может быть сколько угодно умным, но ему просто это незачем знать. Только для общего развития разве что. -------------- По сабжевому вопросу - FASM. Он гораздо проще и интереснее для изучения асма, и многих аспектов ОС Одна возможность ручной сборки PE файлов чего стоит. Изучая масм - с такими вещами не столкнешся, там компиляция в .obj и линковка "непонятно-как-работающим" линкером. А на фасме можно самому посмотреть как собирается .exe. И уж точно не мертвый тасм.
Студенту может и нужен, а работодателям нет =) Никто не пишет гуй на ассемблере, и сокеты сетевые тоже на ассемблере не реализуют, и... "С" уже начинает сдавать во всех областях, кроме системного программирования. ДА и там...С его системой управления памятью и прочей Ж... python,java..рулят. Сейчас я Вам открою секрет. Но только никому не рассказывайте. Компьютер придумали для того, чтобы автоматизировать труд людей. И чем человек за ним меньше проводит времени - тем лучше. Поэтому фреймворки рулят. Нет, если человеку нравится несколько дней писать простой код на асме, а потом еще столько же отлаживать, а потом переносить каждый раз....То пусть ковыряется..дома...На работе такие нафиг не нужны. (Ну кроме экзотики). Уже никого не парит сколько байт можно съэкономить 2 или 3. Вот что губит умы. Изучение нафиг никому не нужных вещей. Но нам-то лучше, чем больше гуанокода с переполнением в каждом вводе - тем лучше. Уже малварь на С пишут давно...А на асме, так, хэкиры, или фанатики, или школота, начитавшаяся и запудрившая себе мозг книгами господина...ну не важно. Тут Вам объяснят, что Асм это рулез...Но понимаете, тут секта. Тут вступили многие и компелируют, а в линуксе черная консоль - это по хэкерски, а сплоеты на перле не компелируют, как связаться с зомбой?. Зайдите не на хакерские форумы,а на вфорумы программистов? винград? rsdn и т.д. Спросите про асм =) Ага. Предствавил себе сейчас русский мобильный телефон, русский электрический чайник, русский утюг...а потом представил компьютер..До слез...
Попробую ответить всем. Мне нравиться пример медиков. В мед. институте, учёба для всех одинакова, только на старших курсах идет специализация, а затем интернатура. Но все медики с первого курса были в морге и знают, что такое человек. Чем компьютер хуже? Ассемблер - не панацея от всех бед, это понимание архитектуры PC. Разве может человек понимающий основы асма писать плохой код? Плохой код - это результат не понимания принципов архитектуры РС и тех условий в которых программа (даже не асмовая) будет работать. Linux пришёл не из пустого места, он занял свою нишу, нишу асма вытеснить полностью не возможно. Если асм умирает, значит нужно другая база, чтобы объяснить что есть архитектура РС в понимании кода. Спасибо за ваши мнения. пс. wh не стоит иронизировать, Калаш прошёл, а ЭВМ увы нет!
wh У вас классические не далёкие взгляды. На не хэккерских форумах мы видим уг(имхо). На кульных "хэккерсхих" форумах решаются не стандартные задачи, это касается и васма. К примеру благодаря мемберам кряклаба вы юзаете под винь бесплатный софт. Блягодаря мемберам винграда к примеру мы юзаем платный, кривой, глючащий софт. А вири нормальные на си не пишут. Приличные пермутаторы только на асме реализуются. Форумов где тусуется "батва" куча, если нравится идите туда, обсуждайте как полигоны отрисовывать или скрипты собирать.. На данном форуме рулит системный коденг. Русские тельфоны и пр. - дайте средств на закупку оборудования для создания аппаратной части, а програмную русские напишут и напишут лучше чем китайцы.
Клерк, а я ничего не юзаю. Я дебиан юзаю. И что там на кряклабе мне все равно, соответственно. Больше сказать нечего Вам. Компилируйте =) Без Вас у нас не будет работы, вы нам практически платите ж)
tex32 >Linux пришёл не из пустого места, он занял свою нишу, нишу асма вытеснить полностью не возможно. Для чего вам асм? Чтобы программировать прерывания Дос? Ассемблер это синтаксис, его можно учить без прерываний Дос и в Linux это возможно.
программисту который пишет кроссплатформенный код, не надо знать архитектуру ПК и условия в которых программа будет работать. он пишет код который будет работать почти везде, и при этом работать хорошо. Если я пишу на питоне, мне совсем не надо знать асм. Если мне в питоне надо быстродействие для вычислительных задач - я юзаю библиотеку NumPy которая написана на С, и про которую я знаю что она обеспечивает это быстродействие. А если надо написать свой модуль на С\С++ -то опять же, качественную либу надо будет писать кроссплатформенно, не привязываясь к конкретной архитектуре. А если вдруг надо написать низкоуровневый платформозависимый код - то да, тут хорошо бы знать асм. Но в реальности ваши студенты с такой ситуацией не столкнутся. А если столкнутся - если они настоящие инженеры - они возьмут справочник, разберутся в проблеме и напишут этот код.
Blackbeam, типа: Код (Text): xor_eax_eax{ return FALSE; } ЗЫ с синтаксисом незнаком, если что ))) сложнее будет типа: Код (Text): xor ebp, ebp в коде ))).