RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Тут надо определиться :)


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Юрий Пронякин
To : Igor Vaskov
Subj : Тут надо определиться :)

> > 1. Уже названный интерпретатор (эмулятор).
>
> Пока из всего вышесказанного мне кажется этот способ наиболее универсальным.

Бесспорно.

> > 2. Загрузчик LX-файлов может иметь встроенный декомпилятор и в процессе загрузки переводить 16-разрядные объекты в соответствующий 32-разрядный код.
>
> В общем случае, 16-и разрядный сегмент есть не только в загрузчике.

Не понял про загрузчик. 16-битные фрагменты (объекты) есть практически в каждом LX-файле.

> Хорошо, а если я в программе пишу ассемблерную вставку на 16-и битном ассемблере?

Можно, конечно. Только никто в здравом уме для своей 32-разрядной программы писать на ассемблере 16-разрядный кусок не станет. Потому как вызов его из 32-разрядного кода - процедура нетривиальная.

> Да и все компиляторы, хоть их и не много не охватишь. Кто то да останется незамеченным.

Думаю, как раз наоборот. Даже десяток разных мы вряд ли наберём. А на случай обнаружения чего-то неизвестного - система отказывается запускать такую программу с выдачей соответствующей диагностики, после чего файл может быть послан разработчикая ядра для изучения и обновления загрузчика.

Причём эти два подхода можно скомбинировать: кусок известного типа - применяем второй вариант, неизвестного - первый (интерпретируем).

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

Кстати, отдельная тема дл яразмышления: а действительно ли их - "большое количество"? Попробуй посчитать, сколько процентов из тех программ, которыми ты пользуешься, 16-битные, и действительно ли у них нет 32-битной замены.

Thu 07 Jun 2007 17:32 Mozilla/5.0 (OS/2; U; Warp 4.5; ru-RU; rv:1.7.12) Gecko/2005




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.