|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.06.2014, 12:22 | #1 |
Пользователь
Регистрация: 20.05.2014
Сообщений: 29
|
Какие регистры обязаны сохранять АРІ ф-ции?
Собственно вопрос в названии))
Отладчик показывает, что обычно сохраняются регистры EBX,EBP,ESI,EDI, но является ли это правилом? т.е. можно ли на это полагаться в программировании? |
04.06.2014, 12:28 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А ты почитай про stdcall и cdecl - там описано какие регистры задействованы.
I'm learning to live...
|
04.06.2014, 14:17 | #3 |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,834
|
Ответ на вопрос зависит от языка программирования, но в большинстве случаев без последствий можно портить только EAX, ECX и EDX. В C++ используется соглашение thiscall, в нем this передается в ECX, но внутри метода его портить можно.
В разработке: воспроизводственный контур ИТ
|
04.06.2014, 15:02 | #4 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
если SSE используется то и SSE регистры нужно сохранять. (http://programmersforum.ru/showpost....28&postcount=8)
|
06.06.2014, 19:15 | #5 |
Пользователь
Регистрация: 20.05.2014
Сообщений: 29
|
Всем спасибо, разобрался)
Должны сохраняться EBX,EBP,ESI,EDI,ESP Вот ещё форум по теме, если вдруг кому-то надо http://www.wasm.ru/forum/viewtopic.php?pid=431502 |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ф-ции(с++) | Шерлок | Помощь студентам | 0 | 04.12.2012 13:54 |
таблица ф-ции | tanya61043 | Фриланс | 2 | 27.04.2012 09:27 |
Параметры ф-ции | ForzaJuve | Общие вопросы C/C++ | 12 | 14.10.2010 09:14 |
Регистры | Elm0 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 13 | 10.02.2008 19:49 |