MetalliC, не неси чушь, не сбивай с толку народ.
передача аргументов в функции
Понятия "аргумент" и "функция" как таковые существует только на уровне языка. При конвертации кода в ассемблер все аргументы становятся обычными значениями, которые кладутся в стек, а функции становятся вызываемыми затем процедурами.
резервирование локальных переменных
WTF? Ты сам хоть понял, что говоришь?
Возможно, ты имеешь ввиду резервирование места под локальные переменные. Но это уже зависит от компилятора/среды, а не от языка.
обращение к ним - всё это делается на стеке, отсутствие проверок указателей и типов, и т.п.
Тут у тебя вообще каша какая-то. Нет на уровня ассемблера никаких проверок. Абсолютно. Есть значения и операции над ними. И из какого языка бы ты не компилировал, всё будет выглядеть примерно одинаково.
скомпилённый паскаль выглядит совершенно по-другому.
Обоснуй или не неси что попало.
Да, он будет отличаться. Но не более, чем код C/C++, скомпилированный на одном компиляторе, будет отличаться от того же кода C/C++, скомпилированного другим компилятором. Сути это не меняет абсолютно, только особенности реализации некоторых моментов у всех разные. Например, у Паскаля обратный порядок укладки аргументов в стек, но это при необходимости лечится директивой stdcall (у Delphi, по крайней мере).
А еще можно сменить метод вызова функций и тогда, все что ты написал будет совсем подругому
Что ты подразумеваешь под методом вызова функций? Порядок укладки аргументов в стек? И что же тогда будет по-другому?
Вывод: учите матчасть, а потом ведите дискуссии.