LINUX.ORG.RU

Помогите с синтаксисом ассемблера!


0

0

Такая вот проблема, что в учебном заведении, мы пишем программы под DOS, загружая дискету с tae20 из-под BIOS'а. Так исторически сложилось, что у меня нет возможности писать дома с дискеты, поэтому пишу под лялих. Но когда я стала компилировать - тут же появилось множество ошибок. По всей видимости, тут другой синтаксис, а время на его изучение у меня нет! Вобщем, как правильно писать начало программы на ассемблере в линуксе, если используется nasm?

Ссылка на исходники(файлы с расширением *.asm и с именем lab): http://fileland.ru/file_id-248283


>поэтому пишу под лялих.

Правильнее говорить «ляпих».

И да, есть разные синтаксисы ассемблера, интел и АТ&Т. Тебе надо интеловский.

anonymous
()

Для простых программ можешь работать с masm под dosbox/dosemu.

Или сними образ с загрузочной дискеты

$ cp /dev/fd0 image

и загрузи с ним QEMU:

$ qemu -boot a -fda image

не проверял, но примерно так.

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

Я же писала, что не могу программировать с дискеты из-за отсутствия привода, но у меня есть исходники с флешки, и получается так, что я должна написать и откомпилировать под линукс, оттого снять образ с дискеты я не могу...

Lidia
() автор топика
Ответ на: комментарий от Lidia

запиши все, что есть, в каталог на линуксе и вперед
----> Для простых программ можешь работать с masm под dosbox/dosemu.

ipc
()
Ответ на: комментарий от anonymous

>И да, есть разные синтаксисы ассемблера, интел и АТ&Т. Тебе надо интеловский.

Не, ему стена нужна. И метров 20-30 для хорошего разгона

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

>Не, ему стена нужна. И метров 20-30 для хорошего разгона

А кому-то и стена не поможет, твердолобый. ;)

anonymous
()

ставь масм + какой-нибудь эмулятор.

RedPossum ★★★★★
()

Как уже посоветовали, cтавьте виртуальную машину или dosbox, грузите их с образа дискеты (виртуальный дисковод) и там все и делайте. То есть где-нибудь снимите с той дискеты образ (если под линуксом, то «dd if=/dev/fd0 of=/tmp/obraz.disket») и грузите с него виртуалку.

Ваша программа содержит «int 21h», даже если под Линуксом вы сможете получить ".com" файл, всё равно под Линуксом он не заработает.

P.S. То, что у вас в zip-архиве не содержит файлов dos, поэтому если делать образ дискеты из этого архива, то надо где-то их достать.

mky ★★★★★
()

В zip-архиве находятся Borland Turbo Assembler (причем, видимо, неполный) и пара программ на нем для DOS, причем с .model tiny.

Снимите образ с дискеты, запустить в виртуалке. Ну или скачайте откуда-нибудь MS-DOS, поставьте в виртуалке, в нем поставьте TASM и там запускайте, тогда дискета не понадобится.

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