|
|
|
| Вот, начал учить, кто может подсказать литературу , программы и прочее? | |
|
|
|
|
|
|
|
для: Akira
(08.12.2005 в 01:45)
| | MASM - потрясная штука и свободно распространяется...
В книгах очень много старой информации... ну кому сейчас защищённый режим интересен и секции... Хорошая книга К. Ирвин "Язык ассемблера для процессора INTEL".
Хм... только производители процессоров вам свинью подготовили :))) выучите сейчас 32-битную архитектуру, а потом будете переучиваться на 64-битную :))) Там и регистров общего назначения больше, и защищённый режим удалён вообще, ещё чего-то добавили... | |
|
|
|
|
|
|
|
для: cheops
(08.12.2005 в 02:12)
| | MASM хмм... надо пробывать, интересно стоит ли ассемблер таких усилий? | |
|
|
|
|
|
|
|
для: Akira
(08.12.2005 в 12:15)
| | Стоит, особенно если с графикой работать плотно планируете или с дисассемблированием... да и вообще знание ассемблера здорово кругозор в программировании расширяет. | |
|
|
|
|
|
|
|
для: cheops
(08.12.2005 в 12:32)
| | Ну его я буду учить это точно :) А вот пригодиться ли он - это другой разговор. А можно будет по коде тут вопросы задовать?
Да кстати, не пора ли убрать форумы php и mysql и сделать программирование и базы данных? | |
|
|
|
|
|
|
|
для: Akira
(08.12.2005 в 12:35)
| | Задавать-то можно, но я вот например 100 лет в руки MASM не брал - реальных задач с применением ассемблера практически не встречается (у меня по крайней мере), а на просто повозится времени нет. Конечно, что помню всё выложу - особенно если вопросы будут касаться программированию для Windows.
>Да кстати, не пора ли убрать форумы php и mysql и сделать программирование и базы данных?
По идеи, конечно, их так следовало назвать с самого начала, но тут конъюктурные интересы берут вверх - мы так можем в посещаемости потерять, особенно с поисковых систем. | |
|
|
|
|
|
|
|
для: cheops
(08.12.2005 в 12:44)
| | 1)Конечно для windows :) Это у нас в колледже начался ассемблер, я и думаю, а почему бы не изучить по лучше?
2) А может в описании оставить? | |
|
|
|
|
|
|
|
для: Akira
(08.12.2005 в 12:54)
| | 1) Дело в том, что в сущесвтует два стиля: классический ассемблер, где искусство программиста состоит в написании собственных функций и ассемблер для Windows - там наиболее продуктивен тот программист, кто лучше знает API и может исползовать уже готовые системные функции. В общем как в теквандо - бывшие боксёры лучше бъют руками, а бывшие каратисты - ногами :))) | |
|
|
|
|
|
|
|
для: cheops
(08.12.2005 в 13:18)
| | я бывший боксер :)) Но это не отвноситься к делу.
Ассемблер кросплатформенный? Он ведь работает с процессором да?
Так сказать напрямую? Или я ошибаюсь?
Какие у него возможности? | |
|
|
|
|
|
|
|
для: Akira
(08.12.2005 в 13:36)
| | Есть такой компилятор - NASM (NetWide Assembler). Он поддерживает широкий диапазон форматов объектных файлов, включая форматы Linux a.out и ELF, NetBSD/FreeBSD, COFF, Microsoft 16-bit OBJ и Win32. NASM также способен создавать простые бинарные файлы. Синтаксис NASM максимально упрощён для понимания и похож на синтаксис Intel, но слегка посложнее. Он поддерживает инструкции Pentium, P6 и MMX, а также имеет макрорасширения.
Однако есть некоторые ограничения:
научившись писать проги под NASM, нужно немного попотеть, чтобы написать то же самое под MASM, ещё для NASM нет нормальных книг и справочников, а значит, прийдётся изучать по документации. Зато несомненный плюс - код, написанный на нём можно заставить работать на любой платформе. | |
|
|
|
|
|
|
|
для: Akira
(08.12.2005 в 13:36)
| | А так, да, ассемблер кроссплатформенный язык. Только работает не напрямую с процессором. | |
|
|
|
|
|
|
|
для: Akira
(08.12.2005 в 13:36)
| | Я бы не назвал ассемблер кросплатформенным, обычно под кросплатформенностью понимают возможность выполняться на разных аппаратных платформах, C/C++, PHP - крос-платформенные, а ассембелер - нет, грубо говоря у каждого процессора - свой ассемблер, у x86 - свой, у Motorolla - свой, у DEC - свой, у Alpha - свой. Именно благодаря тому недостатку появились первые языки высокого уровня (Fortran, Basic, C и т.д.). Более того в рамках одного процессора могут существовать разные реализации ассемблера - стандартов нет. Ведь что такое ассемблер - это попытка заменить непонятные машинные команды (выполнить операцию номер такой-то) на более логичные и понятные (сложить содержимое регистров, поместить память отсюда - туда). Да, в рамках одного процессора реалиции ассемблеров похоже: архитектура и набор машинных команд одинаковы, но по деталям синтаксиса они могут отличаться: например, NASM и MASM - это не совсем одно и тоже: они близки и даже ближе чем Perl и PHP, но отличаются... | |
|
|
|
|
|
|
|
для: cheops
(08.12.2005 в 22:37)
| | ну понятно дело, что на 86 надо взор обратить :) | |
|
|
|
|
|
|
|
для: Akira
(08.12.2005 в 23:02)
| | Давно не менялась разрядность процессора... сейчас идёт переход на 64-битную архитектуру, а там и размер ячеек и их число и адресация отличаются от 32-битной. Причём в отличие от перехода с 16 бит на 32, при переходе с 32 на 64 бита увеличено число регистров общего назначения, поэтому ассемблеры будут отличаться... По сути это будет новая платформа, с возможностью обеспеченья обратной совместимости с 32-битной архитектурой. | |
|
|
|
|
|
|
|
для: cheops
(08.12.2005 в 23:14)
| | И по сути смысла в ней мало. Вот только , что туда памяти вбухать можно побольше 4 гигов. | |
|
|
|
|
|
|
|
для: Akira
(08.12.2005 в 23:36)
| | Не совсем... добавлены дополнительные регистры общего назначения - их очень не хватало, теперь для ряда операций можно снизить число тактов. | |
|
|
|
|
|
|
|
для: cheops
(09.12.2005 в 02:05)
| | Знаете ведь, чем более узкоспециализированная машина, тем быстродействие ее возрастает, чем больше универсальности, тем меньше быстродействие.
Отсюда следует, что 64 битные дадут прирост только в узкой направленности.
Опять же это все мое ИМХО, могу и ошибиться. | |
|
|
|
|
|
|
|
для: Akira
(09.12.2005 в 13:47)
| | Да в общем узкой специализации у 64 нет (скорее наоборот с добавление регистров общего назначения увеличивается гибкость), но настроящую производительность можно получить только под 64-битным кодом, 32-битный код на 64-битном процессоре сейчас выполняется медленнее, чем на 32-битном процессоре. | |
|
|
|
|
|
|
|
для: cheops
(09.12.2005 в 14:23)
| | я о том же, прирост будет 64 разрядном софте.
А его очень мало. | |
|
|
|
|
|
|
|
для: Akira
(09.12.2005 в 15:17)
| | Софт то подтянется, а вот с драйверами ситуация действительно катастрофичная, кто сейчас будет писать драйвера для девайсов 2-х летней давности... а девайсов в последнее время пруд пруди и все нужные собаки, поэтому лично я на 64 бит ещё не скоро наверное перелезу... | |
|
|
|
|
|
|
|
для: cheops
(09.12.2005 в 17:05)
| | А я вот даже не стану , если честно. | |
|
|
|
|
|
|
|
для: Akira
(08.12.2005 в 01:45)
| | Литературу можно взять здесь:
http://softtime.ru/forum/read.php?id_forum=2&id_theme=9615&page=4
По моему в первой ссылке есть книга Зубкова в формате CHM. Вроде ничего. | |
|
|
|
|
|
|
|
для: Akira
(08.12.2005 в 01:45)
| | Под винду лучшие туториалы написаны iczelion'ом. Так же можно почитать выпуски Олега Калашникова, который учит ассемблеру с нуля.
Ссылки:
http://asm.kalashnikoff.ru - пособие Калашникова
http://win32asm.cjb.net - домашняя страничка iczelion'а
http://wasm.ru - огромное количество статей, туториалов и прог
http://movsd.com - домашняя страница Стива Хатчессона (отца masm32) | |
|
|
|
|
|
|
|
для: Саня
(08.12.2005 в 14:14)
| | Поддерживаю, тоже хотел привести ссылки, но порастерял их уже... | |
|
|
|
|
|
|
|
для: cheops
(08.12.2005 в 22:26)
| | Мда, запутался я :) | |
|
|
|
|
|
|
|
для: Akira
(08.12.2005 в 22:34)
| | А что тут такого? Если знаете английский, вам прямая дорога к iczelion'у, иначе к Калашникову.
Затем пойти на wasm.ru, чтобы окунуться в мир ассемблера полностью.
За свежей версией MASM32 можно (и лучше) сходить к отцу (movsd.com). | |
|
|
|