![]() |
eXeL@B —› Программирование —› изучать асм под винду или дос? |
Посл.ответ | Сообщение |
|
Создано: 12 апреля 2006 21:58 · Личное сообщение · #1 в прошлом году летом читал калаша про асм под дос, интересно пишет. потом занимался учебой( и сейчас правда тоже), сейчас думаю-начать(т.е. как бы продолжить) изучать асм для дос(по зубкову например) или для винды сразу? некая основа ведь у меня есть, думаю, надо винду изучать. как думаете? или надо сначала по-нормальному выучить асм в досе? ![]() |
|
Создано: 12 апреля 2006 22:09 · Личное сообщение · #2 |
|
Создано: 12 апреля 2006 22:25 · Личное сообщение · #3 |
|
Создано: 12 апреля 2006 23:13 · Личное сообщение · #4 под линукс. без шуток. nasm+ld - и можно юзать привычную intel мнемонику. во-первых простота ввода-вывода(можно не заморачиваясь на деталях изучать именно асм) во-вторых, в отличие от дос, который сдох безнадежно, это все-таки 32-бит архитектура. а под винду имхо писать графические аппл на асме изврат, выигрыша нет, гемороя больше, чем на том же си. если чисто из эстетических соображений только, но это быстро проходит, проверено ![]() и вообще стоило бы озвучить свою цель изучения? ![]() |
|
Создано: 12 апреля 2006 23:35 · Личное сообщение · #5 |
|
Создано: 13 апреля 2006 01:54 · Личное сообщение · #6 |
|
Создано: 13 апреля 2006 02:17 · Личное сообщение · #7 DrGolova пишет: консольку на асме под винду имхо сложнее сделать чем простенький гуй Я вообще-то не имел ввиду создание пользовательского интерфейса в консоли, для изучения циклов, массивов и тп. достаточно стандартного консольного ввода/вывода ----- Все говорят что мы вместе. Но не многие знают в каком. ![]() |
|
Создано: 13 апреля 2006 16:16 · Личное сообщение · #8 intty пишет: а под винду имхо писать графические аппл на асме изврат, выигрыша нет, гемороя больше, чем на том же си. а под линукс если использовать libc(которая писана на си) то тоже выигрыша мало а при использовании int 80h тот же гимор с регистрами, номерами вызовов и пр. что и под дос и если под виндой можно писать драйвера на асме без особых проблем с заголовочными файлами, то под лунь все, кроме inline-вставок, геморрой ![]() |
|
Создано: 13 апреля 2006 17:18 · Личное сообщение · #9 >>а при использовании int 80h тот же гимор с регистрами, номерами вызовов и пр. что и под дос дос это 16 бит, никому нах ненужные сегменты, 16 разрядные регистры и т.д. >>и если под виндой можно писать драйвера на асме без особых проблем с заголовочными файлами, тебе не кажется, что драйвера это как-то для начала, для изучения асма, не очень ) >>то под лунь все, кроме inline-вставок, геморрой в смысле? и вообще я никого не агитирую, просто предложил альтернативный вариант ![]() |
|
Создано: 13 апреля 2006 17:21 · Личное сообщение · #10 |
|
Создано: 13 апреля 2006 17:51 · Личное сообщение · #11 intty пишет: тебе не кажется, что драйвера это как-то для начала, для изучения асма, не очень ) это как самое естественное применение асма intty пишет: >>то под лунь все, кроме inline-вставок, геморрой в смысле? модули для ядра линукса смотрел. там в исходник(сишный) понапихано такого что лучше и не связываться. ну это так на мой взгляд. я считаю что нужно изучать асм под ту ос, под которой работаешь и программишь на яву ![]() |
|
Создано: 13 апреля 2006 17:56 · Личное сообщение · #12 |
|
Создано: 13 апреля 2006 18:08 · Личное сообщение · #13 Под винду однозначно. Т.к. для новичка имхо немного сложно вникнуть в сегментную адресацию или тем паче в защищенный режим под экстендеры. Да и надо ли оно? ДОС мертва. А лет через пять, имхо, будет мертв и Линукс. Точнее он вернется в свою нишу малобюджетных ОС для обслуживания кассовых аппаратов и веб-серверов. Ибо Линукс поднялся в годы нестабильных Win3.11 / Win9x как надежная безглючная система, а сейчас же ядро NT в лице 2k/xp/2003 вполне справляется с любыми задачами. ![]() |
|
Создано: 13 апреля 2006 18:24 · Личное сообщение · #14 SubV [про Линукс] поработайте в IBM годик-другой, тогда поймёте, кто мёртв, а кто жив. для IBM Линукс сейчас важнее, чем была когда-то OS/2 (вот она - мертва). сейчас уже слишком много компаний вкладывают свои ресурсы в линукс, затопить столько ресурсов не под силу даже адептам винды. а сравнивать линукс с Win9x (а тем более - Win3xx) - незнание вопроса. [про DOS] согласен, сечас ориентроваться на ДОС - беспреспективно, даже когда речь идёт об обучении [про Win32] наиболее адекватный вариант, т.к. "всё под рукой" повторюсь, что лучше всего поставить перед собой конкретную задачу и её решать кстати, всегда можно запустить ДОС под эмулем или VM ----- EnJoy! ![]() |
|
Создано: 13 апреля 2006 18:28 · Личное сообщение · #15 SubV пишет: А лет через пять, имхо, будет мертв и Линукс. Точнее он вернется в свою нишу малобюджетных ОС для обслуживания кассовых аппаратов и веб-серверов. Ибо Линукс поднялся в годы нестабильных Win3.11 / Win9x как надежная безглючная система, а сейчас же ядро NT в лице 2k/xp/2003 вполне справляется с любыми задачами. Поживем увидем, т.к. каждому свое. Ведь почти все системы реального времени все же делают под *nix системы. yudinetz Изучай с винды, а потребуется, тогда и досом займешься. ----- Сколько ни наталкивали на мысль – все равно сумел увернуться ![]() |
|
Создано: 14 апреля 2006 08:50 · Личное сообщение · #16 |
|
Создано: 14 апреля 2006 15:07 · Личное сообщение · #17 Люди, GUI писать на асме лучше чем на этом си. Просто надо иметь опыт работы с Win API. Я лично изучать начал ассемблер под Windows, при этом пользовался статьями Broken Sword'а "Процессор INTEL в защищённом режиме" и книгой про программирование на ассемблере под DOS, а также опытом работы с Win API в Delphi и встроенным ассемблером там же. Изврат, но иначе бы у меня и не было бы желания изучать ассемблер. Потому что я не прикладной программист, х. ![]() |
|
Создано: 14 апреля 2006 16:12 · Личное сообщение · #18 |
|
Создано: 14 апреля 2006 16:24 · Личное сообщение · #19 Если писать на чистом С - пожалуйста, только мне тогда проще всё-таки работать при возможности контролировать практически каждый байт кода. Я даже invoke на асме никогда не использую. Да, кстати, статьи Broken Sword'а как раз на www.wasm.ru лежат. Я вот долго не мог понять, кто придумал регистры, где это и прочую муть, статьи расставили всё по местам. И наконец-то видишь, как мало придумано программистами Windows. Всё - лишь реализация задуманной концепции, и если бы они чётко ей следовали, то не было бы сейчас таких крутых возможностей для хакинга. Пора бы наконец все 4 кольца защиты заюзать. Освоишь защищённый режим - достаточно будет освоить принцип работы PE загрузчика и загружаемых им файлов - и можешь писать под Windows. Или под Linux, если изучать принципы работы его. ![]() |
|
Создано: 14 апреля 2006 18:42 · Личное сообщение · #20 intty пишет: писать графические аппл на асме изврат имхо нет. добрых 60% виденных мною кряков - masm/tasm. И кстати почти все демомейкеры именно асмом и пользуются. А как посмотрел последнее творение Brain Control - сразу зауважал. такое только асмом можно в 64к запихнуть. Я изучал с мануала от masm32 и методом научного тыка. долго, но верно ![]() |
|
Создано: 14 апреля 2006 19:32 · Поправил: intty · Личное сообщение · #21 Dark_Phoenix пишет: добрых 60% виденных мною кряков - masm/tasm. И кстати почти все демомейкеры именно асмом и пользуются. А как посмотрел последнее творение Brain Control - сразу зауважал. такое только асмом можно в 64к запихнуть. гы. я говорю про работу программистом. про заказы. про ремесло. я недостаточно точно выразился выше и смешалось понятие ремесла и искусства. я ценю 64к демки и красивые кряки/кгены на асме(увы последнее время все больше их становится даже не на си, а на делфи и басике) но применительно к ремеслу, то писать на асме именно изврат. (я не имею ввиду асм вставки во всяких кодеках и других требовательных к ресурсам и скорости вещах) что-то все опять во флейм скатилось. увы как всегда. (( ![]() |
|
Создано: 14 апреля 2006 20:55 · Личное сообщение · #22 intty А я придерживаюсь мнения, что на ассемблере, если писать свои библиотеки, можно достичь гораздо больших результатов, чем на языке высокого уровня. И изучать ассемблер надо не под конкретную ОС, а под архитектуру, стремясь понять её принципы, чтобы потом легко пересесть на другую и в ней работать в любой ОС. Может закрыть топик? ![]() |
|
Создано: 14 апреля 2006 20:57 · Личное сообщение · #23 |
|
Создано: 15 апреля 2006 14:01 · Личное сообщение · #24 NullSession пишет: Люди, GUI писать на асме лучше чем на этом си. Просто надо иметь опыт работы с Win API. единственное, что мне не нравится в Си, так это типы и их переопределение (всякие cast_* и тп) в случае с GUI - это разные типы данных, передаваемые через lParam и гемор с переопределением типа но в остальном - именно GUI на Си писать ничем не хуже, чем на любом другом языке на асме имеет смысл писать, когда ты не знаешь хорошо Си. кстати, скомпилируй какой-нить код на Си с оптимизацией по скорости и глянь, как компилятор cl.exe выполнил свою работу ----- EnJoy! ![]() |
|
Создано: 15 апреля 2006 19:34 · Личное сообщение · #25 Jupiter Это фигня, вот Intel C++ Compiler - оптимизит конкретно. И на асме лучше писать, потому что такие программы потом будет удобнее защищать. И писал я на C, оставьте меня уже в покое. Просто меня устраивает именно ассемблер, работа с callback функциями, IPC и тому подобное. Это лучше делать на ассемблере. И ещё: ;Процедура обработки оконных сообщений --------------- WindowProc: ;| ; [esp] - точка возврата ;| ; [esp+4] - дескриптор окна ;| ; [esp+8] - сообщение ;| ; [esp+12] - первый параметр ;| ; [esp+16] - второй параметр ;| cmp dword [esp+8],WM_DESTROY ;| je wmdestroy ;| ; Параметры DefWindowProc и этой процедуры совпадают ;| ; после выполнения DefWindowProc мы больше никаких ;| ; действий производить не собираемся. Поэтому спокой ;| ; но используем jmp. ;| default: ;| jmp [DefWindowProc] ;| wmdestroy: ;| xor eax, eax ;| push eax ;| call [PostQuitMessage] ;| xor eax,eax ;| retn 4*4 ;| ;------------------------------------------------------ Гы, а вот ни один компилятор этого нормально не делает. И ещё зачем-то leave часто вставляют, я вот без него обхожусь. Типы данных - их быть не должно. ![]() |
|
Создано: 09 мая 2007 22:17 · Личное сообщение · #26 |
|
Создано: 09 мая 2007 22:26 · Личное сообщение · #27 |
![]() |
eXeL@B —› Программирование —› изучать асм под винду или дос? |
Эта тема закрыта. Ответы больше не принимаются. |