C исходный код, компилятор Watcom и EMU8086 - PullRequest
0 голосов
/ 12 мая 2018

Как получить компилятор Watcom (разветвленная бета-версия 2.0, работающая на 64-разрядных хостах) для вывода исходного кода сборки 8086 в файле ASM? Выполнение wcc -0 main.c из командной строки создает только файл OBJ.

Как примечание, моя основная задача - преобразовать исходный код C в код сборки, который я могу запустить с EMU8086 (вместо написания фактического кода сборки). Я надеюсь, что файл ASM, созданный Watcom, будет работать без изменений (copy-paste) в EMU8086.

1 Ответ

0 голосов
/ 13 мая 2018

Я не вижу способа заставить компилятор Watcom генерировать файл ASM напрямую, но вы должны быть в состоянии использовать дизассемблер Watcom (wdis) для генерации списка сборки из объектного файла, созданного компилятором,В этом случае вы должны запустить что-то вроде wdis -l main для чтения main.obj и создать файл с именем main.lst, содержащий список языков ассемблера.

Если вы перекомпилируете main.c с -d1 или *Опция 1008 * для помещения дополнительных данных отладки в файл main.obj, тогда вы можете использовать опцию дизассемблера -s, чтобы список ассемблера был дополнен комментариями, показывающими исходный источник C из main.c.

.заставить дизассемблер опускать описательные комментарии и просто дать простую разборку, которая должна быть приемлемой в качестве исходного файла для ассемблера Watcom, передайте дизассемблеру опцию -a.Эта опция также приведет к тому, что вывод дизассемблера будет записан в main.asm, а не main.lst.Извините, я понятия не имею, будет ли этот вывод использоваться непосредственно EMU8086.

Все это обсуждается в Руководстве пользователя Open Watcom C / C ++ и C / C ++ Tools UserРуководство связано с http://www.openwatcom.com/doc.php

...