Вопрос № 65297: Хочу освоить Ассемблер. У меня pent.-4 с Wind XP Professional. Если я правильно понял, то для изучения нужен DOS и старый 386 или 486.
Или я могу работать на своем?...Вопрос № 65307: Покажите как работать с MMX, приведите код какой-нибудь сортировки с MMX и без него, желательно со временем доказывающим преимущество MMX. Очень нужно разобраться по работе срочно. Всем заранее спасибо...Вопрос № 65332: Можно ли описать в .inc файле две разные структуры с одинаковыми именами некоторых полей ?
Я так сделал и TASM32 кричит
Symbol already defined elsewhere...
Вопрос № 65.297
Хочу освоить Ассемблер. У меня pent.-4 с Wind XP Professional. Если я правильно понял, то для изучения нужен DOS и старый 386 или 486.
Или я могу работать на своем?
Отправлен: 02.12.2006, 22:19
Вопрос задал: Larrik (статус: Посетитель)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Igor V. Lupersolsky
Здравствуйте, Larrik!
Самый простой способ установить виртуальную машину VMWare под Win XP, а на неё уже ДОС. Работать сможете одновременно в ХР и ДОС. Для изучения вполне достаточно.
Хотя если вам надо писать драйвера с прямым доступом к физическим устройствам это может не пройти.
Можно установить ДОС прямо на физический компьютер, но при уже имеющейся ХР это нескользо замысловато.. Потребуется создание нового раздела FAT16 и использование программ типа boot magic для выбора загрузки системы..
--------- Обходя лежащие на земле грабли Вы лишаете себя ценнейшего опыта
Отвечает: Луковкин Николай Иванович
Здравствуйте, Larrik!
Ваш компьютер и операционная система вполне даже подойдет для изучения Ассемблера и написания хороших программ как в среде DOS, так и в среде Windows.
Просто надо учесть вот что:
Если Вы, например, написали DOS программу в оболочке FAR любым компилятором, у Вас получится иполняемый файл com. или exe., Только запустив этот файл на исполнение в среде Windows, результата своей работы на экране Вы не увидете! У Вас появится черное окошко и тут же мгновенно закроется, не дав Вам разглядеть - что же я там написал?
Поэтому мой совет:
1.Если Вы решили хорошо изучить Ассемблер, начинайте с написания DOS программ, установив в свою OS Windows XP какую-либо DOS оболочку (например Dos Navigator, а лучше Norton Commander for DOS), компилятор TASM и отладчик AfdPro. Когда будете запускать полученный com. или exe.файл на исполнение, запускай его только в этом окне (Norton Commander) в полноэкранном режиме. Ты увидишь результаты своей кропотливой работы!!!
2. После изучения DOS программ, переходите к написанию Windows-программ. Установите в свою OS Windows XP оболочку FAR, компилятор MASM (а лучше FASM) и отладчик OllyDbg. Если Вы напишете Windows-программу (например вывод окна на экран), при запуске exe.файла на исполнение, Вы увидете результаты своей программы на экране!
3. При написании программ всегда пользуйтесь отладчиком (AfdPro, OllyDbg), так Вы быстрее поймете и изучите Ассемблер!!!
--------- Главным критерием эффективности того или иного пути может служить лишь то, достиг или нет крекер конечного результата!!!
Отвечает: Перл-Харбор
Здравствуйте, Larrik!
С Pentium4 у вас не будет ни каких ограничений в программировании, вы можете использовать инструкции 8086 и далее, 8087 и далее. Просто надо указать диррективу процессора.
--------- Поддаться, что бы победить.
Ответ отправил: Перл-Харбор (статус: 2-ой класс)
Ответ отправлен: 03.12.2006, 14:05
Отвечает: Вiктор
Приветствую, Larrik!
вы вполне можете работать на вашем компьютере.
насчёт старых 386 или 486 - обучение идёт по принципу "от простого к сложному". Поэтому сначала учат команды и возможности 8086, а потом уже более сложные по сравнению с ними команды и возможности 286 и т.д., а то, что у вас процессор пентиум 4 - это не страшно. Пентиум-4 может всё то, что может 286, 386, 486, даже больше. Просто вы будете сначала изучать те его возможности, которые были и у 8086, потом те возможности, которые появились в 286, и так постепенно изучите все возможности вашего пентиум-4.
Насчёт ДОСа - дело в том, что если вы начинаете программировать под ДОС, то можно учиться "с нуля", учиться работать на более простой операционной системе. А если вы будете начинать обучение с написания программ под виндовс, то вам придётся многие вещи принять "как есть", использовать много вещей, смысл которых вам будет пока непонятен. Но это не так страшно, вполне можно понять основные принципы ассемблера если программировать под виндовс, а потом уже разбирать почему в начале обучения надо
было делать какое-нибудь действие именно так, а не иначе.
Для изучения основ ассемблера вам достаточно будет и программирования в виндовс, а для изучения более сложных приёмов программирования вам очень пригодится ДОС. Но всё равно основы надо учить, хоть на примере программирования ДОС-программ, хоть виндовс-программ.
Виндовс ХР весьма специфично работает с ДОС, поэтому если у вас пока не получается делать программы под ДОС, то можете пока изучать основы составляя программы под виндовс и паралельно настраивать вашу винХР для работы с ДОСом.
В любом случае вам нужно учиться, практиковаться.
(писать ли на асм-е - это дело вкуса, а вот знать асм - это, как я считаю, обязательно для уважающего себя программиста)
Удачи!
--------- ни дня без строчки (но не получается)
Ответ отправил: Вiктор (статус: 10-ый класс)
Ответ отправлен: 03.12.2006, 17:49
Вопрос № 65.307
Покажите как работать с MMX, приведите код какой-нибудь сортировки с MMX и без него, желательно со временем доказывающим преимущество MMX. Очень нужно разобраться по работе срочно. Всем заранее спасибо
Отправлен: 02.12.2006, 23:54
Вопрос задал: SpLove (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: IceWolf
Здравствуйте, SpLove!
<a href=http://asm.shadrinsk.net/cgi-bin/pl/proba.pl?6>Учебник по MMX</a>
С уважением, IceW0|f.
--------- Идеальных защит не существует, ибо то, что создано человеческим разумом, им же будет и разрушено!
Ответ отправил: IceWolf (статус: 4-ый класс)
Ответ отправлен: 03.12.2006, 22:23
Вопрос № 65.332
Можно ли описать в .inc файле две разные структуры с одинаковыми именами некоторых полей ?
Я так сделал и TASM32 кричит
Symbol already defined elsewhere
Отправлен: 03.12.2006, 07:40
Вопрос задал: Alexei_FAQ (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Boriss
Здравствуйте, Alexei_FAQ!
Вот простейший способ.
Директива LOCALS делает все метки, начинающиеся с @@ локальными
"Лишняя" метка l1 разделяет блоки
Приложение:
--------- Вывод - то место в тексте, где вы устали думать
Ответ отправил: Boriss (статус: Профессор) Россия, Саранск Организация: mte WWW:Программирование на Паскале ---- Ответ отправлен: 05.12.2006, 14:56