|
11 / 11 / 0
Регистрация: 11.10.2017
Сообщений: 47
|
|
Создать оверлейный модуль23.04.2020, 15:34. Показов 3496. Ответов 3
Всем доброго времени суток!! Помогите пожалуйста разобраться. Сделал программу (.exe), который поочередно подготавливает место и вызывает оверлейные модули с помощью строки, в которой находится путь к ним. По условию "Оверлейный сегмент не является загрузочным модулем типов ".com" или ".exe". Он представляет собой кодовые сегмент, который оформляется в ассемблере как функция с точкой входа по адресу 0 и возврат осуществляется командой retf. Это необходимо сделать, потому что возврат управления должен быть осуществлен в программу, выполняющую оверлейный сегмент. Если использовать функции выхода 4Ch прерывания int 21h, то программа закончит свою работу."
Объясните пожалуйста какое расширение они должны иметь, и как тогда их компилировать?
0
|
|
| 23.04.2020, 15:34 | |
|
Ответы с готовыми решениями:
3
Создать модуль и создать программу, которая будет использовать этот же модуль Создать модуль DLL-модуль с классом, позволяющим запускать внешнюю программу Создать модуль, и программу которая присоед-ет модуль и выдает подпрограммы раз за разом |
|
Модератор
|
||||||
| 24.04.2020, 01:14 | ||||||
|
Думаю, что оверлеи похожи на com, только
org 0По сути - оверлей - всего лишь подгружаемый сегмент с кодами процедур. Добавлено через 16 минут Ещё, у меня возникало ощущение, что "оверлей" - скорее идея, чем законченный механизм средствами операционной системы. Фирма Borland предлагала собственный монитор оверлеев с собственной структурой файлов ovr. Clipper - свою реализацию для *.pgm. То, что предлагает DOS - просто "голый" сегмент кода, загружаемый по запросу программы. Добавлено через 6 минут Компилировать - как бинарный файл, как файл драйвера sys, как загрузочный сектор Для masm
0
|
||||||
|
Модератор
|
||
| 24.04.2020, 22:21 | ||
|
В книге
Р.Данкан. Профессиональная работа в MS-DOS Ray Duncan. Advanced MS-DOS Programming в главе 12
1
|
||
|
Модератор
|
||||||||||||||||
| 26.04.2020, 23:42 | ||||||||||||||||
|
Пример рабочей минимальной тестовой программы для демонстрации вызова оверлея. Программа типа DOS exe, оверлей типа DOS com, компилятор TASM Структура основной программы 1. освободить память, которая вся занята текущей программой 2. распределить память для оверлея 3. загрузить оверлей 4. выполнить оверлей 5. освободить память, выделенную оверлею При использовании TASM не получается простыми средствами получить образ программы со смещением от 0, а не 100h. Поэтому при обращении к данным вычитал значение этого смещения 100h. Возможно, будет работоспособен вариант компиляции оверлея в exe и преобразование в бинарный образ утилитой exe2bin. Применение компиляторов masm, fasm или nasm позволяет обойтись без лишних трюков в коде. За основу программы взят пример 12.6 из Р.Данкан. Профессиональная работа в MS-DOS. Изменения: - добавлено освобождение памяти в начале программы - добавлено освобождение памяти, выделенной под оверлей - добавлены диагностические сообщения при ошибках main.asm Кликните здесь для просмотра всего текста
Программа оверлей. При вызове выводит приветствие и возвращает управление вызвавшему родительскому коду. Из-за особенностей компоновщика TLINK, не позволяющего получить бинарный образ программы со смещением отличным от 100h, приходится использовать трюки в коде - вычитать смещение 100h из адреса переменной. overlay.asm Кликните здесь для просмотра всего текста
Пакетный файл для компиляции проекта - вызывающей программы и оверлея. Для предотвращения самостоятельного запуска оверлея, он переименовывается - расширение com заменяется на ovl. overlay.bat Кликните здесь для просмотра всего текста
0
|
||||||||||||||||
| 26.04.2020, 23:42 | |
|
Помогаю со студенческими работами здесь
4
Создать модуль и программу, которая будет тестировать модуль
Создать модуль Создать модуль Создать модуль Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 05.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
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|