|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.06.2020, 22:51 | #11 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
Если принять, что ВУЗ готовит не крутых спецов по взлому, а с базовым не твёрдым знанием ассемблера, то нормальное изучение программирования под DOS имеет преимущество.
Довод в защиту изучения DOS - дальнейшее изучение микроконтроллеров. Это из-за наглядности. Но в DOS нужно изучать прерывания и работу с портами ввода-вывода, протоколы обмена. Тогда это осмысленно. Для разработчика ассемблер x86-32 и x86-64 в Windows и Linux ничего ценного не добавляет по сравнению со средствами C/C++/Delphi - ОС никуда не пускает. А уровень подготовки по ассемблеру - читаю, но не пишу - не позволит студенту понять разницу. В подобном случае изучение DOS оправдано. Специалисты по АСУ ТП дальше будут изучать ПЛК и ПР с языками, похожими на Pascal и ассемблер. Т.е. представления об ассемблере пригодятся. Именно общие представления. Минусы для DOS - несерьёзное отношение к древней ОС, проблемы с настройкой рабочей среды. Т.е. первичен вопрос - зачем учить ассемблер на данном курсе? И из него - выбор ОС и прочего. |
15.06.2020, 04:47 | #12 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
В информации должна быть какая-то практическая ценность. Если тебя интересуют контролёры, то и изучать нужно сразу контролёры, а не пробираться к ним через Попенгаген. Пользы от доса - ноль.. Ну есть у тебя возможность записывать в порты х86.. что и когда ты (в наше время) собираешься в них писать? ..где сама ОС? Изучать, чтобы на своей кухне радоваться своим достижениям?
Ассемблер под виндой имеет намного больше возможностей, чем та-же сишка/дельфи. Но если ты всю/свою сознательную жизнь потратишь на изучение трупа-дос, то можешь и не узнать никогда об этом. Мозги студентов и так "защищены от записи", а в вузах в них насильно пытаются запихать ещё и мусор. Закончив вуз и столкнувшись с реальной жизнью студент обнаруживает, что всё-чему его обучали столько лет, на самом деле уже давно нет.. нужно изучать уже совсем другое.. Вперёд надо двигаться, а не назад идти..
Нашедшего выход - затаптывают первым..
|
15.06.2020, 08:55 | #13 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
Главный вопрос - с какой целью (перспективой) преподавать ассемблер?
Ассемблер в Windows и Linux не даёт никаких преимуществ перед C. Все его действия ограничены узким пространством сегмента данных, а всё что расположено дальше - только через WinAPI. Возможна мелкая оптимизация - после оптимизации алгоритма. Изучение системы ОС, построение программы - удобнее через C - тексты демонстрационных исходников короче. Таким образом, изучение ассемблера под Windows и Linux ограничится перечнем инструкций, организацией подпрограмм, раздельной компиляцией и взаимодействием с программой на C/Delphi. Т.е. обзорное изучение. Если ассемблер изучается для первой ступени хакерства - на других предметах будет изучение методов взлома при помощи декомпилятора и отладчика - то тут требуется ассемблер для Windows и Linux, а никакой не DOS. Если просто заполнение часов студенту - для общего развития наряду с философией и культурологией - то без разницы какой ассемблер учить - "лишь бы занять" - и всё равно это полезно для мозга. Программирование в DOS можно дополнить изучением работы по прерываниям (клавиатура, мышь, обмен через COM-порт). По сравнению с микроконтроллерами - всё наглядно видно на мониторе, в отладчике. Но программирование в DOS сопровождается проблемами: 1. психологические - "нам вообще ассемблер не нужен, а тем более под DOS" 2. трудно организовать рабочее пространство - его и в Windows/Linux непросто (непривычно - без IDE) организовать 3. и да - от студента требуется больше читать - не только по инструкциям, но и по "железу". Т.е. цель подбирает инструмент. |
15.06.2020, 14:12 | #14 | |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
Цитата:
В защищённом режиме сила асма в том, что он умеет работать с регистрами напрямую. Именно поэтому где сишка спотыкается, он подставляет ей своё плечо в виде вставок. А секция-данных здесь на последнем месте, если вообще имеет место быть.
Нашедшего выход - затаптывают первым..
|
|
15.06.2020, 18:51 | #15 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
|
15.06.2020, 22:51 | #16 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
умник... мания величия у тебя, если ты сам-себя называешь на вы
копаешься в дерме мамонта? ну и продолжай.. имеешь право.
Нашедшего выход - затаптывают первым..
|
16.06.2020, 00:31 | #17 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
Нет, не мания величия. Это слегка изменённая фраза из "Прекрасной Елены" Оффенбаха.
Я пытаюсь пояснить аргументы за изучение DOS, а в ответ лапидарная и сильнейшая аргументация Вот с горечью и вспомнил оперетту. Видимо, вы не способны к обсуждению. Как и прежде - нужно или подпевать вам или вы будете через колено ломать несогласных - других мнений быть не должно. |
16.06.2020, 19:22 | #18 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
ты не тот человек,
в тебя школа напихала лайков, и ты потерялся
Нашедшего выход - затаптывают первым..
|
22.06.2020, 00:09 | #19 |
Регистрация: 02.04.2020
Сообщений: 5
|
R71MT, Насколько сильно отличается программирование под DOS и программирование под BIOS? От программирования контроллеров отличается сильно, соглашусь. Но ведь здесь схемы очень похожие (на мой взгляд). С точки зрения реализации уроков - проще всего организовать урок программирования на ассемблере как раз под DOS, а не под тот же Windows (за который нужно платить) и не под Linux (который не всякий преподаватель или обслуживающий персонал сможет поставить), я уже не говорю о том, что в СНГ действуют тайные инструкции, которые запрещают определённые виды даже бесплатного программного обеспечения, распространяемые по определённым видам лицензий. Конечно, не хочется перечислять здесь все плюсы устаревшей операционки в бюрократическом подтексте и в удобстве для работы (даже если установлена другая ОС есть DosBox), по этому перейду к следующему пункту - а именно удобство программирования. Согласитесь, что в Win чуточку сложнее писать, чем в DOS. Студенту нужно знать WinApi функции, чтобы просто вывести "Hello, world!". А к ним прибавляются разные вещи, связанные с импортом функций из библиотек, макросы и в них уже реализации высокоуровневых функций. И здесь начинаются проблемы, так как в разных ВУЗах ситуация разная. Где-то дают диалект на выбор студента, а где-то на выбор преподавателя. И уже код под Windows становится труднопереносимым между разными компиляторами. Такой проблемы в программировании DOS (или BIOS) нет. Поправьте меня, если я что-то упустил или где не прав.
Я Вас понимаю, но здесь ещё играет роль незаинтересованность самих преподавателей в изучении данного вопроса. Среди них нет специалистов, чтобы ответить на все вопросы студентов, они не будут изучать новые операционки, которые появляются довольно часто, по этому они продолжают пользоваться методичками с прошлого века. Мне даже кажется, что заставить писать под DOS - это пропаганда якобы "новых" технологий. Подсознательно, студент чувствует что это что-то старое и ненужное, по этому он этим "в жизни" пользоваться не будет. Вы знаете современное программное обеспечение. Казалось бы, тот же Мастдай - очень большая и одна из самых капитализированных и богатых корпораций, но до сих пор не могут исправить простое перетаскивание табличек из одного места документа в другой. В больших корпорациях специально создают ошибки в работе своего же продукта, чтобы зарабатывать на тех.обслуживании и чтобы отчитываться перед пользователями что они что-то исправили в обновлении, дабы никто не думал, что продукт "застоялся". И это не обязательно будет встречаться в массовом продукте. При разработке тех же языков программирования, драйверов и прочих вещей - такие вещи так же закладываются. Вы заметили, что слишком часто обновляются стандарты программирования ? Каждый год появляются какие-то вымышленные паттерны ООП, которые чаще всего утяжеляют готовый продукт и заставляют работать людей по непонятным им правилам. И ведь представьте, если бы знаменитый полёт на Луну состоялся не 50 лет назад а только сейчас? Представьте, написанный на ассемблере код на протяжении нескольких недель работал как часы, без всяких сбоев. И это при том, что технологии интегральных схем на кристалле тоже считались только появившимися. Современная индустрия способна создать такой же по надёжный код как тогда ? Нет конечно! А современная система обучения только отпугивает юные умы. |
24.06.2020, 20:34 | #20 |
Участник клуба
Регистрация: 30.07.2008
Сообщений: 1,604
|
Зная ассемблер, можно восстанавливать исходный код из машинных кодов, осуществлять обратное проектирование, чтобы понять, как работает программа, проверять программы на безопасность, на наличие скрытых, недокументированных возможностей. Из работодателей - Kaspersky Lab (анализ вирусов), DrWeb(анализ вирусов), спецслужбы(анализ ядра операционной системы, анализ драйверов и железа на наличие закладок и намеренно заложенных багов) и т.д.
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
Последний раз редактировалось challengerr; 24.06.2020 в 20:39. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ассемблер. Ввести с клавиатуры массив из 7 целых чисел, найти и вывести на эк- ран сумму тех элементов массива, которые при делении на 5 дают в остатке 1 или 3 | kosplay321 | Помощь студентам | 5 | 11.01.2018 20:53 |
Ввод чисел с клавиатуры в Java. | Faridik | Помощь студентам | 3 | 09.09.2014 19:00 |
Программа для ввода строковых данных с клавиатуры. Запретить ввод пробела в строку (Ассемблер) | Victor Babin | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 4 | 05.12.2012 09:38 |
Ввод с клавиатуры целых десятичных чисел | Илья555 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 26.04.2011 09:12 |
Ввод чисел с клавиатуры | SAVIK | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 19 | 26.05.2008 12:54 |