вопрос писал(а):
oleg писал(а):
вопрос писал(а):
Угу, но эти соглашения одни и те же для всех без исключения компиляторов СИ (а их немало!) И узнать их довольно легко. они включены в стандарт. В стандарт Форта входит где находится в-на стека данных и в-на стека возвратов?
Покажи мне, где в стандарте си или си++ указано распределение регистров!
Насчет все без исключения тоже утверждение сомнительное очень.
Какая разница где находится стек возвратов? А где стек данных?
Где в стандарте - не скажу, хотя язык предполагает, НАПРИМЕР, ключевые слова ( stdcall ... ), которые явно входят в какой-то стандарт, возможно не языковой, ну так распространённый.
вот наиболее вразумительная статья из тех, что нашлись быстро
http://www.softmos.com/lyosha/Articles/ ... rrier.htmlпо крайней мере там есть слова:
"Изложенный ниже материал относится главным образом к «чистому C». Особенности C++ оговорены отдельно. Лично я использую Microsoft Visual C++, однако практически всё нижеизложенное входит в стандарт языка и относится в равной степени ко всем компиляторам: MS Visual, Borland, Watcom, Intel, GNUсному и прочим С. "
Прекрасно, вернемся сначала к поднятому тобой вопросу:
вопрос писал(а):
Вот именно тебе нужно знать, как устроена форт-вм, а при написании программ на СИ + АСС-Р нужно знать ТОЛЬКО Си и Ассемблер и не нужно знать никаких машин или устройства компиляторов (именно это и имею ввиду)
Я так понимаю, что все-таки необходимо знать, как все устроено в том же Си
К тому же стандарт все-таки не предусматривает распределения регистров, уже хотя бы потому, что компилятор си может работать не только на ix86 платформе. И распределение регистров внутри программы скомпилированной на сях тоже дело достаточно интимное
То, что при опускании на уровень реализации Форт-ВМ необходимо знать как устроена эта самая ВМ нет ничего необычного или же сложного, особенно, если исходные тексты этой самой ФВМ открыты.