мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версияСледующая версия справа и слева
asm:second3 [03/03/2011 16:57] arabusovasm:second3 [03/03/2011 16:58] arabusov
Строка 4: Строка 4:
 Данный способ передачи параметров используется в языках программирования Си, Си++, Пролог и других. Этот метод противопоставлен методу языка Паскаль, поэтому связка asm-pascal будет выглядеть по-другому! Данный способ передачи параметров используется в языках программирования Си, Си++, Пролог и других. Этот метод противопоставлен методу языка Паскаль, поэтому связка asm-pascal будет выглядеть по-другому!
  
-Итак, если мы определим функцию в Си<code=c>int foo (int a,int b,int c,int d)</code>то при вызове функции выполнятся следующие машинные инструкции:+Итак, если мы определим функцию в Си<code=c>int foo (int a,int b,int c,int d);</code>то при вызове функции выполнятся следующие машинные инструкции:
 <code=asm> push d <code=asm> push d
  push c  push c
  push b  push b
  push a  push a
- call foo+ call _foo
  add sp,8 ;Освобождение стека осуществляется автоматически!</code>  add sp,8 ;Освобождение стека осуществляется автоматически!</code>
 При этом для правильного использования переданных параметров процедура //foo// может выглядеть так: При этом для правильного использования переданных параметров процедура //foo// может выглядеть так: