Другие языки программирования и технологии

Вопрос из разряда компиляторов. На С++ написан код, генерирующий машинный код из команд на языке ассемблер.

AO
Aleksandr Onishuk
2 433
Ассемблерный != машинный код.

Никита Данилов, здесь мало что зависит от С/С++ ,дело в ОС и архитектуре процессора. Например, на Линуксе под х86, для входа в режим виртуального х86 есть системный вызов вм86, твою платформу я не знаю. Могу лишь только сказать, что из 32/64-битного защищенного режима напрямую 16-битный код выполнять нельзя.

>ПРобовал также писать на 16 разрядном си. но он не генерирует переходы в сегмент данных.
Фар-указатели пробовал использовать?
АП
Андрей Прокопенко
5 079
Лучший ответ
С++ код компилируется в ассемблерный, который выполняется процессором. Ну, ассемблер тоже переводится в послед-ть 0 и 1, если ты об этом, но это несущественно. С++ код - т. е. , допустим, приложение или библиотека, может компилироваться как 32 или как 64 разрядный в зав-ти от флагом компиляции. При запуске полученного ехе-файла ОС записывает его код в оперативку и выполняет. Сама. Как то так в двух словах. И? Я не понимаю что делаешь конкретно ты, зачем и какими средствами. Что за 16-ти разрядный код? В чем это выражается конкретно? В размере переменных? флагах компиляции? Теоретически 16 разрядный код можно запустить на 32 разрядном проце, но впервые слышу о подобной надобности. А вживую компиляторов и программ под 16-ти битные процы я вообще не видел и не знаю. Они когда были?... лет 30 назад? )
В общем вопрос не ясен.
VS
Valeriei Shiridonov
11 177
Здорово. А где вопрос?