|
|
  |
Можно ли писать в MS VC++ для "голого" x86 ?, Т.е. можно ли сгенерить код, который не требует наличия установленной |
|
|
|
Oct 11 2008, 21:28
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Цитата(Николай Иванович Приходько @ Oct 12 2008, 00:59)  Можно ли писать в MS VC++ для "голого" x86 ? Т.е. можно ли сгенерить код, который не требует наличия установленной ОСи на компе? "голый" x86 исполняет какой код (16-и или 32-х разрядный)? Начните с этого, сопоставьте с тем, какой код генерирует MS VC++, и сделайте выводы. Хотя при этом у Вас, конечно же, есть возможность из объектного файла сделать двоичный файл с "чистым" кодом и данными, вот только что Вы с ним дальше делать будете - это большой вопрос.
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Oct 11 2008, 22:11
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Цитата(DpInRock @ Oct 12 2008, 01:58)  Для MSDOS - легко. Это не есть операционная система. Все, что вы от нее возмете - это способность загружать ваш файл на исполнение.
Далее - вы полный хозяин компа. Правильно, но MS-DOS загружает на исполнение 16-и разрядные приложения, которые потом, если им это очень нужно, могут самостоятельно перейти в защищённый (32-х разрядный) режим, в котором они сами будут выбирать, как исполнять код в том или ином сегменте. Это определяется соответствующим битом в дескрипторе сегмента кода: "Segment Size Bit: When the descriptor entry describes a code segment, this bit is used to specify the default length of operands and addresses. When the bit is set, the processor assumes a 32-bit segment. When the bit is clear, a 16-bit segment is assumed." Каким образом Вы хотите заставить MS VC++ генерировать 16-и разрядный код, который необходим для начального запуска приложения под MS-DOS? Т.е. задача проста - сделать .com-файл с помощью MS VC++, вопрос - как?
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Oct 12 2008, 07:23
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Цитата(Sergei_Ilchenko @ Oct 12 2008, 10:58)  Могу ошибаться, но этот конвертер сформирует COM только в случае специальным образом заготовленного EXE. Один сегмент для кода, данных, стека e.t.c Вы не ошибаетесь. Все именно так.  А кроме того, MSVC делает NE/PE exe-файлы, с которыми, думаю, exe2com тем более не сможет справиться.
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|