0 / 0 / 0
Регистрация: 13.07.2019
Сообщений: 5

Компиляция программ под MS-DOS 8086 c различными моделями памяти

18.03.2025, 18:19. Показов 2627. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день коллеги!

Как следует из сайта Free Pascal, компилятор кросс-платформенный и поддерживает в том числе MS-DOS. Но интересует режим MS-DOS 8086 с возможностью выбора различных моделей памяти (ранее это умели только компиляторы C и Assembler). На сайте выложен компилятор, поддерживающий линковку программ только под расширитель GO32v2 для защищённого режива. А для реального режима где можно взять компилятор, который бы можно было настроить под различные модели памяти (Tiny, Smal, Compact, Large и Huge)? И было бы великолепно это совместить с IDE. укажите пожалуйста ссылки где этом можно взять. Спасибо!!!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.03.2025, 18:19
Ответы с готовыми решениями:

Компиляция программ для DOS в MASM32
проблема в том, что через командную строку код компилится но линкером link16, я пишу в radasm и там у меня прописан link а не link16,...

Компиляция masm32 из RadASM программ для DOS
Доброго времени суток. Вот такая проблема у меня. Скачал masm32 установил в корень диска С: В notepad забил текст,отдаю команду в командной...

Компиляция программ exe для DOS в MASM32
помогите разобраться как создавать программы в masm32 типа exe , можете дать код который точно пройдёт конпоновку

15
Модератор
10352 / 5638 / 3395
Регистрация: 17.08.2012
Сообщений: 17,205
18.03.2025, 20:11
Dave_Murey, никак не получится. Free Pascal не поддерживает (и, если мне правильно изменяет память, никогда не поддерживал) реальный режим работы i8086. Замечание: костыль в виде директивы FPC {$MODE TP} введён только для совместимости, всё равно генерируется исполняемый файл для виртуального защищёного режима.

Используйте Turbo / Borland Pascal, а в качестве ассемблера FASM, MASM или TASM. Всё это под соответствующей виртуальной машиной, или, на крайняк, под DOS Box.

А лучше, возьмите компьютер, который не жалко, и на который как-то можно поставить такую древность, как Windows XP SP3 (Windows XP ещё поддерживает реальный режим i8086 из-за встроенной в эту ХРюшу MS-DOS 7.0), либо (не рекомендую, это менее удобно) MS-DOS поставьте какую-либо. Потом туда же TP7 и FASM (или MASM, или TASM, по вкусу) соответствующих версий, и вперёд...

А ещё лучше, пишите программу на Вашем компьютере в удобной для Вас ОС в FPC/Lazarus с ключом {$MODE TP}, а окончателльную компиляцию и проверку делайте в TP и/или в (F/M/T)ASM на реальной DOS (или XP) машине, купленной за бутылку водки.
2
0 / 0 / 0
Регистрация: 13.07.2019
Сообщений: 5
18.03.2025, 20:44  [ТС]
Извините за дурацкий вопрос, а зачем тогда выкладывают для скачивания вот эти библиотеки здесь: https://www.freepascal.org/dow... ngary.html

Там лежат БИНАРНИКИ модулей под реальный режим, различную модель памяти и в интрукциях 8086, 186, 286 и 386?
И модули каким-то образом скомпилировали в реальный режим?
0
Модератор
10352 / 5638 / 3395
Регистрация: 17.08.2012
Сообщений: 17,205
18.03.2025, 21:22
Ну надо же... Оказывается, есть библиотеки и под реальый режим. Ну что, здорово. Извините, я думал, что их нет, поскольку из любого утюга разносится, что FPC поддерживает только виртуальный защищённы режим, или, 32-разрядный режим, что, по сути, одно и то же. Посмотрел, восхитился. Библиотеки эти именно для MS-DOS (в том числе, для MS-DOS 7.0 в составе Windows XP), и... Всё, больше ни для чего. Масло маслянное получается. Кроме того, библиотеки эти давным-давно не поддерживаются, ввиду неактуальности.

Моё мнение: используйте последнюю мою рекомендацию. TP/FASM/MASM/TASM проверены временем, а насчёт проверки временем указанных Вами библиотек я ничего сказать не могу.
0
0 / 0 / 0
Регистрация: 13.07.2019
Сообщений: 5
18.03.2025, 21:56  [ТС]
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
Моё мнение: используйте последнюю мою рекомендацию. TP/FASM/MASM/TASM проверены временем, а насчёт проверки временем указанных Вами библиотек я ничего сказать не могу.
Спасибо Вам за рекомендацию, обязательно ею воспользуюсь. Интерес к FPC и реальному режиму был исключительно из спортивных и технических соображений.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,157
Записей в блоге: 1
19.03.2025, 17:46
Цитата Сообщение от Dave_Murey Посмотреть сообщение
для реального режима где можно взять компилятор
На офсайте так https://www.freepascal.org/dow... gary.html:
Download native compiler
There is no native compiler available for i8086 MS-DOS. You have to use a cross-compiler
Цитата Сообщение от Dave_Murey Посмотреть сообщение
который бы можно было настроить под различные модели памяти (Tiny, Smal, Compact, Large и Huge)?
Не посмотрел, в каком виде поставляется 3.2.2, но кросс-компилятор поддерживает сборку с поддержкой разных моделей памяти, ключи -WmTiny, -WmMedium, -WmCompact, -WmLarge, -WmHuge, см. там:
https://wiki.freepascal.org/DO... t_manually

