LINUX.ORG.RU

dosbox и ассемблер


0

0

На полке валяется книжка по программированию на ассемблере. Большая часть книги под DOS. Собственно, DOS уже не поставишь на новое железо и под виндой многое уже не работает.

Какой ассемблер пойдёт под dosbox лучше? Если кто-нибудь из вас уже имел дело с этим, расскажите несколько самых главных моментов(подводные камни и т.д.).

И если не dosbox, то что лучше?

А нах дос? Под линуксом неплохо на асме писать тоже.

Zmacs
()

dosbox не советую, все-таки под игры заточено, могут непонятные глюки вылезти. Например, когда из volcov commander запускаешь там игру, обратно в VC уже не попадаешь. И с отладкой проблемы скорее всего будут.

Гораздо лучшие qemu или bochs. Ставишь туда настоящий DOS и любые инструменты, все будет работать. qemu имхо в целом удобнее и фичастее, а в bochs есть какой-то встроенный отладчик.

Единственный минус - не подмонтируешь реальную ФС как в dosbox, т.е. придется либо бесконечно монтировать/размонтировать образ виртуального диска в реальной системе, чтобы залить измененные исходники, либо полностью работать в DOS (т.е. редактор там-же), либо настраивать сеть (утилиты под DOS искать).

AMDmi3
()

> И если не dosbox, то что лучше?

qemu или bochs те же, на которые поставить KolobriOS : http://www.kolibrios.org/?&lang=ru всё необходимое для разработки на ассемблере в есть :)

manntes ★★
()
Ответ на: комментарий от Zmacs

> Ты - быдло

Тру хакер никогда не будет сам писать программы на ассемблере. Он напишет программу, которая будет делать это вместо него.

И удивись! Такие программы уже написаны, называются "компиляторы".

ero-sennin ★★
()

сам писал Общее Задание в институт на ассемблере, TASM под DosBox, все бегало под FreeBSD, экзамен сдал на 5, пол потока у меня списало :)

chak
()
Ответ на: комментарий от ero-sennin

> Тру хакер никогда не будет сам писать программы на ассемблере. Он напишет программу, которая будет делать это вместо него.

> И удивись! Такие программы уже написаны, называются "компиляторы".

Батенька, попишите под всякие экзотические архитектуры, к примеру, blackfin, потом поговорите про нужность ассемблера :)

Zmacs
()
Ответ на: комментарий от HappyCoder

Не видел никогда. Думаю, особой разницы нет.

AMDmi3
()
Ответ на: комментарий от Zmacs

Нет, ассемблер нужен. Как минимум, его надо знать, а для этого на нем надо что-нибудь пописать какое-то время. Что касается применения ассемблера на практике, это вполне реально. Ассемблер нужен для низкоуровневого системного программирования (загрузчики, переключение в PM и т.д.) и для оптимизации bottleneck'ов. С последним утверждением можно поспорить, ибо:
- непортабельно
- долго писать
- высока вероятность ошибки
- компиляторы рулят
Тем не менее, из личного опыта могу сказать, что иногда даже совершенно дубовый рукописный ассемблерный код (без учета конвееров, кэша, без MMX/SSE) порой обгоняет скомпилированный.
Поэтому, после написания и отладки программы на ЯВУ, написать альтернативную реализацию ключевых алгоритмов на ассемблере - тру, ибо ускорения можно добиться существенного, пусть даже только на одной архитектуре.

AMDmi3
()
Ответ на: комментарий от Zmacs

На порядок лучше и быстрее сделать бэкенд к gcc. А идиоты-быдлоассемблерщики запарили уже.

Miguel ★★★★★
()
Ответ на: комментарий от Miguel

> Для начала нужно профайлером поглядеть, а потом уже думать про альтернативную реализацию.
Разумеется

AMDmi3
()

Лаба на переключение задач с TTS для 286-го МП под досбоксом не работала. Может программа была кривая, но в самом досе все было оки. В DosBox он работала с дескриптором TTS 80386.

Amp ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.