sfd
Функции в ассемблере. Передача параметров через регистры в 64-битовых системах (книга)
На канале Old Programmer продолжаю публиковать книгу о программирование на языке ассемблера в операционной системе Linux. Параграф 2.9. Функции в ассемблере. Передача параметров в системах архитектуры x86-64 В предыдущем параграфе 2.8 мы рассматривали передачу параметров в функцию по средством стека. Такой подход преимущественно использовался в старых 32-битовых системах. Но надо сказать, что протоколы передачи были разные. Единого подхода не было. Даже передачи через стек могли отличаться, например последовательностью параметров в стеке...
Универсальный компилятор
Как известно, сейчас существует колоссальное количество языков программирования (C++, C#, Java, JavaScript, Паскаль, Ассемблер, Бейсик, Питон, Перл, PHP, Dbase, Clipper, Cobol, Fortran, Пролог, Forth, Lisp...). Большинство из них используется до сих пор, хотя некоторые уже прилично устарели, да ещё и постоянно появляются новые. При этом внутри многих языков программирования также существует очень сильная разница в реализации - Borland C++ отличается от Visual C++, стандартная библиотека C++ для Windows отличается от библиотеки для C++ для Linux, C++ для 64-битных систем отличается от C++ для 32-битных...