Добавлено через 3 минуты
Вдогонку забавная ссылка ;-)
https://downloads.freepascal.org/fpc/snapshot/
В частности
https://downloads.freepascal.o... 086-msdos/
1
0 / 0 / 0
Регистрация: 13.07.2019
Сообщений: 5
20.03.2025, 20:46  [ТС]
Интересная получается коллизия. Кросс-платформенный компилятор работает только под Win32. А чтобы протестировать приложение в работе приходится запускать DosBox. Логичнее было бы собрать компилятор для работу под расширитель, тогда его можно было и откопилированную программу запустить под MS-DOS. А так...
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8644 / 4479 / 1669
Регистрация: 01.02.2015
Сообщений: 13,883
Записей в блоге: 11
23.03.2025, 14:56
Не знаю, будет ли работать кросс-компилятор, не проверял...

Существует расширитель памяти, который позволяет выполнять программы для Windows в DOS
https://ru.wikipedia.org/wiki/HX_DOS_Extender
Его автор - Japheth, он же Baron-von-Riedesel - несколько сумбурно размещает новые версии, поэтому придётся потрудиться с поиском свежей версии.
Здесь версия за 2014 год, но знаю, были обновления
https://www.japheth.de/HX.html
https://github.com/Baron-von-Riedesel

В далёком 2012 у моего рабочего места основной операционкой была FreeDOS, в которой спокойно запускал программы из FreePascal, скомпилированные для Win32. Не все, конечно, но по мере развития HX запускались очередные...

Т.е. предлагаю при помощи расширителя HX запускать компилятор командной строки.
0
Нарушитель
169 / 285 / 26
Регистрация: 11.08.2022
Сообщений: 3,579
12.10.2025, 09:02
Скачайте Turbo Pascal 5.5 - он выложен фирмой-автором для бесплатного пользования.
И это не крак. Насчёт лицензии надо ещё уточнить. Возможно, они не хотят, чтобы качали из России.
Скачайте и не мучайтесь с FreePascal.
0
352 / 315 / 83
Регистрация: 17.04.2022
Сообщений: 1,028
Записей в блоге: 8
12.10.2025, 10:19
Цитата Сообщение от Ludwig Valentin Посмотреть сообщение
Скачайте Turbo Pascal 5.5 - он выложен фирмой-автором для бесплатного пользования.
И это не крак. Насчёт лицензии надо ещё уточнить.
Так что-же это?

Некто архивариус http://old-dos.ru/index.php?pa... le&id=8354,
который явно не "фирма-автор", выложил архив на сайт, который даже не поддерживает https (туда даже заходить стремно, как-бы чего не подцепить).

По всем признакам - это то, что раньше называли "варёз"

Ludwig Valentin, вы бы еще после фразы
Цитата Сообщение от Ludwig Valentin Посмотреть сообщение
он выложен фирмой-автором для бесплатного пользования.
написали "Мамой клянусь, братан."

Собственно, подтверждение гипотезы - virustotal с подозрением относится к ссылке на загрузку - https://www.virustotal.com/gui... ?nocache=1
0
Нарушитель
169 / 285 / 26
Регистрация: 11.08.2022
Сообщений: 3,579
12.10.2025, 10:44
Цитата Сообщение от sqltd1 Посмотреть сообщение
что раньше называли "варёз"
Turbo Pascal Download
Но ссылка битая или заблокированная для России под санкциями.
Попробуй скачать с VPN или мой вариант.
Тот же Oracle не даёт качать Java, но можно скачать с русского зеркала.
Так что, вам шашечки или ехать?
Или попросите НЛО лицензировать вашу копию Turbo Pascal.

Цитата Сообщение от sqltd1 Посмотреть сообщение
написали "Мамой клянусь, братан."
Не спеши, маму пожалей...
0
352 / 315 / 83
Регистрация: 17.04.2022
Сообщений: 1,028
Записей в блоге: 8
12.10.2025, 11:28
Ludwig Valentin,

Вы приводите ссылки для скачивание с непонятных сайтов, статус которых мягко выражаясь непонятен.

Если на заборе написано "Ludwig", то это совсем не означает, что за забором Бетховен.
0
Нарушитель
169 / 285 / 26
Регистрация: 11.08.2022
Сообщений: 3,579
12.10.2025, 11:56
Цитата Сообщение от sqltd1 Посмотреть сообщение
Вы приводите ссылки для скачивание с непонятных сайтов, статус которых мягко выражаясь непонятен.
Официально вас заблокируют - санкции Запада за войну с Украиной.

Цитата Сообщение от sqltd1 Посмотреть сообщение
Если на заборе написано "Ludwig", то это совсем не означает, что за забором Бетховен.
Приколист. Бетховен - мегастар. А я и не претендую.
0
0 / 0 / 0
Регистрация: 13.07.2019
Сообщений: 5
12.10.2025, 12:21  [ТС]
Ludwig Valentin, видимо вы не внимательно прочитали заголовок моего поста и абсолютно незнакомы с Turbo Pascal и в частности с версией 5.5. Интерес к Free Pascal вызван прежде всего из-за возможности выбора модели памяти компилируемого проекта. Но так как в IDE FreePascal не была реализована возможность изменения такого параметра при компиляции, дальнейшее применение этой платформы теряет интерес. Да и из командной сроки мне так и не удалось собрать EXE-ик, линкер постоянно ругался ошибкой.
Что касается самой версии 5.5, то лучше использовать 7.1. К ней есть вполне развитая оконная библиотека Turbo Vision и графический ее аналог - GraphVision. Кроме того последняя версия Паскаля от Борлэнда значительно развита в самом плане языка программирования, что также является значительным плюсом.
0
Нарушитель
169 / 285 / 26
Регистрация: 11.08.2022
Сообщений: 3,579
12.10.2025, 18:39
Цитата Сообщение от Dave_Murey Посмотреть сообщение
абсолютно незнакомы с Turbo Pascal
Ну как же, ещё когда учился в университете, писал на Object Pascal программки.

Цитата Сообщение от Dave_Murey Посмотреть сообщение
Интерес к Free Pascal вызван прежде всего из-за возможности выбора модели памяти компилируемого проекта.
Это всё в защищённом режиме процессора. А в TP для 8086 - 64K стек (stack), 64K куча (heap). Или несколько сегментов отведённых под кучу. И far вызовы.

Цитата Сообщение от Dave_Murey Посмотреть сообщение
Что касается самой версии 5.5, то лучше использовать 7.1. К ней есть вполне развитая оконная библиотека Turbo Vision и графический ее аналог - GraphVision. Кроме того последняя версия Паскаля от Борлэнда значительно развита в самом плане языка программирования, что также является значительным плюсом.
Её Borland (7.1) официально не разрешал использовать.
Но люди выложили.
Turbo Vision - отличная оконная система для DOS.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,157
Записей в блоге: 1
13.10.2025, 18:42
Цитата Сообщение от Ludwig Valentin Посмотреть сообщение
Насчёт лицензии надо ещё уточнить.
Ну тут все просто:
https://web.archive.org/web/20... icle/20803
http://edn.embarcadero.com/article/20803
These historical files are provided to the Borland community free of charge. They may be downloaded and used "as is" for personal use only. No developer support is provided. Each individual product contains copyright notices that are still in force. These files may not be made available via the Internet or any hard copy media (e.g. diskette, CDROM). We make no claims about Year 2000 compatibility for our antique software. If you have technical questions, you should ask the questions on our Internet newsgroups (there may be someone who remembers these old tools).
Строго говоря, кому-либо распространять его они не разрешали, хотя и разрешили у себя скачивать и пользоваться бесплатно ;-)

Тем не менее, для целей автора он не годится (поддерживает единственную модель памяти -- compact).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.10.2025, 18:42
Помогаю со студенческими работами здесь

Компиляция и запуск программ для DOS в 32/64bit Windows
И так,Здравствуйте и начнем сразу к делу.Как мне компилировать 16 раз. программы на 64 раз. Windows 10. Скачал TASM но он не от Borland...

Компиляция программы в C# под MS DOS
Опытные пользователи и боги кодинга (ну или просто знающие люди) Подскажите, пожалуйста, есть ли возможность компиляции программы в C# под...

Компиляция программ под Linux
Вечер добрый. Ребята подскажите возможно ли в Embarcadero XE4 писать программы под *unix? Если возможно, то приведите пожалуйста...

Написание программ в среде FASM под MS-DOS
Программа, написанная под MS-DOS отказывается запускаться на win7x64, очень хочется именно из-под DOS т.к win32-64 нагромождены...

Компиляция программ под Windows XP SP3
Использую Visual Studio 2017 Enterprise. Возникла нужда в компиляции простого консольного приложения. В свойствах проекта я выбирал:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru